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.
Some checks failed
Docker Build / build (push) Has been cancelled

This commit is contained in:
jletienne 2025-10-20 17:49:54 +02:00
parent 89da43b706
commit 0df9cd69f8
3 changed files with 21 additions and 20 deletions

View File

@ -10,23 +10,24 @@ Dans Coolify, ajoutez ces variables d'environnement :
NEXTCLOUD_URL=https://votre-serveur-nextcloud.com NEXTCLOUD_URL=https://votre-serveur-nextcloud.com
NEXTCLOUD_USERNAME=votre_username NEXTCLOUD_USERNAME=votre_username
NEXTCLOUD_PASSWORD=votre_password NEXTCLOUD_PASSWORD=votre_password
APP_HOST=0.0.0.0
APP_PORT=8000
``` ```
### 2. Configuration du projet ### 2. Configuration du projet
- **Build Pack** : Dockerfile - **Build Pack** : Dockerfile (ou Docker Compose)
- **Port** : 8000 - **Port** : 8000 (port interne exposé)
- **Health Check Path** : `/health` - **Health Check Path** : `/health`
- **Health Check Interval** : 30s - **Health Check Interval** : 30s
**Important :** Ne configurez PAS de port externe manuellement. Coolify gère automatiquement les ports via Traefik.
### 3. Déploiement automatique ### 3. Déploiement automatique
Coolify détectera automatiquement : Coolify détectera automatiquement :
- ✅ `Dockerfile` pour construire l'image - ✅ `Dockerfile` pour construire l'image
- ✅ `docker-compose.yml` pour la configuration - ✅ `docker-compose.yml` pour la configuration
- ✅ Health check configuré - ✅ Health check configuré
- ✅ Port 8000 exposé (sans binding externe)
### 4. Branches et CI/CD ### 4. Branches et CI/CD

View File

@ -74,18 +74,25 @@ Une fois le serveur démarré, accédez à :
Copy-Item env.example .env Copy-Item env.example .env
notepad .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 docker-compose up -d
# 3. Voir les logs # 4. Voir les logs
docker-compose logs -f docker-compose logs -f
# 4. Arrêter le conteneur # 5. Arrêter le conteneur
docker-compose down docker-compose down
``` ```
L'API sera accessible sur `http://localhost:8000` 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 🚀 ### Déploiement sur Coolify 🚀
**Configuration Coolify :** **Configuration Coolify :**
@ -97,19 +104,20 @@ L'API sera accessible sur `http://localhost:8000`
NEXTCLOUD_URL=https://votre-serveur-nextcloud.com NEXTCLOUD_URL=https://votre-serveur-nextcloud.com
NEXTCLOUD_USERNAME=votre_username NEXTCLOUD_USERNAME=votre_username
NEXTCLOUD_PASSWORD=votre_password 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` 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) 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 :** **Build automatique :**
- Coolify construira automatiquement l'image à chaque push sur la branche configurée - 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 - 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 ### Construire l'image Docker manuellement

View File

@ -4,8 +4,8 @@ services:
pynextcloud: pynextcloud:
build: . build: .
container_name: pynextcloud-api container_name: pynextcloud-api
ports: expose:
- "${APP_PORT:-8000}:8000" - "8000"
environment: environment:
# Configuration Nextcloud (à définir dans .env) # Configuration Nextcloud (à définir dans .env)
- NEXTCLOUD_URL=${NEXTCLOUD_URL} - NEXTCLOUD_URL=${NEXTCLOUD_URL}
@ -14,8 +14,6 @@ services:
# Configuration de l'application # Configuration de l'application
- APP_HOST=0.0.0.0 - APP_HOST=0.0.0.0
- APP_PORT=8000 - APP_PORT=8000
env_file:
- .env
restart: unless-stopped restart: unless-stopped
healthcheck: healthcheck:
test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:8000/health')\""] test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:8000/health')\""]
@ -23,10 +21,4 @@ services:
timeout: 10s timeout: 10s
retries: 3 retries: 3
start_period: 40s start_period: 40s
networks:
- pynextcloud-network
networks:
pynextcloud-network:
driver: bridge