[deploy · Axum · Actix-web · Rocket · Yew]

Deploy Rust to real AWS in 5 minutes.

Push an Axum / Actix-web / Rocket app to Lander. Cargo build, distroless container, per-customer Fargate, sub-100ms cold start. Same flow whether you're shipping an Axum API or a Yew SPA.
$ deploy now →see pricingfree plan · no credit card · commercial use OK
[walkthrough · 5 minutes]
01

Multi-stage Dockerfile with cargo-chef

cargo-chef caches dependency compilation between builds. First deploy ~6min, subsequent deploys ~90s.
# Dockerfile
FROM rust:1.81 AS chef
RUN cargo install cargo-chef
WORKDIR /app

FROM chef AS planner
COPY . .
RUN cargo chef prepare --recipe-path recipe.json

FROM chef AS builder
COPY --from=planner /app/recipe.json recipe.json
RUN cargo chef cook --release --recipe-path recipe.json
COPY . .
RUN cargo build --release

FROM gcr.io/distroless/cc-debian12
COPY --from=builder /app/target/release/server /server
EXPOSE 80
ENV PORT=80
CMD ["/server"]
02

Bind to $PORT in your handler setup

Axum example — read PORT from env, fall back to 80.
let port = std::env::var("PORT").unwrap_or("80".into());
let listener = tokio::net::TcpListener::bind(format!("0.0.0.0:{port}")).await?;
axum::serve(listener, app).await?;
03

Push and deploy

lander.host/onboard, install GitHub App, point at your repo. The first build takes longer because cargo-chef has to compile all your deps. Subsequent builds reuse the cargo-chef cache.
[why · lander vs vercel · railway · render]
  • Distroless Rust binary on per-customer Fargate = no JVM/Node overhead. Tight memory profile.
  • AWS Graviton2 arm64 native — Rust ARM perf is excellent.
  • WAF protects every endpoint at the ALB even before your handler sees a request.
[gotchas]
  • ·Distroless `static` doesn't have a dynamic linker. If your binary links libssl, use `cc-debian12` instead.
  • ·RUSTFLAGS='-C target-cpu=native' will make your binary not portable — Fargate runs on Graviton (arm64) by default. Don't set it.
  • ·Long compile times: enable `incremental = false` in Cargo.toml for release builds — incremental builds slow CI.

5 minutes from clone to live URL.

no credit card · push from GitHub · real AWS underneath$ deploy now → lander.host