Add Docker Compose deployment

- Dockerfile: Node.js 20 Alpine, single-stage build
- docker-compose.yml: backend + nginx, named volume for SQLite
- server.js: updated for Docker (env vars for PORT/DATA_DIR)
- nginx.conf: updated for Docker networking (backend hostname)
- README.md: full deployment instructions
This commit is contained in:
Ada
2026-04-06 09:04:24 -04:00
parent c283e591a4
commit c995161fa6
7 changed files with 270 additions and 0 deletions

36
deploy/docker-compose.yml Normal file
View File

@@ -0,0 +1,36 @@
services:
backend:
build:
context: .
dockerfile: Dockerfile
container_name: project-tracker-api
restart: unless-stopped
volumes:
- project-data:/app/data
environment:
- PORT=3000
- NODE_ENV=production
networks:
- project-tracker-net
nginx:
image: nginx:alpine
container_name: project-tracker-nginx
restart: unless-stopped
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
- ../frontend:/usr/share/nginx/html:ro
depends_on:
- backend
networks:
- project-tracker-net
volumes:
project-data:
name: project-tracker-data
networks:
project-tracker-net:
name: project-tracker-net