packages/docs/docs/lambda/deploysite.mdx
Takes a Remotion project, bundles it and uploads it to an S3 bucket. Once uploaded, a Lambda function can render any composition in the Remotion project by specifying the URL.
siteName to overwrite the previous site.getOrCreateBucket().import {deploySite} from '@remotion/lambda';
import path from 'path';
const {serveUrl} = await deploySite({
entryPoint: path.resolve(process.cwd(), 'src/index.ts'),
bucketName: 'remotionlambda-c7fsl3d',
region: 'us-east-1',
options: {
onBundleProgress: (progress) => {
// Progress is between 0 and 100
console.log(`Bundle progress: ${progress}%`);
},
onUploadProgress: ({totalFiles, filesUploaded, totalSize, sizeUploaded}) => {
console.log(`Upload progress: Total files ${totalFiles}, Files uploaded ${filesUploaded}, Total size ${totalSize}, Size uploaded ${sizeUploaded}`);
},
},
});
console.log(serveUrl);
An object with the following properties:
entryPointAn absolute path pointing to the entry point of your Remotion project. Usually the entry point in your Remotion project is stored at src/entry.tsx.
bucketNameThe bucket to where the website will be deployed. The bucket must have been created by Remotion Lambda.
regionThe AWS region in which the bucket resides.
siteName?Specify the subfolder in your S3 bucket that you want the site to deploy to. If you omit this property, a new subfolder with a random name will be created. If a site already exists with the name you passed, it will be overwritten. Can only contain the following characters: 0-9, a-z, A-Z, -, !, _, ., *, ', (, )
logLevel?<AvailableFrom v="4.0.140"/>options?An object with the following properties:
onBundleProgress?Callback from Webpack when the bundling has progressed. Passes a number between 0 and 100 to the callback, see example at the top of the page.
onUploadProgress?Callback function that gets called when uploading of the assets has progressed. Passes an object with the following properties to the callback:
totalFiles (number): Total number of files in the bundle.filesUploaded (number): Number of files that have been fully uploaded so far.totalSize (number): Total size in bytes of all the files in the bundle.sizeUploaded (number): Amount of bytes uploaded so far.webpackOverride?Allows to pass a custom webpack override. See bundle() -> webpackOverride for more information.
enableCaching?publicDir?available from v3.2.17
<Options id="public-dir" />rootDir?available from v3.2.17
The directory in which the Remotion project is rooted in. This should be set to the directory that contains the package.json which installs Remotion. By default, it is the current working directory.
:::note The current working directory is the directory from which your program gets executed from. It is not the same as the file where bundle() gets called. :::
ignoreRegisterRootWarning?available from v3.3.55
Ignore an error that gets thrown if you pass an entry point file which does not contain registerRoot.
keyboardShortcutsEnabled?<AvailableFrom v="4.0.407"/>askAIEnabled?<AvailableFrom v="4.0.407"/>experimentalClientSideRenderingEnabled?<AvailableFrom v="4.0.407"/>rspack?<AvailableFrom v="4.0.426"/>privacy?available from v3.3.97
Either public (default) or no-acl if you are not using ACL. Sites must have a public URL to be able to be rendered on Lambda, since the headless browser opens that URL.
throwIfSiteExists?<AvailableFrom v="4.0.141"/>forcePathStyle?<AvailableFrom v="4.0.202" />Passes forcePathStyle to the AWS S3 client. If you don't know what this is, you probably don't need it.
An object with the following values:
serveUrl (string): An URL such as https://remotionlambda-12345.s3.eu-central-1.amazonaws.com/sites/abcdef/index.html.
You can use this "Serve URL" to render a video on Remotion Lambda using:
npx remotion lambda render and npx remotion lambda still commandsrenderMediaOnLambda() and renderStillOnLambda() functions.renderMedia() and renderStill() functions.npx remotion render and npx remotion still commandsIf you are rendering on Lambda, you can also pass the site name (in this case abcdef) as an abbreviation.
siteName (string): The identifier of the site that was given. Is either the site name that you have passed into this function, or a random string that was generated if you didn't pass a site name.
stats: (available from v3.3.7) An object with 3 entries: uploadedFiles, deletedFiles and untouchedFiles. Each one is a number.
From v3.3.7, this function is incremental: It only compares the contents of the local files and the files on S3 and only executes the necessary operations.