Deploy a Rust Web App with Rocket


You can use Render to host a Rust web application built with Rocket in just a few clicks.

The app in this guide is based on Rocket’s Hello World example and available on https://rocket-rust.onrender.com.

  1. Fork render-examples/rocket-rust-hello-world on GitHub. This is the content of the app we’re deploying:

    #![feature(proc_macro_hygiene, decl_macro)]
    
    #[macro_use] extern crate rocket;
    
    #[cfg(test)] mod tests;
    
    #[get("/")]
    fn hello() -> &'static str {
       "Hello, world!"
    }
    
    fn main() {
       rocket::ignite().mount("/", routes![hello]).launch();
    }
  2. Create a new Web Service on Render, and give Render permission to access your new repo.
  3. Use the following values during creation:

    EnvironmentRust
    Build Commandcargo build --release
    Start Commandcargo run --release

That’s it! Your web service will be live on your Render URL as soon as the build finishes.

Going forward, every push to your repo will automatically build your app and deploy it in production. If the build fails, Render will automatically stop the deploy process and the existing version of your app will keep running until the next successful deploy.

Rocket currently requires Rust Nightly. See Specifying a Rust Toolchain to customize the toolchain for your app.