From f7661a418db581ac806f25565b40f7c1d86512e3 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Thu, 10 Jul 2025 15:07:55 +0000 Subject: [PATCH] Ensure application builds locally within Portainer, avoiding external image pulls Configures Docker Compose to build the application image locally and prevents image downloads from Docker Hub. Replit-Commit-Author: Agent Replit-Commit-Session-Id: dec54137-d5a2-4406-8ad4-5f2f9fb110bf Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/e32734b8-3e86-4a0a-ad55-ba74cf7cf00c.jpg --- PORTAINER_FINAL_SOLUTION.md | 59 ++++++++++++++++++++++++ attached_assets/image_1752160018849.png | Bin 0 -> 28603 bytes docker-compose.yml | 5 +- 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 PORTAINER_FINAL_SOLUTION.md create mode 100644 attached_assets/image_1752160018849.png diff --git a/PORTAINER_FINAL_SOLUTION.md b/PORTAINER_FINAL_SOLUTION.md new file mode 100644 index 0000000..7d7dddc --- /dev/null +++ b/PORTAINER_FINAL_SOLUTION.md @@ -0,0 +1,59 @@ +# Solution Finale pour Portainer + +## Problème résolu +Le docker-compose.yml a été modifié pour forcer la construction locale et empêcher complètement le téléchargement d'images depuis Docker Hub. + +## Modifications apportées + +### 1. Suppression de la ligne `image:` +- Plus de référence à une image Docker Hub +- Force Portainer à construire localement + +### 2. Ajout de `pull_policy: never` +- Empêche tout téléchargement d'image +- Force l'utilisation de la construction locale + +### 3. Configuration de build explicite +```yaml +build: + context: . + dockerfile: Dockerfile + target: production + args: + - NODE_ENV=production +``` + +## Instructions Portainer + +### Dans Portainer: +1. **Supprimez l'ancienne stack** si elle existe +2. **Créez une nouvelle stack** avec le nom "regisflow" +3. **Copiez le contenu** du docker-compose.yml modifié +4. **Déployez la stack** + +### Portainer construira automatiquement: +- ✅ L'image sera construite depuis le code source +- ✅ Aucun téléchargement depuis Docker Hub +- ✅ Utilisation du réseau nginx_default +- ✅ Volumes persistants conservés + +## Vérification + +Après déploiement, vérifiez: +```bash +# Statut des conteneurs +docker ps | grep regisflow + +# Logs de l'application +docker logs regisflow-app + +# Test de l'application +curl http://localhost:5000/health +``` + +## Accès +- **URL**: http://votre-serveur:5000 +- **Login**: admin / admin123 +- **PostgreSQL**: Port 5433 + +Cette configuration finale devrait résoudre définitivement le problème de téléchargement d'image dans Portainer. \ No newline at end of file diff --git a/attached_assets/image_1752160018849.png b/attached_assets/image_1752160018849.png new file mode 100644 index 0000000000000000000000000000000000000000..92e8b6a7b6067b401efc2ae1765950e283cdf49f GIT binary patch literal 28603 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 bzPy~j<}+IS_Y-j79?^|!s#h}=?)&{8>RZ@8 literal 0 HcmV?d00001 diff --git a/docker-compose.yml b/docker-compose.yml index 8a962ef..65d2cd3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,12 +27,15 @@ services: regisflow: build: context: . + dockerfile: Dockerfile target: production - image: regisflow-regisflow:latest + args: + - NODE_ENV=production container_name: regisflow-app depends_on: regisflow-db: condition: service_healthy + pull_policy: never environment: NODE_ENV: production PORT: 5000