EvalueTonSavoir/docker-compose.local.yaml

133 lines
2.9 KiB
YAML
Raw Normal View History

version: '3'
services:
frontend:
2024-12-07 14:58:15 -05:00
container_name: frontend
build:
context: ./client
dockerfile: Dockerfile
ports:
- "5173:5173"
networks:
- quiz_network
restart: always
2024-12-07 14:58:15 -05:00
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:$${PORT} || exit 1"]
interval: 5s
timeout: 10s
start_period: 5s
retries: 6
2024-12-06 21:01:23 -05:00
backend:
build:
context: ./server
dockerfile: Dockerfile
container_name: backend
2024-12-07 14:58:15 -05:00
networks:
- quiz_network
ports:
- "3000:3000"
2024-11-10 23:41:03 -05:00
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
PORT: 3000
MONGO_URI: "mongodb://mongo:27017/evaluetonsavoir"
MONGO_DATABASE: evaluetonsavoir
EMAIL_SERVICE: gmail
SENDER_EMAIL: infoevaluetonsavoir@gmail.com
EMAIL_PSW: 'vvml wmfr dkzb vjzb'
JWT_SECRET: haQdgd2jp09qb897GeBZyJetC8ECSpbFJe
2024-12-07 14:58:15 -05:00
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:$${PORT}/health || exit 1"]
interval: 5s
timeout: 10s
start_period: 5s
retries: 6
quizroom: # Forces image to update
build:
context: ./quizRoom
dockerfile: Dockerfile
container_name: quizroom
ports:
- "4500:4500"
networks:
- quiz_network
restart: always
2024-12-07 14:58:15 -05:00
healthcheck:
test: ["CMD", "/usr/src/app/healthcheck.sh"]
interval: 5s
timeout: 10s
start_period: 5s
retries: 6
nginx:
build:
context: ./nginx
dockerfile: Dockerfile
container_name: nginx
ports:
- "80:80"
depends_on:
2024-12-06 21:01:23 -05:00
frontend:
condition: service_healthy
backend:
condition: service_healthy
networks:
- quiz_network
restart: always
2024-12-06 18:19:23 -05:00
#environment:
# - PORT=8000
# - FRONTEND_HOST=frontend
# - FRONTEND_PORT=5173
# - BACKEND_HOST=backend
# - BACKEND_PORT=3000
2024-12-06 21:01:23 -05:00
healthcheck:
test: ["CMD-SHELL", "wget --spider http://0.0.0.0:${PORT}/health || exit 1"]
interval: 5s
timeout: 10s
start_period: 5s
retries: 6
mongo:
image: mongo
container_name: mongo
ports:
- "27017:27017"
tty: true
volumes:
- mongodb_data:/data/db
networks:
- quiz_network
restart: always
2024-12-06 21:01:23 -05:00
healthcheck:
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
interval: 10s
timeout: 5s
retries: 3
start_period: 20s
watchtower:
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=America/Montreal
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_DEBUG=true
- WATCHTOWER_INCLUDE_RESTARTING=true
- WATCHTOWER_SCHEDULE=0 0 5 * * * # At 5 am everyday
networks:
- quiz_network
restart: always
networks:
quiz_network:
driver: bridge
volumes:
mongodb_data:
external: false