Skip to main content

deploySite()

Takes a Remotion project, bundles it and uploads it to an Cloud Storage bucket. Once uploaded, a Cloud Run service can render any composition in the Remotion project by specifying the URL.

  • If you make changes locally, you need to redeploy the site. You can use siteName to overwrite the previous site.
  • Note that the Remotion project will be deployed to a subdirectory, not the root of the domain. Therefore you must ensure that if you have specified paths in your Remotion project, they are able to handle this scenario.
  • Before calling this function, you should create a bucket, see getOrCreateBucket().

Example​

import {deploySite} from '@remotion/cloudrun';
import path from 'path';

const {serveUrl} = await deploySite({
  entryPoint: path.resolve(process.cwd(), 'src/index.ts'),
  bucketName: 'remotioncloudrun-c7fsl3d',
  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);

Arguments​

An object with the following properties:

entryPoint​

An 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.

bucketName​

The bucket to where the website will be deployed. The bucket must have been created by Remotion Cloud Run.

siteName?​

Specify the subfolder in your Cloud Storage 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?v4.0.140​

One of trace, verbose, info, warn, error.
Determines how much info is being logged to the console.

Default info.

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?​

Passes a custom Webpack override. It is ignored if rspack is true. See bundle() → webpackOverride.

bundlerOverride?v4.0.498​

Passes an override shared by Webpack and Rspack. See bundle() → bundlerOverride.

rspackOverride?v4.0.498​

Passes a custom Rspack override. See bundle() → rspackOverride.

enableCaching?​

Enable or disable Webpack caching. This flag is enabled by default, use --bundle-cache=false to disable caching.

publicDir?​

Define the location of the public/ directory. If not defined, Remotion will assume the location is the `public` folder in your Remotion root.

rootDir?​

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?​

Ignore an error that gets thrown if you pass an entry point file which does not contain registerRoot.

keyboardShortcutsEnabled?v4.0.407​

Enable or disable keyboard shortcuts in the Remotion Studio.

askAIEnabled?v4.0.407​

If the Cmd + I shortcut of the Ask AI modal conflicts with your Studio, you can disable it using this.

rspack?v4.0.426​

Uses Rspack instead of Webpack as the bundler for the Studio or bundle.

Return value​

An object with the following values:

serveUrl​

string

An URL such as https://storage.googleapis.com/remotioncloudrun-123asd321/sites/abcdefgh/index.html.

You can use this "Serve URL" to render a video on Remotion Cloud Run using:

If you are rendering on Cloud Run, you can also pass the site name (in this case abcdefgh) 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​

An object with 3 entries:

  • uploadedFiles
  • deletedFiles
  • untouchedFiles

Each one is a number.

Compatibility​

ServersEnvironments
Node.js
Bun
Serverless Functions

See also​