From 3660537cd84f63bb5860882a620fe2e1f02d4e7b Mon Sep 17 00:00:00 2001 From: MoonTestUse1 Date: Tue, 24 Dec 2024 00:03:42 +0600 Subject: [PATCH] change docker --- docker-compose.yml | 30 ++++++++++++++---------------- docker/backend/Dockerfile | 9 +++------ docker/frontend/Dockerfile | 14 +++----------- docker/nginx/conf.d/default.conf | 27 ++++++--------------------- 4 files changed, 26 insertions(+), 54 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8637c27..e96788b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,37 +3,35 @@ version: '3.8' services: frontend: build: - context: . - dockerfile: docker/frontend/Dockerfile + context: ./frontend + dockerfile: Dockerfile container_name: support-frontend - restart: unless-stopped - depends_on: - - backend + volumes: + - frontend_build:/app/dist backend: build: - context: . - dockerfile: docker/backend/Dockerfile + context: ./backend + dockerfile: Dockerfile container_name: support-backend - restart: unless-stopped environment: - TELEGRAM_BOT_TOKEN=7677506032:AAHEqNUr1lIUfNVbLwaWIaPeKKShsCyz3eo - TELEGRAM_CHAT_ID=-1002037023574 - volumes: - - ./backend:/app - - sqlite_data:/app/instance + ports: + - "8000:8000" nginx: - build: - context: . - dockerfile: docker/frontend/Dockerfile + image: nginx:alpine container_name: support-nginx - restart: unless-stopped ports: - "80:80" + volumes: + - frontend_build:/usr/share/nginx/html:ro + - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro + - ./nginx/conf.d:/etc/nginx/conf.d:ro depends_on: - frontend - backend volumes: - sqlite_data: + frontend_build: diff --git a/docker/backend/Dockerfile b/docker/backend/Dockerfile index 137c317..456e40c 100644 --- a/docker/backend/Dockerfile +++ b/docker/backend/Dockerfile @@ -1,13 +1,10 @@ -# docker/backend/Dockerfile FROM python:3.11-slim WORKDIR /app -RUN apt-get update && apt-get install -y \ - gcc \ - && rm -rf /var/lib/apt/lists/* - COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt -CMD ["python", "run.py"] +COPY . . + +CMD ["uvicorn", "run.py"] diff --git a/docker/frontend/Dockerfile b/docker/frontend/Dockerfile index 745671c..9bfa652 100644 --- a/docker/frontend/Dockerfile +++ b/docker/frontend/Dockerfile @@ -1,20 +1,12 @@ -# docker/frontend/Dockerfile -FROM node:18-alpine as build +FROM node:18-alpine as builder WORKDIR /app -# Copy package files COPY package*.json ./ - -# Install dependencies RUN npm install -# Copy source code COPY . . - -# Build the application RUN npm run build -# Copy built files to nginx html directory -FROM nginx:alpine -COPY --from=build /app/dist /usr/share/nginx/html +FROM scratch +COPY --from=builder /app/dist /dist diff --git a/docker/nginx/conf.d/default.conf b/docker/nginx/conf.d/default.conf index 6c22cd1..53b1155 100644 --- a/docker/nginx/conf.d/default.conf +++ b/docker/nginx/conf.d/default.conf @@ -1,36 +1,21 @@ -# docker/nginx/conf.d/default.conf -upstream backend { - server backend:8000; -} - server { listen 80; server_name localhost; - + + root /usr/share/nginx/html; + index index.html; + location / { - root /usr/share/nginx/html; - index index.html; try_files $uri $uri/ /index.html; - - # Disable caching for index.html add_header Cache-Control "no-store, no-cache, must-revalidate"; } - + location /api/ { - proxy_pass http://backend/; + proxy_pass http://backend:8000/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; - 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; - } - - # Handle favicon.ico - location = /favicon.ico { - access_log off; - log_not_found off; } }