From 43675ff4b23979710feff959e59655333727dfc8 Mon Sep 17 00:00:00 2001 From: manus-admin Date: Sun, 31 May 2026 22:01:26 +0200 Subject: [PATCH] Initial commit - import depuis serveur de production --- .gitignore | 6 +++++ docker-compose.yml | 56 ++++++++++++++++++++++++++++++++++++++++++++++ src | 1 + 3 files changed, 63 insertions(+) create mode 100644 .gitignore create mode 100644 docker-compose.yml create mode 160000 src diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fbc77b6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +node_modules/ +.env +*.log +dist/ +build/ +.DS_Store diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a2c2c35 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,56 @@ +services: + app: + build: + context: ./src + dockerfile: Dockerfile + args: + VITE_APP_ID: "formation-manager-itinova" + VITE_OAUTH_PORTAL_URL: "https://manus.im" + VITE_FRONTEND_FORGE_API_URL: "" + VITE_APP_TITLE: "Gestion des Formations" + container_name: formation-manager-itinova + restart: unless-stopped + env_file: + - .env + depends_on: + formations-prod-db: + condition: service_healthy + networks: + - web + - formations-prod-internal + labels: + - "traefik.enable=true" + - "traefik.http.routers.formations-prod.rule=Host(`formations.itinova.org`)" + - "traefik.http.routers.formations-prod.entrypoints=websecure" + - "traefik.http.routers.formations-prod.tls=true" + - "traefik.http.routers.formations-prod.tls.certresolver=letsencrypt" + - "traefik.http.routers.formations-prod.service=formations-prod-svc" + - "traefik.http.services.formations-prod-svc.loadbalancer.server.port=3000" + - "traefik.docker.network=web" + formations-prod-db: + image: mysql:8.0 + container_name: formations-prod-db + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: formations_root_pass_2026_prod + MYSQL_DATABASE: itinova_formations + MYSQL_USER: formations_user + MYSQL_PASSWORD: FormationsDB2026SecureProd! + volumes: + - formations_prod_db_data:/var/lib/mysql + networks: + - formations-prod-internal + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-pformations_root_pass_2026_prod"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 30s +networks: + web: + external: true + formations-prod-internal: + driver: bridge +volumes: + formations_prod_db_data: + diff --git a/src b/src new file mode 160000 index 0000000..aaaab15 --- /dev/null +++ b/src @@ -0,0 +1 @@ +Subproject commit aaaab15ee1c87542ae67c96cc845353d8bb44f06