Files
Socialflow/INSTALLATION.md
T
michaelschal 306a038afb Improve database migration and application startup processes
Update Dockerfile to generate database migrations, compile a migration script, and adjust the CMD for application startup. Modify docker-compose.yml to comment out PostgreSQL port exposure for security and update the command to run the new migration script. Add dependencies and a new migration script (server/migrate.ts) to handle database schema changes. Update INSTALLATION.md to reflect changes in database access and security recommendations.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/ds3R7vP
2025-10-01 10:01:59 +00:00

4.2 KiB

Installation de Social Flow sur un serveur privé

Prérequis

  • Docker et Docker Compose installés sur votre serveur
  • Clé API OpenRouter (https://openrouter.ai/)
  • (Optionnel) Tokens d'accès Facebook et Instagram

Installation rapide

1. Cloner ou télécharger l'application

git clone <votre-repo> socialflow
cd socialflow

2. Configurer les variables d'environnement

Copiez le fichier d'exemple et modifiez les valeurs :

cp .env.example .env
nano .env  # ou utilisez votre éditeur préféré

Variables importantes à modifier :

  • PGPASSWORD : Changez le mot de passe de la base de données
  • SESSION_SECRET : Générez une clé secrète aléatoire
  • OPENROUTER_API_KEY : Votre clé API OpenRouter
  • APP_URL : L'URL publique de votre application

3. Démarrer l'application

docker-compose up -d

L'application sera accessible sur http://localhost:5000 (ou le port configuré).

4. Vérifier le statut

# Voir les logs
docker-compose logs -f app

# Vérifier que les containers sont démarrés
docker-compose ps

Commandes utiles

Arrêter l'application

docker-compose down

Redémarrer l'application

docker-compose restart

Voir les logs

# Logs de l'application
docker-compose logs -f app

# Logs de la base de données
docker-compose logs -f postgres

Mettre à jour l'application

# Arrêter l'application
docker-compose down

# Récupérer les dernières modifications
git pull

# Reconstruire et redémarrer
docker-compose up -d --build

Sauvegarder la base de données

docker exec socialflow-db pg_dump -U socialflow socialflow > backup.sql

Restaurer la base de données

docker exec -i socialflow-db psql -U socialflow socialflow < backup.sql

Configuration avancée

Changer le port d'exposition

Modifiez le fichier docker-compose.yml :

services:
  app:
    ports:
      - "8080:5000"  # Exposer sur le port 8080

Utiliser un domaine personnalisé

  1. Configurez votre reverse proxy (Nginx, Caddy, etc.)
  2. Pointez vers http://localhost:5000
  3. Mettez à jour APP_URL dans .env

Exemple de configuration Nginx

server {
    listen 80;
    server_name socialflow.votredomaine.com;

    location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Résolution de problèmes

L'application ne démarre pas

  1. Vérifiez les logs : docker-compose logs -f
  2. Assurez-vous que les ports ne sont pas déjà utilisés
  3. Vérifiez que Docker a suffisamment de ressources

Erreurs de base de données

  1. Vérifiez que PostgreSQL est démarré : docker-compose ps
  2. Vérifiez les credentials dans .env
  3. Recréez la base si nécessaire : docker-compose down -v && docker-compose up -d

Problèmes de performance

  1. Augmentez les ressources Docker
  2. Configurez un reverse proxy avec cache
  3. Utilisez un stockage SSD pour les volumes

Accès à la base de données PostgreSQL

Par défaut, le port PostgreSQL n'est pas exposé sur l'hôte pour des raisons de sécurité. Si vous avez besoin d'accéder à la base de données depuis votre machine locale (pour administration, backup, etc.), décommentez les lignes suivantes dans docker-compose.yml :

# À décommenter si vous avez besoin d'accéder à la DB localement
ports:
  - "${PGPORT:-5432}:5432"

Attention : N'exposez jamais le port PostgreSQL en production sur un serveur accessible depuis Internet.

Sécurité

  • Changez toujours PGPASSWORD et SESSION_SECRET avant le déploiement
  • Utilisez HTTPS en production (avec Let's Encrypt par exemple)
  • Configurez un firewall pour limiter l'accès aux ports
  • N'exposez pas le port PostgreSQL (5432) sur Internet en production
  • Mettez à jour régulièrement les images Docker
  • Sauvegardez régulièrement votre base de données

Support

Pour plus d'informations ou en cas de problème, consultez la documentation ou ouvrez une issue.