diff options
| author | Paweł Bernaciak <pawelbernaciak@zohomail.eu> | 2023-10-29 16:07:04 +0100 |
|---|---|---|
| committer | Paweł Bernaciak <pawelbernaciak@zohomail.eu> | 2023-10-29 16:07:04 +0100 |
| commit | b7e09de3cb8709e5456b996984b5de8161202ef6 (patch) | |
| tree | 7fc0647a9b34b42c760c1a125c90fa221a6578bf /frontend | |
| parent | eb943058e89d38278393bc9da8d9df551be05a30 (diff) | |
Dockerize app for deployment and development
Diffstat (limited to 'frontend')
| -rw-r--r-- | frontend/Dockerfile | 25 | ||||
| -rw-r--r-- | frontend/dev.Dockerfile | 9 | ||||
| -rw-r--r-- | frontend/nginx.conf | 12 | ||||
| -rw-r--r-- | frontend/vite.config.ts | 4 |
4 files changed, 49 insertions, 1 deletions
diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..0b93a16 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,25 @@ +FROM node:21-alpine as builder + +WORKDIR /app + +COPY package.json ./ +COPY package-lock.json ./ +COPY src ./src/ +COPY index.html ./ +COPY public ./ +COPY .env ./ +COPY postcss.config.js ./ +COPY tailwind.config.js ./ +COPY tsconfig.json ./ +COPY tsconfig.node.json ./ +COPY vite.config.ts ./ + +RUN npm ci +RUN npm run build + +FROM nginx:latest + +WORKDIR /app + +COPY --from=builder /app/dist ./ +COPY ./nginx.conf /etc/nginx/conf.d/default.conf
\ No newline at end of file diff --git a/frontend/dev.Dockerfile b/frontend/dev.Dockerfile new file mode 100644 index 0000000..3afc332 --- /dev/null +++ b/frontend/dev.Dockerfile @@ -0,0 +1,9 @@ +FROM node:21-alpine + +WORKDIR /app + +COPY package.json ./ +COPY package-lock.json ./ + +RUN npm install +CMD ["npm", "run", "dev"]
\ No newline at end of file diff --git a/frontend/nginx.conf b/frontend/nginx.conf new file mode 100644 index 0000000..6599254 --- /dev/null +++ b/frontend/nginx.conf @@ -0,0 +1,12 @@ +server { + listen 80; + location / { + root /app; + try_files $uri /index.html; + } + + location /api { + rewrite /api(.*) $1 break; + proxy_pass http://backend; + } +}
\ No newline at end of file diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index dd8afab..e24c640 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -4,9 +4,11 @@ import react from '@vitejs/plugin-react' // https://vitejs.dev/config/ export default defineConfig({ server: { + port: 80, + host: true, proxy: { '/api': { - target: 'http://localhost:5102', + target: 'http://backend:5102/', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, ''), } |
