From 5e4b459b214e262c6f32187ddd2e1c34553451ba Mon Sep 17 00:00:00 2001 From: MoonTestUse1 Date: Tue, 24 Dec 2024 02:32:44 +0600 Subject: [PATCH] cha25 --- docker-compose.yml | 32 +++++++++++++++++++++++++------- docker/backend/Dockerfile | 9 ++++++--- docker/nginx/conf.d/default.conf | 17 +---------------- 3 files changed, 32 insertions(+), 26 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 721baf8..c628694 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,19 +3,20 @@ version: '3.8' services: frontend: build: - context: . - dockerfile: docker/frontend/Dockerfile + context: ./frontend + dockerfile: ../docker/frontend/Dockerfile container_name: support-frontend restart: unless-stopped - ports: - - "80:80" + volumes: + - ./frontend:/app + - /app/node_modules depends_on: - backend backend: build: - context: . - dockerfile: docker/backend/Dockerfile + context: ./backend + dockerfile: ../docker/backend/Dockerfile container_name: support-backend restart: unless-stopped environment: @@ -24,6 +25,23 @@ services: volumes: - ./backend:/app - sqlite_data:/app/instance + ports: + - "8000:8000" + + nginx: + image: nginx:alpine + container_name: support-nginx + restart: unless-stopped + ports: + - "80:80" + volumes: + - ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro + - ./docker/nginx/conf.d:/etc/nginx/conf.d:ro + - frontend_build:/usr/share/nginx/html + depends_on: + - frontend + - backend volumes: - sqlite_data: \ No newline at end of file + sqlite_data: + frontend_build: \ No newline at end of file diff --git a/docker/backend/Dockerfile b/docker/backend/Dockerfile index 3c7aeb0..4319079 100644 --- a/docker/backend/Dockerfile +++ b/docker/backend/Dockerfile @@ -7,11 +7,14 @@ RUN apt-get update && apt-get install -y \ gcc \ && rm -rf /var/lib/apt/lists/* -# Install Python dependencies -COPY backend/requirements.txt . +# Copy requirements first to leverage Docker cache +COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Copy application code -COPY backend/ . +COPY . . + +# Expose the port the app runs on +EXPOSE 8000 CMD ["python", "run.py"] \ No newline at end of file diff --git a/docker/nginx/conf.d/default.conf b/docker/nginx/conf.d/default.conf index 9d57143..7d6ed2e 100644 --- a/docker/nginx/conf.d/default.conf +++ b/docker/nginx/conf.d/default.conf @@ -1,10 +1,3 @@ -# Upstream backend servers -upstream backend { - server backend:8080; # Changed from 8000 to 8080 to match FastAPI port - keepalive 32; -} - -# Main server configuration server { listen 80; server_name localhost; @@ -21,9 +14,7 @@ server { # Backend API proxy location /api/ { - proxy_pass http://backend/api/; # Added /api/ to ensure proper path rewriting - - # Proxy headers + proxy_pass http://backend:8000/api/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; @@ -38,10 +29,4 @@ server { proxy_send_timeout 60s; proxy_read_timeout 60s; } - - # Security headers - add_header X-Frame-Options "SAMEORIGIN" always; - add_header X-XSS-Protection "1; mode=block" always; - add_header X-Content-Type-Options "nosniff" always; - add_header Referrer-Policy "no-referrer-when-downgrade" always; } \ No newline at end of file