Skip to main content

Deploy the Remotion Studio on a VPS

Also available as a 3min video
Deploy the Remotion Studio

available from v4.0.46

You can deploy the Remotion Studio to a long-running server in the cloud and make the render UI accessible to your team.
To do so, you need to:

  • Install Node.js and Chrome
  • Run npx remotion studio on the server
  • Ensure port 3000 is available to the internet

The following examples have been tested with the Hello World template initialized using npx create-video@latest.

Dockerizing the Remotion Studio

Dockerfile
docker
FROM node:22-bookworm-slim
# Install Chrome dependencies
RUN apt-get update
RUN apt install -y \
libnss3 \
libdbus-1-3 \
libatk1.0-0 \
libgbm-dev \
libasound2 \
libxrandr2 \
libxkbcommon-dev \
libxfixes3 \
libxcomposite1 \
libxdamage1 \
libatk-bridge2.0-0 \
libpango-1.0-0 \
libcairo2 \
libcups2
# Copy everything from your project to the Docker image. Adjust if needed.
COPY package.json package*.json yarn.lock* pnpm-lock.yaml* bun.lockb* tsconfig.json* remotion.config.* ./
COPY src ./src
# If you have a public folder:
COPY public ./public
# Install the right package manager and dependencies - see below for Yarn/PNPM
RUN npm i
# Install Chrome
RUN npx remotion browser ensure
CMD ["npx", "remotion studio"]
Dockerfile
docker
FROM node:22-bookworm-slim
# Install Chrome dependencies
RUN apt-get update
RUN apt install -y \
libnss3 \
libdbus-1-3 \
libatk1.0-0 \
libgbm-dev \
libasound2 \
libxrandr2 \
libxkbcommon-dev \
libxfixes3 \
libxcomposite1 \
libxdamage1 \
libatk-bridge2.0-0 \
libpango-1.0-0 \
libcairo2 \
libcups2
# Copy everything from your project to the Docker image. Adjust if needed.
COPY package.json package*.json yarn.lock* pnpm-lock.yaml* bun.lockb* tsconfig.json* remotion.config.* ./
COPY src ./src
# If you have a public folder:
COPY public ./public
# Install the right package manager and dependencies - see below for Yarn/PNPM
RUN npm i
# Install Chrome
RUN npx remotion browser ensure
CMD ["npx", "remotion studio"]

Fly.io

To deploy the Remotion Studio to Fly.io:

  • First add the above Dockerfile to the repo.
  • Make the following change to the Dockerfile (works from v4.0.125):
diff
- CMD ["npx", "remotion studio"]
+ CMD ["npx", "remotion studio", "--ipv4"]
diff
- CMD ["npx", "remotion studio"]
+ CMD ["npx", "remotion studio", "--ipv4"]
  • Ensure you are on a paid plan (free plan has too little memory)
  • Use the following command:
bash
fly launch \
# Get 2 CPU cores and 4GB of memory
--vm-size=performance-2x \
# Disable 2x replication
--ha=false \
# Use Remotion's port
--internal-port=3000 \
# Use Docker, not Node
--dockerfile Dockerfile
bash
fly launch \
# Get 2 CPU cores and 4GB of memory
--vm-size=performance-2x \
# Disable 2x replication
--ha=false \
# Use Remotion's port
--internal-port=3000 \
# Use Docker, not Node
--dockerfile Dockerfile

For the following questions, answer no:

txt
? Would you like to set up a Postgresql database now? No
? Would you like to set up an Upstash Redis database now? No
? Create .dockerignore from 1 .gitignore files? No
txt
? Would you like to set up a Postgresql database now? No
? Would you like to set up an Upstash Redis database now? No
? Create .dockerignore from 1 .gitignore files? No

Answer Yes when asking if you want to deploy:

? Do you want to deploy now? Yes
? Do you want to deploy now? Yes

You should get a URL where the Studio was deployed!

Render.com

To deploy the Remotion Studio to Render.com:

  • First add the above Dockerfile to the repo.
  • Create a new "Web Service" and link your repository.
  • Choose at least the "Standard" plan (2GB Memory).
  • Deploy!

DigitalOcean App Platform

Is not working at the moment. The Render Button is disabled, because the DigitalOcean HTTP Proxy does not support server-sent events.

A normal DigitalOcean droplet does work, though.

Scaleway Serverless Container

To deploy the Scaleway Serverless Container:

You can find an example of a github action workflow that deploy Remotion Studio to Scaleway Serverless Container.

Example for deployment

A test project to deploy the Remotion Studio is available here.

See also