mirror of
https://github.com/R0m1k3/Socialflow.git
synced 2026-10-11 17:26:45 +02:00
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
4.2 KiB
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éesSESSION_SECRET: Générez une clé secrète aléatoireOPENROUTER_API_KEY: Votre clé API OpenRouterAPP_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é
- Configurez votre reverse proxy (Nginx, Caddy, etc.)
- Pointez vers
http://localhost:5000 - Mettez à jour
APP_URLdans.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
- Vérifiez les logs :
docker-compose logs -f - Assurez-vous que les ports ne sont pas déjà utilisés
- Vérifiez que Docker a suffisamment de ressources
Erreurs de base de données
- Vérifiez que PostgreSQL est démarré :
docker-compose ps - Vérifiez les credentials dans
.env - Recréez la base si nécessaire :
docker-compose down -v && docker-compose up -d
Problèmes de performance
- Augmentez les ressources Docker
- Configurez un reverse proxy avec cache
- 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
PGPASSWORDetSESSION_SECRETavant 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.