explaingit

shuttle-hq/shuttle

6,912RustAudience · developerComplexity · 3/5Setup · easy

TLDR

Shuttle lets you deploy Rust web applications to the cloud with a single command, automatically provisioning databases and other resources from annotations directly in your code.

Mindmap

mindmap
  root((shuttle))
    What it does
      Deploy Rust apps
      Auto-provision resources
      No infra config
    Frameworks
      Axum
      Actix Web
      Rocket
    Resources
      Postgres
      Redis
      Secrets
    Setup
      cargo-shuttle CLI
      Single deploy command
      GitHub Action
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Deploy a Rust REST API to the cloud with an auto-provisioned Postgres database in minutes, without any server configuration.

USE CASE 2

Build a web service using Axum or Actix that automatically gets a public URL and managed resources on deploy.

USE CASE 3

Set up continuous deployment for a Rust web app by adding the Shuttle GitHub Action to your repository.

Tech stack

Rustcargo-shuttleAxumActix WebRocketPostgres

Getting it running

Difficulty · easy Time to first run · 30min

Requires a free Shuttle account and cargo-shuttle CLI installed via a shell script or PowerShell.

In plain English

Shuttle is a platform for deploying Rust web applications without writing any infrastructure configuration. Getting a web service online normally involves setting up servers, configuring databases, managing environment variables, and writing deployment scripts. Shuttle aims to remove most of that work from the developer's side. The way it works: you write a Rust web application using a supported framework such as Axum, Actix Web, or Rocket, then add a small annotation to your main function that tells Shuttle's runtime how to handle the application. Resources like a Postgres database can be requested by adding them as parameters to that same annotated function. Shuttle reads those declarations and provisions the requested resources automatically when you deploy. Deployment is a single command: shuttle deploy from the project directory. Shuttle handles compiling the code, provisioning any requested resources, and making the application available at a public URL. The README shows an example where adding a shared Postgres database to a running application requires changing only a few lines of code, with no separate database configuration file needed. Shuttle provides a command-line tool called cargo-shuttle that handles login, project initialization from templates, and deployment. Installation uses a shell script on Linux and macOS, or a PowerShell script on Windows. After installing, you log in and can initialize a project from a template with a single command. The project is open source and accepts contributions. It runs a cash bounty program for selected open issues through the Algora platform. Separate repositories handle the examples, documentation site, GitHub Action for continuous deployment, and a set of Rust coding challenges. A Discord community is available for questions.

Copy-paste prompts

Prompt 1
Create a new Axum web service with Shuttle that includes a shared Postgres database and exposes a JSON REST API.
Prompt 2
Show me how to add a Redis cache resource to my existing Shuttle Rust project with minimal code changes.
Prompt 3
Walk me through initializing a Shuttle project from a template, adding a route handler with Rocket, and deploying it with cargo-shuttle.
Prompt 4
Write a Shuttle Rust app that serves static files and stores user submissions in a Postgres table.
Open on GitHub → Explain another repo

← shuttle-hq on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.