Build Backends.Fast.

Build & ship a backend without writing any infrastructure files. Instead get your infrastructure definitions from your code function signatures and annotations.

codehero background

Get started in seconds

Build an app with your favourite Rust framework and deploy it immediately. We’ll take care of all the infrastructure.

$ shuttle help

Usage: shuttle [OPTIONS] <COMMAND>

Commands:
  init        Create a new Shuttle project
  run         Run a Shuttle service locally
  deploy      Deploy a Shuttle service
  deployment  Manage deployments of a Shuttle service
  status      View the status of a Shuttle service
  stop        Stop this Shuttle service
  logs        View the logs of a deployment
  project     List or manage projects on Shuttle
  resource    Manage resources of a Shuttle project
  secrets     Manage secrets for this Shuttle service
  clean       Remove cargo build artifacts
  login       Login to the Shuttle platform
  logout      Log out of the Shuttle platform
  generate    Generate shell completions
  feedback    Open an issue on GitHub and provide feedback
  help        Print this message
get started backgroundget started topstarsstars

01 Install

Install the CLI

$ cargo install cargo-shuttle

02 Initialize

Bootstrap your project

$ shuttle init

03 Deploy

Take-off in 3, 2, 1..

$ shuttle deploy

Loved by Engineers at

Bring your code, we'll handle the rest

Leave the deployment to us and focus on what matters, writing good code.

top left bgtop left starstop left stars 2

Rust, made simple

Shuttle makes it easy to connect to databases, has out-of-the-box logging support, abundant documentation and supports all major Rust frameworks. Yes, even if you are coming from JS.

top middle bgtop middle starstop middle stars 2

Vercel for Backends

Get an entire infrastructure configured without writing any infrastructure config.

top right bgtop right starstop right stars 2

No Vendor lock-in

No need to have your app hosted on our servers, you can deploy it to your own cloud or even run shuttle in your garage.

bottom left bgbottom left starsbottom left stars 2

Everything is Rust, Rust is everything

Get a database by just asking for one in your Rust code.

bottom middle bgbottom middle starsbottom middle stars 2

Build fast, redeploy instantly

Shuttle always uses the cache from previous builds to give you lightning-speed redeploys.

bottom right bgbottom right starsbottom right stars 2

Forever-free tier

Unlimited access to essential features, no strings attached.

Powered by our Community

Join us now

6.0k+

Github Stars

4k+

Discord Users

95+

Contributors

Starters

Set up and deploy a quick starter, in minutes, with detailed instructions on how it works.

  • bgstarsstars 2

    Build a Discord Bot

    Add custom functionality to your Discord server, using a bot written in Rust.

  • bgstarsstars 2

    URL Shortener

    Get a shuttle relational database and build a URL shortener service.

  • bgstarsstars 2

    Deploy a full-stack app with JS & Rust

    Use WebSockets, React and Rust to release a chat app end-to-end.

  • bgstarsstars 2

    There's more

    View all

How it works

With Shuttle you can take any Rust service code, and have it ready for deployment by adding a single annotation to your main function.

Your code is packaged and sent to Shuttle where it is compiled and deployed. After a few seconds, your app is already running in the cloud.

You can then add more annotations that control cloud resources. Adding components like databases, secrets or storage is as easy as adding arguments to a function.

The next time you deploy your app, Shuttle provisions and configures the resources you need. In minutes, you can build complex and scalable apps on industry-standard AWS products and never have to touch the AWS console.

1use rocket::{get, routes};
2
3#[get("/")]
4fn index() -> &'static str {
5    "Hello, world!"
6}
7
8#[shuttle_runtime::main]
9async fn main() -> shuttle_rocket::ShuttleRocket {
10    let rocket = rocket::build().mount("/", routes![index]);
11
12    Ok(rocket.into())
13}
bg mobile

What the community says

Join thousands of developers using Shuttle. Connect with them on Discord.

profile picture

Dominykas

@chaosteil

Staff Software Engineer @ Uber

Game changer, what a great project.

profile picture

Matthias Endler

@mathiasendler

Rust Consultant @ Corrode

Deployed my second service with Shuttle and I really like it! It's fast and integrates well with cargo, so I can focus on the Rust code instead of the deployment. Well done!

profile picture

Peter Mertz

@mertzalertz

Lead Engineer @ Zed Financial

Shuttle is hands down the best way to deploy a rust app quickly, safely, with the ability to scale. It has a variety of frameworks supported, and the community surrounding it is incredible. Heroku for Rust but better!

profile picture

Stefan Baumgartner

@ddprrt

Owner oida.dev | Architect @ Dynatrace | Rust Linz

You soon realize Shuttle is much more than just a host for your app. It's your Rust framework for the cloud; Infrastructure as Crates! This puts Shuttle in front of everything else I've tried. I couldn't be more happy!

profile picture

Roberto Huertas

@robertohuertasm

Software Engineer @ Datadog

Mind-blowing! What a huge addition to the Rust ecosystem! I'm sure this will be a driveway to get more people into Rust.

profile picture

Glen De Cauwsemaecker

@glendc

Founder @ Plabayo

Shuttle turns shipping web services into child play. The full power of the Rust ecosystem together with zero effort deployments and no infrastructure work allows us to hit market as quickly as we can develop the product. Magic!

rocket

Build the Future of Backend Development with us

Join the movement and help revolutionize the world of backend development. Together, we can create the future!

FAQ

Your code is analyzed and built on our servers. The first time you introduce additional resources in your code, like the first time you use a database, we will add that resource to your project and wire it automatically to your deployment.

We believe Rust is the language of the future because of the safety guarantees Rust provides and the efficiency of running Rust code. Also, with Rust you build once and everything just works - saving you tons of time on maintenance. And Shuttle makes the experience of building your backend with Rust better than anything you can find for any other language.

Of course! When you deploy a project on Shuttle, your API becomes available at a URL of the form ${project_name}.Shuttleapp.rs. And since Shuttle is compatible with any of the common frontend hosting solutions (Vercel, Netlify, etc), you just have to make your API calls to the URL of your project, and you’re up. Soon you’ll also be able to use Shuttle to deliver static content at the edge and host your preact or Next.js projects with the rest of your code on Shuttle.

Absolutely. As a matter of fact, Shuttle makes sure that whatever you see in a local development environment works in exactly the same way when it gets deployed to our cloud. This includes all the resources you could end up needing, like databases and secrets for example.

We are putting a lot of effort into developing a WASM runner that plays well with other parts of a Shuttle project. We are very impressed by what we’re seeing so far in terms of improved build times and faster (we’re taking milliseconds…) deploy times. We’re expecting to roll out stable support for WASM services shortly.

You can bring your lambda code to Shuttle as is. And we run it on dedicated infrastructure that keeps the state of your services across requests, has no cold-start and can even have long-running threads, all of which is not possible on AWS Lambda.

starsstars 2

Want to know more?

Join our Discord, we're happy to answer any questions!