1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00
This commit is contained in:
MoonTestUse1
2024-12-24 02:32:44 +06:00
parent 800d3c4b5e
commit 5e4b459b21
3 changed files with 32 additions and 26 deletions

View File

@@ -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:
sqlite_data:
frontend_build:

View File

@@ -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"]

View File

@@ -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;
}