From bec360e7ad56a9556237bcf20576d6a229af8435 Mon Sep 17 00:00:00 2001 From: ChuXun <70203584+ChuXunYu@users.noreply.github.com> Date: Thu, 29 Jan 2026 01:08:16 +0800 Subject: [PATCH] =?UTF-8?q?docker=E2=80=94=E2=80=941?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 22 +++++++++++++++++++ .../ems-monitoring-system/.dockerignore | 5 +++++ ems-frontend/ems-monitoring-system/Dockerfile | 17 ++++++++++++++ ems-frontend/ems-monitoring-system/nginx.conf | 22 +++++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 docker-compose.yml create mode 100644 ems-frontend/ems-monitoring-system/.dockerignore create mode 100644 ems-frontend/ems-monitoring-system/Dockerfile create mode 100644 ems-frontend/ems-monitoring-system/nginx.conf diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9928c3e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,22 @@ +services: + backend: + build: + context: ./ems-backend + dockerfile: Dockerfile + ports: + - "8080:8080" + volumes: + - ./ems-backend/json-db:/app/json-db + - ./ems-backend/uploads:/app/uploads + environment: + APP_BASE_URL: http://localhost:5173 + frontend: + build: + context: ./ems-frontend/ems-monitoring-system + dockerfile: Dockerfile + args: + VITE_API_BASE_URL: /api + ports: + - "5173:80" + depends_on: + - backend diff --git a/ems-frontend/ems-monitoring-system/.dockerignore b/ems-frontend/ems-monitoring-system/.dockerignore new file mode 100644 index 0000000..76ae781 --- /dev/null +++ b/ems-frontend/ems-monitoring-system/.dockerignore @@ -0,0 +1,5 @@ +node_modules +dist +.idea +.vscode +.git diff --git a/ems-frontend/ems-monitoring-system/Dockerfile b/ems-frontend/ems-monitoring-system/Dockerfile new file mode 100644 index 0000000..44c9c8f --- /dev/null +++ b/ems-frontend/ems-monitoring-system/Dockerfile @@ -0,0 +1,17 @@ +FROM node:22-alpine AS build + +WORKDIR /app +COPY package.json package-lock.json ./ +RUN npm ci + +COPY . . +ARG VITE_API_BASE_URL=/api +ENV VITE_API_BASE_URL=$VITE_API_BASE_URL +RUN npm run build + +FROM nginx:1.27-alpine + +COPY nginx.conf /etc/nginx/conf.d/default.conf +COPY --from=build /app/dist /usr/share/nginx/html + +EXPOSE 80 diff --git a/ems-frontend/ems-monitoring-system/nginx.conf b/ems-frontend/ems-monitoring-system/nginx.conf new file mode 100644 index 0000000..d788fe9 --- /dev/null +++ b/ems-frontend/ems-monitoring-system/nginx.conf @@ -0,0 +1,22 @@ +server { + listen 80; + server_name _; + + root /usr/share/nginx/html; + index index.html; + + client_max_body_size 50m; + + location /api/ { + proxy_pass http://backend:8080/; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location / { + try_files $uri $uri/ /index.html; + } +}