2025-02-21 14:48:21 -05:00
|
|
|
version: '3'
|
|
|
|
|
|
2024-10-30 23:41:55 -04:00
|
|
|
services:
|
2024-03-29 20:08:34 -04:00
|
|
|
|
|
|
|
|
frontend:
|
2025-02-21 14:48:21 -05:00
|
|
|
build:
|
|
|
|
|
context: ./client
|
|
|
|
|
dockerfile: Dockerfile
|
2024-03-29 20:08:34 -04:00
|
|
|
container_name: frontend
|
|
|
|
|
ports:
|
|
|
|
|
- "5173:5173"
|
2024-04-09 10:31:15 -04:00
|
|
|
restart: always
|
2024-03-29 20:08:34 -04:00
|
|
|
|
|
|
|
|
backend:
|
2025-02-21 14:48:21 -05:00
|
|
|
build:
|
|
|
|
|
context: ./server
|
|
|
|
|
dockerfile: Dockerfile
|
2024-03-29 20:08:34 -04:00
|
|
|
container_name: backend
|
|
|
|
|
ports:
|
|
|
|
|
- "3000:3000"
|
|
|
|
|
environment:
|
|
|
|
|
PORT: 3000
|
2024-04-05 13:40:59 -04:00
|
|
|
MONGO_URI: "mongodb://mongo:27017/evaluetonsavoir"
|
2024-03-29 20:08:34 -04:00
|
|
|
MONGO_DATABASE: evaluetonsavoir
|
|
|
|
|
EMAIL_SERVICE: gmail
|
|
|
|
|
SENDER_EMAIL: infoevaluetonsavoir@gmail.com
|
|
|
|
|
EMAIL_PSW: 'vvml wmfr dkzb vjzb'
|
|
|
|
|
JWT_SECRET: haQdgd2jp09qb897GeBZyJetC8ECSpbFJe
|
2025-02-21 14:48:21 -05:00
|
|
|
SESSION_Secret: 'lookMomImQuizzing'
|
|
|
|
|
SITE_URL: http://localhost
|
|
|
|
|
FRONTEND_PORT: 5173
|
|
|
|
|
USE_PORTS: false
|
|
|
|
|
AUTHENTICATED_ROOMS: false
|
|
|
|
|
volumes:
|
|
|
|
|
- ./server/auth_config.json:/usr/src/app/serveur/config/auth_config.json
|
2024-03-29 20:08:34 -04:00
|
|
|
depends_on:
|
|
|
|
|
- mongo
|
2025-02-21 14:48:21 -05:00
|
|
|
- keycloak
|
2024-04-09 10:31:15 -04:00
|
|
|
restart: always
|
2024-03-29 20:08:34 -04:00
|
|
|
|
2024-04-05 13:40:59 -04:00
|
|
|
# Ce conteneur sert de routeur pour assurer le bon fonctionnement de l'application
|
2024-03-29 20:08:34 -04:00
|
|
|
nginx:
|
2024-09-05 11:13:30 -04:00
|
|
|
image: fuhrmanator/evaluetonsavoir-routeur:latest
|
2024-03-29 20:08:34 -04:00
|
|
|
container_name: nginx
|
|
|
|
|
ports:
|
|
|
|
|
- "80:80"
|
|
|
|
|
depends_on:
|
|
|
|
|
- backend
|
|
|
|
|
- frontend
|
2024-04-09 10:31:15 -04:00
|
|
|
restart: always
|
2024-03-29 20:08:34 -04:00
|
|
|
|
2024-04-05 13:40:59 -04:00
|
|
|
# Ce conteneur est la base de données principale pour l'application
|
2024-03-29 20:08:34 -04:00
|
|
|
mongo:
|
|
|
|
|
image: mongo
|
|
|
|
|
container_name: mongo
|
|
|
|
|
ports:
|
|
|
|
|
- "27017:27017"
|
|
|
|
|
tty: true
|
|
|
|
|
volumes:
|
|
|
|
|
- mongodb_data:/data/db
|
2024-04-09 10:31:15 -04:00
|
|
|
restart: always
|
2024-03-29 20:08:34 -04:00
|
|
|
|
2025-01-17 23:00:48 -05:00
|
|
|
# Ce conteneur cherche des mises à jour à 5h du matin
|
2024-04-05 13:40:59 -04:00
|
|
|
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
|
2024-04-09 12:50:49 -04:00
|
|
|
- WATCHTOWER_SCHEDULE=0 0 5 * * * # At 5 am everyday
|
2024-04-09 10:31:15 -04:00
|
|
|
restart: always
|
2024-04-05 13:40:59 -04:00
|
|
|
|
2025-01-17 23:00:48 -05:00
|
|
|
watchtower-once:
|
|
|
|
|
image: containrrr/watchtower
|
|
|
|
|
container_name: watchtower-once
|
|
|
|
|
volumes:
|
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
|
command: --run-once
|
|
|
|
|
environment:
|
|
|
|
|
- TZ=America/Montreal
|
|
|
|
|
- WATCHTOWER_CLEANUP=true
|
|
|
|
|
- WATCHTOWER_DEBUG=true
|
|
|
|
|
- WATCHTOWER_INCLUDE_RESTARTING=true
|
|
|
|
|
restart: "no"
|
|
|
|
|
|
2025-02-21 14:48:21 -05:00
|
|
|
keycloak:
|
|
|
|
|
container_name: keycloak
|
|
|
|
|
image: quay.io/keycloak/keycloak:latest
|
|
|
|
|
environment:
|
|
|
|
|
KEYCLOAK_ADMIN: admin
|
|
|
|
|
KEYCLOAK_ADMIN_PASSWORD: admin123
|
|
|
|
|
KC_HEALTH_ENABLED: 'true'
|
|
|
|
|
KC_FEATURES: preview
|
|
|
|
|
ports:
|
|
|
|
|
- "8080:8080"
|
|
|
|
|
volumes:
|
|
|
|
|
- ./oauth-tester/config.json:/opt/keycloak/data/import/realm-config.json
|
|
|
|
|
command:
|
|
|
|
|
- start-dev
|
|
|
|
|
- --import-realm
|
|
|
|
|
- --hostname-strict=false
|
|
|
|
|
|
2024-03-29 20:08:34 -04:00
|
|
|
volumes:
|
|
|
|
|
mongodb_data:
|
|
|
|
|
external: false
|