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:
36
deploy/docker-compose.yml
Normal file
36
deploy/docker-compose.yml
Normal 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
|
||||
Reference in New Issue
Block a user