Skip to main content

Reserved VM Deployments

Reserved VM Deployments enable you to release a snapshot of your Repl, ensuring that changes made within the editor don't disrupt the production build. Customize run and build commands, and connect the Deployment to a <app-name> or a custom domain.

Setting up a Deployment

Start by creating a Deployment. Click the "Deploy" button located in the top right corner of the workspace.

Deploying a Repl

After selecting Deploy, click on Reserved VM and you will be prompted to configure all of your settings. Here, you will select your machine size, your URL, secrets, and build/run commands.

Once you have entered the necessary information, click the "Deploy" button to start the Deployment process.

After the Deployment is complete, you can access details like the URL, build logs, and more. Learn more about editing Deployment information here


Viewing Deployment logs is very effective for debugging a failed Deployment or an issue with your project. You can learn more about logs here.

Web server or background worker?

You will also have the option to select between web server or background worker.

  • Web server: your program starts a server and listens to network traffic on a port. Your app will be accessible from the internet.
  • Background worker: your program does not listen on a port or start a server. It performs tasks in the background.

For web server VM Deployments, HTTP requests will be sent to external port 80 of your Deployment. Your server must listen for traffic on, listening on localhost or won't work. There are two ways to expose the port:

  • Port Auto-Detection: If no ports have been configured in .replit, one will be detected automatically. The first opened port will be used; if your program uses multiple ports, consider using the approach below.
  • Configure a port in the .replit config: If ports have been configured in .replit, one must be configured with externalPort = 80.
Was this helpful?