diff --git a/.env.example b/.env.example index 789188b..ff96c44 100644 --- a/.env.example +++ b/.env.example @@ -9,9 +9,9 @@ PGHOST=postgres DATABASE_URL=postgresql://socialflow:changeme@postgres:5432/socialflow # Configuration de l'application -PORT=4523 +PORT=5555 NODE_ENV=production -APP_URL=http://localhost:4523 +APP_URL=http://localhost:5555 # Clé secrète pour les sessions (CHANGEZ CETTE VALEUR) SESSION_SECRET=your-secret-key-change-me-to-random-string diff --git a/DOCKER.md b/DOCKER.md index bcb3291..3841583 100644 --- a/DOCKER.md +++ b/DOCKER.md @@ -45,10 +45,10 @@ docker-compose logs -f docker-compose down ``` -## 🌐 Accès à l'application +## 🌐 Accès -- **Accès direct** : http://localhost:4523 -- **Avec Nginx** (reverse proxy) : Voir section ci-dessous +- **PostgreSQL** : Accessible sur le port **4523** (mappé vers 5432 interne) +- **Application** : Accessible via Nginx sur le réseau `nginx_default` ## 🔧 Architecture réseau @@ -60,6 +60,10 @@ docker-compose down - PostgreSQL et l'application sont sur ce réseau - Permet l'accès via Nginx et un domaine personnalisé +### Ports exposés +- **PostgreSQL** : `4523:5432` (port hôte 4523 → port container 5432) +- **Application** : Port 5555 interne (non exposé sur l'hôte, accessible via Nginx) + ## 📝 Configuration Nginx ### Prérequis : Créer le réseau nginx @@ -72,11 +76,11 @@ docker network create nginx_default ### Configuration Nginx -Mettez à jour votre configuration Nginx pour cibler le port **4523** : +Configurez Nginx pour cibler l'application sur le port **5555** : ```nginx upstream socialflow { - server socialflow-app:4523; # ← Utiliser le port 4523 + server socialflow-app:5555; # ← Port interne de l'application } server { diff --git a/Dockerfile b/Dockerfile index cb4ef01..40456fd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,12 +34,12 @@ RUN npm run build # Nettoyer les fichiers inutiles pour réduire la taille RUN rm -rf client node_modules/.cache -# Exposer le port de l'application (défini par ENV PORT) -EXPOSE 4523 +# Exposer le port de l'application +EXPOSE 5555 # Variables d'environnement par défaut ENV NODE_ENV=production -ENV PORT=4523 +ENV PORT=5555 # Démarrer l'application CMD ["npm", "run", "start"] diff --git a/docker-compose.yml b/docker-compose.yml index 88ecb63..c37c858 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,6 +6,8 @@ services: image: postgres:16-alpine container_name: socialflow-db restart: unless-stopped + ports: + - "4523:5432" environment: POSTGRES_DB: ${PGDATABASE:-socialflow} POSTGRES_USER: ${PGUSER:-socialflow} @@ -15,10 +17,6 @@ services: networks: - internal - nginx_default - # Port non exposé sur l'hôte pour plus de sécurité en production - # Décommentez la ligne suivante si vous avez besoin d'accéder à la DB localement - # ports: - # - "${PGPORT:-5432}:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U ${PGUSER:-socialflow}"] interval: 10s @@ -32,15 +30,13 @@ services: dockerfile: Dockerfile container_name: socialflow-app restart: unless-stopped - ports: - - "4523:4523" environment: NODE_ENV: production - PORT: 4523 + PORT: 5555 DATABASE_URL: postgresql://${PGUSER:-socialflow}:${PGPASSWORD:-changeme}@postgres:5432/${PGDATABASE:-socialflow} OPENROUTER_API_KEY: ${OPENROUTER_API_KEY} SESSION_SECRET: ${SESSION_SECRET:-your-secret-key-change-me} - APP_URL: ${APP_URL:-http://localhost:4523} + APP_URL: ${APP_URL:-http://localhost:5555} networks: - internal - nginx_default diff --git a/replit.md b/replit.md index 82f03e3..a7049f4 100644 --- a/replit.md +++ b/replit.md @@ -11,7 +11,7 @@ Preferred communication style: Simple, everyday language. ## Recent Changes ### October 17, 2025 -- **Docker Deployment Configuration**: Configured Docker Compose for private server deployment with PostgreSQL and application on same network. Application exposed on port 4523:4523 as requested. PostgreSQL and app communicate via internal Docker network and are both on nginx_default external network for reverse proxy access. Updated Dockerfile to use port 4523. Created comprehensive DOCKER.md documentation with setup instructions, network architecture explanation, and troubleshooting guide. +- **Docker Deployment Configuration**: Configured Docker Compose for private server deployment with PostgreSQL and application on same network. PostgreSQL exposed on port 4523:5432 for external access. Application runs on internal port 5555 (accessible via Nginx reverse proxy). Both PostgreSQL and app are on nginx_default external network and internal network for communication. Created comprehensive DOCKER.md documentation with setup instructions, network architecture explanation, and troubleshooting guide. ### October 14, 2025 - **Publication History Error Display Fix**: Fixed bug where publication history incorrectly displayed persistent errors for posts that failed initially but succeeded on retry. Problem: When a post failed, the `error` field was populated, but when the post was successfully republished, only `publishedAt` and `externalPostId` were updated without clearing the `error` field. Solution: Modified `schedulerService.publishPost()` to set `error: null` when publication succeeds, ensuring error messages are cleared from the history view after successful republication.