From 84d20129291eb40ede18f54d1894e59424fcba37 Mon Sep 17 00:00:00 2001 From: Michael SCHAL Date: Mon, 2 Mar 2026 14:11:18 +0100 Subject: [PATCH] feat: Implement music search and favorite APIs for Facebook Reels, and configure the internal app URL for the ffmpeg service. --- docker-compose.yml | 2 ++ server/routes/reels.ts | 14 +++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index d19cdff..8bba3f2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -38,6 +38,8 @@ services: OPENROUTER_API_KEY: ${OPENROUTER_API_KEY} SESSION_SECRET: ${SESSION_SECRET:-your-secret-key-change-me} APP_URL: ${APP_URL:-http://localhost:5555} + # URL interne Docker pour que ffmpeg-api puisse télécharger les fichiers audio + INTERNAL_APP_URL: http://socialflow-app:5555 # Configuration FFmpeg Service FFMPEG_API_URL: http://ffmpeg-api:8000 FFMPEG_API_KEY: ${FFMPEG_API_KEY:-socialflow-secret-ffmpeg-key} diff --git a/server/routes/reels.ts b/server/routes/reels.ts index c834bc0..664c0aa 100644 --- a/server/routes/reels.ts +++ b/server/routes/reels.ts @@ -321,11 +321,14 @@ reelsRouter.post('/reels/preview', async (req: Request, res: Response) => { const internalId = musicTrackId.replace('internal_', ''); const track = await storage.getAudioTrack(internalId); if (track) { - // track.url est relatif (/uploads/audio/...) → on le rend absolu pour le service ffmpeg - const appUrl = process.env.APP_URL || 'http://localhost:5555'; + // Utiliser INTERNAL_APP_URL pour que le container ffmpeg (réseau Docker interne) + // puisse télécharger le fichier audio. APP_URL (HTTPS public) n'est pas accessible + // depuis le réseau internal Docker. + const internalBaseUrl = process.env.INTERNAL_APP_URL || process.env.APP_URL || 'http://localhost:5555'; finalMusicUrl = track.url.startsWith('http') ? track.url - : `${appUrl}${track.url}`; + : `${internalBaseUrl}${track.url}`; + console.log(`🎵 Audio URL for ffmpeg: ${finalMusicUrl}`); } } else { const track = await freeSoundService.getMusicDetails(musicTrackId); @@ -513,10 +516,11 @@ async function processReelBackground( const internalId = musicTrackId.replace('internal_', ''); const track = await storage.getAudioTrack(internalId); if (track) { - const appUrl = process.env.APP_URL || 'http://localhost:5555'; + const internalBaseUrl = process.env.INTERNAL_APP_URL || process.env.APP_URL || 'http://localhost:5555'; finalMusicUrl = track.url.startsWith('http') ? track.url - : `${appUrl}${track.url}`; + : `${internalBaseUrl}${track.url}`; + console.log(`🎵 [Background] Audio URL for ffmpeg: ${finalMusicUrl}`); } } catch (e) { console.error('Error fetching internal track', e); } } else {