From 0df9cd69f8f2ae349dbc6e147c0b5ef2c8ec8f03 Mon Sep 17 00:00:00 2001 From: jletienne Date: Mon, 20 Oct 2025 17:49:54 +0200 Subject: [PATCH] Refactor Coolify configuration: update documentation to clarify port exposure and remove external port binding in docker-compose. Enhance README with instructions for local usage and emphasize automatic port management by Traefik. --- COOLIFY.md | 9 +++++---- README.md | 20 ++++++++++++++------ docker-compose.yml | 12 ++---------- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/COOLIFY.md b/COOLIFY.md index a3ed719..28021a8 100644 --- a/COOLIFY.md +++ b/COOLIFY.md @@ -10,23 +10,24 @@ Dans Coolify, ajoutez ces variables d'environnement : NEXTCLOUD_URL=https://votre-serveur-nextcloud.com NEXTCLOUD_USERNAME=votre_username NEXTCLOUD_PASSWORD=votre_password -APP_HOST=0.0.0.0 -APP_PORT=8000 ``` ### 2. Configuration du projet -- **Build Pack** : Dockerfile -- **Port** : 8000 +- **Build Pack** : Dockerfile (ou Docker Compose) +- **Port** : 8000 (port interne exposé) - **Health Check Path** : `/health` - **Health Check Interval** : 30s +**Important :** Ne configurez PAS de port externe manuellement. Coolify gère automatiquement les ports via Traefik. + ### 3. Déploiement automatique Coolify détectera automatiquement : - ✅ `Dockerfile` pour construire l'image - ✅ `docker-compose.yml` pour la configuration - ✅ Health check configuré +- ✅ Port 8000 exposé (sans binding externe) ### 4. Branches et CI/CD diff --git a/README.md b/README.md index 1e3b4c7..bd160d8 100644 --- a/README.md +++ b/README.md @@ -74,18 +74,25 @@ Une fois le serveur démarré, accédez à : Copy-Item env.example .env notepad .env -# 2. Construire et lancer le conteneur +# 2. Modifier temporairement le docker-compose.yml pour exposer le port +# Ajoutez dans la section pynextcloud : +# ports: +# - "8000:8000" + +# 3. Construire et lancer le conteneur docker-compose up -d -# 3. Voir les logs +# 4. Voir les logs docker-compose logs -f -# 4. Arrêter le conteneur +# 5. Arrêter le conteneur docker-compose down ``` L'API sera accessible sur `http://localhost:8000` +**Note :** Le `docker-compose.yml` est optimisé pour Coolify (pas de port binding). Pour un usage local, ajoutez temporairement `ports: - "8000:8000"` dans la configuration. + ### Déploiement sur Coolify 🚀 **Configuration Coolify :** @@ -97,19 +104,20 @@ L'API sera accessible sur `http://localhost:8000` NEXTCLOUD_URL=https://votre-serveur-nextcloud.com NEXTCLOUD_USERNAME=votre_username NEXTCLOUD_PASSWORD=votre_password - APP_HOST=0.0.0.0 - APP_PORT=8000 ``` 3. **Coolify détectera automatiquement** le `Dockerfile` et le `docker-compose.yml` -4. **Port à exposer :** 8000 +4. **Port à exposer :** 8000 (port interne) 5. **Health check :** `/health` (déjà configuré dans le docker-compose.yml) +6. **⚠️ Important :** Ne configurez PAS de port externe dans Coolify. Le reverse proxy Traefik gère automatiquement le routage. + **Build automatique :** - Coolify construira automatiquement l'image à chaque push sur la branche configurée - Le conteneur redémarrera automatiquement en cas d'échec grâce au health check +- Accédez à l'API via le domaine configuré dans Coolify (ex: `https://pynextcloud.votre-domaine.com`) ### Construire l'image Docker manuellement diff --git a/docker-compose.yml b/docker-compose.yml index b19bf87..d3ebe83 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,8 +4,8 @@ services: pynextcloud: build: . container_name: pynextcloud-api - ports: - - "${APP_PORT:-8000}:8000" + expose: + - "8000" environment: # Configuration Nextcloud (à définir dans .env) - NEXTCLOUD_URL=${NEXTCLOUD_URL} @@ -14,8 +14,6 @@ services: # Configuration de l'application - APP_HOST=0.0.0.0 - APP_PORT=8000 - env_file: - - .env restart: unless-stopped healthcheck: test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:8000/health')\""] @@ -23,10 +21,4 @@ services: timeout: 10s retries: 3 start_period: 40s - networks: - - pynextcloud-network - -networks: - pynextcloud-network: - driver: bridge