Files
editor-visual-frontend/deploy.mjs
T
2026-02-18 14:08:17 +01:00

78 lines
2.1 KiB
JavaScript

import {
deployFunction,
deploySite,
getOrCreateBucket,
} from "@remotion/lambda";
import dotenv from "dotenv";
import path from "path";
import { DISK, RAM, REGION, SITE_NAME, TIMEOUT } from "./config.mjs";
console.log("Selected region:", REGION);
dotenv.config({quiet: true});
if (!process.env.AWS_ACCESS_KEY_ID && !process.env.REMOTION_AWS_ACCESS_KEY_ID) {
console.log(
'The environment variable "REMOTION_AWS_ACCESS_KEY_ID" is not set.',
);
console.log("Lambda renders were not set up.");
console.log(
"Complete the Lambda setup: at https://www.remotion.dev/docs/lambda/setup",
);
process.exit(0);
}
if (
!process.env.AWS_SECRET_ACCESS_KEY &&
!process.env.REMOTION_AWS_SECRET_ACCESS_KEY
) {
console.log(
'The environment variable "REMOTION_REMOTION_AWS_SECRET_ACCESS_KEY" is not set.',
);
console.log("Lambda renders were not set up.");
console.log(
"Complete the Lambda setup: at https://www.remotion.dev/docs/lambda/setup",
);
process.exit(0);
}
process.stdout.write("Deploying Lambda function... ");
const { functionName, alreadyExisted: functionAlreadyExisted } =
await deployFunction({
createCloudWatchLogGroup: true,
memorySizeInMb: RAM,
region: REGION,
timeoutInSeconds: TIMEOUT,
diskSizeInMb: DISK,
});
console.log(
functionName,
functionAlreadyExisted ? "(already existed)" : "(created)",
);
process.stdout.write("Ensuring bucket... ");
const { bucketName, alreadyExisted: bucketAlreadyExisted } =
await getOrCreateBucket({
region: REGION,
});
console.log(
bucketName,
bucketAlreadyExisted ? "(already existed)" : "(created)",
);
process.stdout.write("Deploying site... ");
const { siteName } = await deploySite({
bucketName,
entryPoint: path.join(process.cwd(), "src", "remotion", "index.ts"),
siteName: SITE_NAME,
region: REGION,
});
console.log(siteName);
console.log();
console.log("You now have everything you need to render videos!");
console.log("Re-run this command when:");
console.log(" 1) you changed the video template");
console.log(" 2) you changed config.mjs");
console.log(" 3) you upgraded Remotion to a newer version");