Frequently Asked Questions
This section is aimed at collecting common questions users have to provide documented answers.
We build and deploy every project in its own container. This gives you safe isolation from other users, and also across all the projects that are owned by your account.
The cargo shuttle project start
command starts a Docker container, which will
stay up indefinitely as long as it is active. Your project container
has a limit of 6 GiB memory (4 GiB during high contention, which is very rare) and 4 vCPUs.
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.
Currently all your projects are built in a container that is pinned to rustc 1.72. It’s not currently possible for you to change this, but being able to choose which toolchain your project will be compiled with is a planned feature.
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.
For details on how to serve static files with Shuttle, check out our Deployment files docs.
For a tutorial on how to build & deploy a simple full-stack app using Next.js & Rust, check out this tutorial: Deploying a NextJS frontend with Rust, in one go
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.
Absolutely! And it’s quite easy. Check out this section of our docs for the steps to do so: Custom Services
Yes, you can create a SeaORM connection from the sqlx pool Shuttle passes to you when you provision a SQL database. You can take a look at the example here.
Certainly. Just create a Shuttle.toml
file in the workspace root directory where your Cargo.toml
is and add name = "your-project-name"
. Read more here.
Currently, all deployments are in the eu-west2 region (London). We do plan to support multiple regions, but we can’t give a precise ETA yet.
Was this page helpful?