mirror of
https://github.com/R0m1k3/Socialflow.git
synced 2026-10-16 11:49:30 +02:00
feat: add libcap to Dockerfile and ensure Remotion browser binary is downloaded
This commit is contained in:
1 parent
b15ba68b78
commit
297af0ab0d
2 files changed
+15
-2
No files matched your search
+6
-1
@@ -31,7 +31,8 @@ RUN apk add --no-cache \
|
||||
harfbuzz \
|
||||
ca-certificates \
|
||||
ttf-freefont \
|
||||
ffmpeg
|
||||
ffmpeg \
|
||||
libcap
|
||||
|
||||
# Copier les fichiers de configuration
|
||||
COPY package*.json ./
|
||||
@@ -72,6 +73,10 @@ RUN rm -rf client/node_modules \
|
||||
# Pré-bundler la composition Remotion pendant le build (speedup au premier rendu)
|
||||
RUN node scripts/prebundle-remotion.js || true
|
||||
|
||||
# S'assurer que le binaire browser de Remotion est téléchargé et disponible
|
||||
RUN npx remotion browser ensure
|
||||
|
||||
|
||||
# Exposer le port de l'application
|
||||
EXPOSE 5555
|
||||
|
||||
|
||||
@@ -170,13 +170,21 @@ remotionRouter.post("/render", upload.array("images", 4), async (req, res) => {
|
||||
const outputLocation = path.join(uploadDir, outputFilename);
|
||||
|
||||
console.log("🎬 Rendering media...", effectiveDurationInFrames, "frames");
|
||||
|
||||
// Standard Chromium path on Alpine
|
||||
const systemChromiumPath = "/usr/bin/chromium-browser";
|
||||
const browserExecutable = fs.existsSync(systemChromiumPath) ? systemChromiumPath : undefined;
|
||||
|
||||
await renderMedia({
|
||||
composition: { ...composition, durationInFrames: effectiveDurationInFrames },
|
||||
serveUrl: bundleLocation,
|
||||
codec: "h264",
|
||||
outputLocation,
|
||||
inputProps,
|
||||
chromiumOptions: { disableWebSecurity: true }
|
||||
browserExecutable,
|
||||
chromiumOptions: {
|
||||
disableWebSecurity: true,
|
||||
}
|
||||
});
|
||||
|
||||
console.log("✅ Render completed:", outputFilename);
|
||||
|
||||
Reference in new issue
Block a user