2023-11-01 16:08:40 +01:00
|
|
|
---
|
|
|
|
title: Hosting on Shuttle
|
|
|
|
---
|
|
|
|
|
2024-05-27 22:55:31 +02:00
|
|
|
import CodeBlock from '@site/src/components/code_block';
|
2023-11-01 16:08:40 +01:00
|
|
|
|
|
|
|
# Hosting on Shuttle
|
|
|
|
|
2024-05-27 22:55:31 +02:00
|
|
|
<img width="300" src="https://raw.githubusercontent.com/shuttle-hq/shuttle/master/assets/logo-rectangle-transparent.png" alt="Shuttle Logo"/>
|
2023-11-01 16:08:40 +01:00
|
|
|
|
2024-12-03 00:02:00 +01:00
|
|
|
> [**Shuttle**](https://www.shuttle.dev) is a Rust-native cloud development platform that lets you deploy your Rust apps for free.
|
2023-11-01 16:08:40 +01:00
|
|
|
|
|
|
|
Shuttle has out-of-the-box support for Actix Web. Follow these steps to host your web service on Shuttle:
|
|
|
|
|
|
|
|
1. Add Shuttle dependencies to `Cargo.toml`:
|
|
|
|
|
|
|
|
<CodeBlock example="shuttle" file="manifest" section="shuttle-deps" language="toml" />
|
|
|
|
|
|
|
|
2. Add the `#[shuttle_runtime::main]` annotation and update the `main` function as follows:
|
|
|
|
|
|
|
|
<CodeBlock example="shuttle" section="shuttle-hello-world" />
|
|
|
|
|
|
|
|
3. Install `cargo-shuttle`:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
cargo install cargo-shuttle
|
|
|
|
```
|
|
|
|
|
|
|
|
4. Create your project on the Shuttle platform:
|
|
|
|
|
|
|
|
```sh
|
2024-12-03 00:02:00 +01:00
|
|
|
shuttle project start
|
2023-11-01 16:08:40 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
5. Deploy! 🚀
|
|
|
|
|
|
|
|
```sh
|
2024-12-03 00:02:00 +01:00
|
|
|
shuttle deploy
|
2023-11-01 16:08:40 +01:00
|
|
|
```
|
|
|
|
|
2024-12-03 00:02:00 +01:00
|
|
|
You can run `shuttle run` to test your application locally.
|
2023-11-01 16:08:40 +01:00
|
|
|
|
|
|
|
Check out some complete Actix Web examples [here](https://github.com/shuttle-hq/shuttle-examples/tree/main/actix-web).
|