64 lines
1.4 KiB
YAML
64 lines
1.4 KiB
YAML
services:
|
|
nginx:
|
|
build: ./nginx
|
|
networks:
|
|
- traefik-public
|
|
- internal
|
|
depends_on:
|
|
- frontend
|
|
- backend
|
|
restart: unless-stopped
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.commander.rule=Host(`commander.bussenet.ca`)"
|
|
- "traefik.http.routers.commander.entrypoints=web"
|
|
- "traefik.http.services.commander.loadbalancer.server.port=80"
|
|
frontend:
|
|
build: ./frontend
|
|
networks:
|
|
- internal
|
|
restart: unless-stopped
|
|
backend:
|
|
build: ./backend
|
|
environment:
|
|
- SECRET_KEY=${SECRET_KEY}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
|
- POSTGRES_USER=${POSTGRES_USER}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_DB=${POSTGRES_DB}
|
|
- ADMIN_EMAIL=${ADMIN_EMAIL}
|
|
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
|
|
depends_on:
|
|
- db
|
|
- cache
|
|
networks:
|
|
- internal
|
|
restart: unless-stopped
|
|
db:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
networks:
|
|
- internal
|
|
restart: unless-stopped
|
|
cache:
|
|
image: redis:7-alpine
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- internal
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
postgres_data:
|
|
redis_data:
|
|
|
|
networks:
|
|
traefik-public:
|
|
external: true
|
|
internal:
|
|
driver: bridge |