# Configuration de la base de données PostgreSQL PGDATABASE=socialflow PGUSER=socialflow PGPASSWORD=changeme PGPORT=4523 PGHOST=postgres # URL de connexion complète (générée automatiquement dans Docker) DATABASE_URL=postgresql://socialflow:changeme@postgres:4523/socialflow # Configuration de l'application PORT=5555 NODE_ENV=production # URL publique de l'application, telle que vue par le navigateur. # En production, mettez le vrai domaine (ex. https://socialflow.exemple.fr) : # les URI de redirection OAuth (Facebook/TikTok) en découlent. # Laissée vide derrière un reverse proxy, elle est déduite des en-têtes # X-Forwarded-Proto / X-Forwarded-Host. APP_URL=http://localhost:5555 # Clé secrète pour les sessions (CHANGEZ CETTE VALEUR) SESSION_SECRET=your-secret-key-change-me-to-random-string # Clé de chiffrement pour les tokens Facebook/Instagram (OBLIGATOIRE en production) # Générer avec: openssl rand -hex 32 ENCRYPTION_KEY=your-32-byte-hex-key-here # Clé API OpenRouter pour la génération de texte IA # Obtenez votre clé sur https://openrouter.ai/ OPENROUTER_API_KEY=your-openrouter-api-key-here # Configuration MinIO (stockage des médias, remplace Cloudinary) # MINIO_ENDPOINT = URL interne Docker (ex: http://minio:9000) # MINIO_PUBLIC_URL = URL publique pour accéder aux fichiers (ex: https://media.example.com) MINIO_ENDPOINT=http://minio:9000 MINIO_PUBLIC_URL=https://media.example.com # ========================================== # FACEBOOK (connexion des pages et renouvellement des jetons) # ========================================== # Identifiants de votre application sur https://developers.facebook.com # Ils peuvent aussi être saisis dans l'application (Paramètres → Facebook), # ce qui est prioritaire sur ces variables. # Sans eux, les jetons de page doivent être collés et remplacés à la main. # FACEBOOK_APP_ID= # FACEBOOK_APP_SECRET= # # URI de redirection OAuth à déclarer chez Facebook. # Par défaut : ${APP_URL}/api/facebook/callback, ou le domaine vu par le # reverse proxy quand APP_URL n'est pas défini. # FACEBOOK_REDIRECT_URI= # # Permissions demandées à l'autorisation. Défaut : pages_show_list, # pages_manage_posts, pages_read_engagement, pages_manage_engagement, # read_insights, business_management, instagram_basic, instagram_content_publish # FACEBOOK_SCOPES= # # Version de la Graph API utilisée pour l'OAuth (défaut : v19.0). # FACEBOOK_GRAPH_VERSION= # Optionnel: Configuration Instagram API # INSTAGRAM_APP_ID= # INSTAGRAM_APP_SECRET= # ========================================== # TIKTOK (publication des reels) # ========================================== # Identifiants de votre application sur https://developers.tiktok.com # Ils peuvent aussi être saisis dans l'application (Paramètres → TikTok), # ce qui est prioritaire sur ces variables. # TIKTOK_CLIENT_KEY= # TIKTOK_CLIENT_SECRET= # # URL de redirection OAuth à déclarer chez TikTok. # Par défaut : ${APP_URL}/api/tiktok/callback, ou le domaine vu par le # reverse proxy quand APP_URL n'est pas défini. # TIKTOK_REDIRECT_URI= # # Scopes demandés à l'autorisation (défaut : user.info.basic,video.publish). # "video.publish" nécessite que l'application ait passé l'audit TikTok ; # sans audit, les vidéos publiées restent privées. # TIKTOK_SCOPES= # ========================================== # MENTIONS LÉGALES # ========================================== # Affichées sur les pages publiques /terms et /privacy, dont TikTok exige # les URLs pour l'audit de l'application développeur. # # L'identité de la société exploitante est déjà la valeur par défaut : seule # l'adresse de contact doit obligatoirement être renseignée ici, le RGPD # imposant un point de contact pour l'exercice des droits. LEGAL_CONTACT_EMAIL= # Surcharges facultatives (utiles si l'outil est exploité par une autre société) # LEGAL_COMPANY_NAME= # LEGAL_TRADE_NAME= # LEGAL_COMPANY_LEGAL_FORM= # LEGAL_COMPANY_RCS= # LEGAL_COMPANY_ADDRESS= # ========================================== # API EXTERNE # ========================================== # Clé d'accès pour l'API externe /api/v1/* # Générer avec: openssl rand -hex 32 EXTERNAL_API_KEY=your-secure-random-key-here # ========================================== # REELS : VOIX ET RENDU VIDÉO (service ffmpeg-api) # ========================================== # Clé partagée entre l'application et le service FFmpeg (CHANGEZ CETTE VALEUR). FFMPEG_API_KEY=change-me-ffmpeg-key # # Clé Google AI Studio pour les voix Gemini (sinon : voix Edge, gratuite). # Peut aussi être saisie dans l'application, ce qui est prioritaire. GEMINI_API_KEY= # # Modèle Gemini TTS (défaut : gemini-2.5-flash-preview-tts ; repli automatique # sur celui-ci si le modèle choisi n'existe pas). # GEMINI_TTS_MODEL= # # Modèle Whisper utilisé pour caler les sous-titres mot à mot sur la voix # (tiny, base, small). Choisi à la construction de l'image : changer la valeur # demande de reconstruire ffmpeg-api. # WHISPER_MODEL=base