1. Check platform features & policies
2. Update CLI
Follow Installation to install the latest Shuttle CLI.The same Shuttle API key is used on both platforms. If you are already logged in, you don’t need to
shuttle login again.3. Access the new Console
The Shuttle Console for shuttle.dev is accessed at console.shuttle.dev.4. Update Code
Most Shuttle projects should run on the new platform with minimal code changes. This is the list of required changes.Cargo.toml
Update to the latest version of Shuttle dependencies:Cargo.toml
Shuttle.toml
Thename field is now unused.
The assets field has been renamed to deploy.include (docs).
If you want the deploy command to keep blocking dirty deployments, add the deploy.deny_dirty field (docs).
The new field build.assets might need to be added:
Secrets.toml
Secrets.toml must now be in the root of the cargo workspace, so move it there if it is in a member crate.--secrets <file> on the deploy command can still be used for a custom secrets file location.
5. Local Run
Check that your project builds and runs locally with6. Deploy
Time to deploy!*.shuttle.app instead of *.shuttleapp.rs.
7. (Optional) Migrate Shared Postgres data
If you use a Shared Postgres database and want to migrate data to the new platform, follow the migration guide!8. (Optional) Update GitHub Action
If you are using deploy-action, check the new v2 branch for renamed and new required fields:- Use
shuttle-hq/deploy-action@v2instead ofshuttle-hq/deploy-action@main - Rename
deploy-keytoshuttle-api-key - Add a
project-idvalue - Any other args for
shuttle deploycan be added inextra-args
9. (Optional) Custom domains
Once you have moved resources, deployed your app to shuttle.dev, and want to move your custom domain, update your DNS records according to Domain names and use the newshuttle certificate command to add SSL certificates.
HTTPS traffic should then be enabled for your custom domain.
