From 0572c4dff60fef450b978bb8fc6c752ba0d9b806 Mon Sep 17 00:00:00 2001 From: Manus Dashboard Automation Date: Sat, 5 Sep 2026 02:25:03 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20partager=20le=20m=C3=AAme=20commit=20ent?= =?UTF-8?q?re=20recette=20et=20production?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/validate.yml | 1 + docker-compose.yml | 28 +++++++++------ src/frontend/index.html | 2 +- src/frontend/package.json | 1 + src/frontend/src/components/AddAppModal.jsx | 11 +++--- src/frontend/src/components/Sidebar.jsx | 3 +- src/frontend/src/pages/DashboardPage.jsx | 7 ++-- src/frontend/src/pages/GiteaPage.jsx | 5 +-- src/frontend/src/pages/LoginPage.jsx | 5 +-- src/frontend/src/pages/TerminalPage.jsx | 7 ++-- src/frontend/src/utils/environment.js | 39 +++++++++++++++++++++ src/frontend/test/environment.test.mjs | 27 ++++++++++++++ 12 files changed, 108 insertions(+), 28 deletions(-) create mode 100644 src/frontend/src/utils/environment.js create mode 100644 src/frontend/test/environment.test.mjs diff --git a/.gitea/workflows/validate.yml b/.gitea/workflows/validate.yml index 501d730..7d0f583 100644 --- a/.gitea/workflows/validate.yml +++ b/.gitea/workflows/validate.yml @@ -22,4 +22,5 @@ jobs: working-directory: src/frontend run: | npm ci + npm test npm run build diff --git a/docker-compose.yml b/docker-compose.yml index 1de61c9..a454dd0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,17 +9,22 @@ services: # Le dashboard doit repartir seul après un arrêt anormal du processus. restart: always mem_limit: 512m + env_file: + - .env environment: - - NODE_ENV=production - - DASHBOARD_ENV=recette - - PORT=3001 - - JWT_SECRET=manus-dashboard-jwt-secret-2026-recette - - ADMIN_USERNAME=adminItinova - - ADMIN_PASSWORD=Itinova69! - - GITEA_URL=https://git.recette.santinova-soft.org - - GITEA_USERNAME=manus-admin + - NODE_ENV=${NODE_ENV:-production} + - DASHBOARD_ENV=${DASHBOARD_ENV:-recette} + - PORT=${PORT:-3001} + - JWT_SECRET=${JWT_SECRET:?JWT_SECRET requis dans le fichier .env serveur} + - ADMIN_USERNAME=${ADMIN_USERNAME:?ADMIN_USERNAME requis dans le fichier .env serveur} + - ADMIN_PASSWORD=${ADMIN_PASSWORD:?ADMIN_PASSWORD requis dans le fichier .env serveur} + - GITEA_URL=${GITEA_URL:?GITEA_URL requis dans le fichier .env serveur} + - GITEA_USERNAME=${GITEA_USERNAME:-manus-admin} - GITEA_TOKEN=${GITEA_TOKEN:?GITEA_TOKEN requis dans le fichier .env serveur} - - GITEA_RECETTE_URL=http://gitea:3000 + - GITEA_RECETTE_URL=${GITEA_RECETTE_URL:-http://gitea:3000} + - GITEA_RECETTE_PUBLIC_URL=${GITEA_RECETTE_PUBLIC_URL:-https://git.recette.santinova-soft.org} + - GITEA_RECETTE_TOKEN=${GITEA_RECETTE_TOKEN:-} + - GITEA_PROD_URL=${GITEA_PROD_URL:-https://git.santinova-soft.org} - GITEA_TOKEN_PROD=${GITEA_TOKEN_PROD:-} - WEBHOOK_SECRET=${WEBHOOK_SECRET:?WEBHOOK_SECRET requis dans le fichier .env serveur} - IA_REFERENTIEL_URL=${IA_REFERENTIEL_URL:-https://referentiel-ia.recette.santinova-soft.org} @@ -35,12 +40,13 @@ services: - /opt/manus-deploy:/opt/manus-deploy extra_hosts: - "git.santinova-soft.org:180.149.196.138" + - "git.recette.santinova-soft.org:78.138.58.109" networks: - web labels: - "traefik.enable=true" - # Route HTTPS via dashboard.recette.santinova-soft.org - - "traefik.http.routers.manus-dashboard.rule=Host(`dashboard.recette.santinova-soft.org`)" + # Le domaine public est spécifique au serveur, mais le commit reste commun. + - "traefik.http.routers.manus-dashboard.rule=Host(`${DASHBOARD_DOMAIN:?DASHBOARD_DOMAIN requis dans le fichier .env serveur}`)" - "traefik.http.routers.manus-dashboard.entrypoints=websecure" - "traefik.http.routers.manus-dashboard.tls=true" - "traefik.http.routers.manus-dashboard.tls.certresolver=letsencrypt" diff --git a/src/frontend/index.html b/src/frontend/index.html index 4b7f321..2cbebf5 100644 --- a/src/frontend/index.html +++ b/src/frontend/index.html @@ -4,7 +4,7 @@ - Dashboard Recette - Gestion des Applications + Dashboard - Gestion des Applications
diff --git a/src/frontend/package.json b/src/frontend/package.json index c395304..dca03f8 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -5,6 +5,7 @@ "type": "module", "scripts": { "dev": "vite", + "test": "node --test test/*.test.mjs", "build": "vite build", "preview": "vite preview" }, diff --git a/src/frontend/src/components/AddAppModal.jsx b/src/frontend/src/components/AddAppModal.jsx index 9c17ff0..459ed2d 100644 --- a/src/frontend/src/components/AddAppModal.jsx +++ b/src/frontend/src/components/AddAppModal.jsx @@ -14,6 +14,7 @@ import { ChevronDown, } from 'lucide-react'; import { getAvailableStacks, createApp, getGiteaRepos } from '../utils/api'; +import { APP_DOMAIN_SUFFIX, ENVIRONMENT_LABEL_LOWER } from '../utils/environment'; const STEPS = [ { id: 1, title: 'Informations', icon: FileText }, @@ -180,7 +181,7 @@ export default function AddAppModal({ isOpen, onClose, onSuccess }) { Ajouter une application

- Déployez une nouvelle application sur le serveur de recette + Déployez une nouvelle application sur le serveur de {ENVIRONMENT_LABEL_LOWER}