This commit is contained in:
2025-12-12 06:05:56 +05:00
parent d5787d3972
commit e6d04f986f
5 changed files with 103 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
FROM nginx
COPY .build/dev/nginx.conf /etc/nginx/conf.d/default.conf
WORKDIR /etc/nginx

30
.build/dev/nginx.conf Normal file
View File

@@ -0,0 +1,30 @@
server {
listen 80;
server_name _;
access_log /dev/stdout;
error_log /dev/stdout info;
location /api/ {
proxy_pass http://backend:8000/api/;
}
location /ws/ {
proxy_pass http://backend:8000/ws/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location / {
# In development, proxy to Vite dev server
proxy_pass http://frontend:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
}
}

View File

@@ -0,0 +1,5 @@
FROM node:24-bookworm-slim
WORKDIR /var/www/html/public
CMD npm run dev -- --host 0.0.0.0

View File

@@ -0,0 +1,7 @@
FROM python:3.11.4-slim-buster
WORKDIR /var/www/html/
COPY requirements.txt .
RUN pip install -r requirements.txt

56
compose.yml Normal file
View File

@@ -0,0 +1,56 @@
services:
python:
build:
context: .
dockerfile: .build/dev/python.Dockerfile
hostname: backend
restart: always
command: uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
volumes:
- ./:/var/www/html
env_file:
- .env
depends_on:
- postgres
node:
build:
context: .
dockerfile: .build/dev/node.Dockerfile
hostname: frontend
restart: always
volumes:
- ./:/var/www/html
env_file:
- .env
nginx:
build:
context: .
dockerfile: .build/dev/nginx.Dockerfile
hostname: nginx
restart: always
ports:
- "8000:80"
volumes:
- ./:/var/www/html
depends_on:
- python
- node
postgres:
image: postgis/postgis:15-3.3
hostname: database
restart: always
environment:
POSTGRES_USER: mapmaker
POSTGRES_PASSWORD: mapmaker
POSTGRES_DB: mapmaker
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
volumes:
postgres_data:
driver: local