Taal Frankfurt, Duitsland
Nodion herkent Rust aan Cargo.toml. Het Rust-buildpack draait cargo build --release met de nieuwste stabiele toolchain, kopieert je binaries naar de run-image en start de binary met de naam van je package; de toolchain zelf blijft erbuiten. De app draait in Frankfurt, naast een managed PostgreSQL-database als je die nodig hebt.
Cargo.tomlserver, api, web of appPORT in voor het webproces. Lees die uit en bind aan 0.0.0.0, niet aan 127.0.0.1, anders kan de health check de app niet bereiken. Parse met Actix Web de poort als u16 en geef ("0.0.0.0", port) door aan HttpServer::bind. src/main.rs use axum::{routing::get, Router};
#[tokio::main]
async fn main() {
let port = std::env::var("PORT").unwrap_or_else(|_| "8080".to_string());
let app = Router::new().route("/", get(|| async { "ok" }));
let listener = tokio::net::TcpListener::bind(format!("0.0.0.0:{port}"))
.await
.unwrap();
axum::serve(listener, app).await.unwrap();
} Cargo.lock bouwt Nodion met --locked, dus een lockbestand dat niet overeenkomt met Cargo.toml laat de build mislukken. Nodion haalt de naam van het package uit de eerste name =-regel in Cargo.toml, dus houd de sectie [package] bovenaan. Cargo.toml [package]
name = "myapp"
version = "0.1.0"
edition = "2024"
[dependencies]
axum = "0.8"
tokio = { version = "1", features = ["full"] } target/release gaat mee in de image, bijvoorbeeld een uit src/bin/worker.rs. Het webproces start de binary van het package; elke andere binary wordt een procestype met dezelfde naam. Om worker te draaien, voeg je op het tabblad Processes een proces met die naam zonder poort toe en laat je het commando leeg. DATABASE_URL komt binnen bij de volgende deployment, nooit tijdens de build. Met SQLx draai je cargo sqlx prepare en commit je de map .sqlx, zodat de query!-macro's zonder database compileren. Draai migraties bij het opstarten met sqlx::migrate!(), of bouw een migrate-binary en draai die als releasestap, één keer per build voordat de nieuwe versie start. Procfile release: migrate rust-toolchain.toml en rust-version kiezen geen oudere toolchain: elke build gebruikt de nieuwste stabiele Rust die Nodion heeft gebouwd. Nightly-toolchains zijn niet beschikbaar, dus crates die nightly-features nodig hebben, hebben een Dockerfile nodig.cargo build --release in de Base directory zonder --workspace. In een virtuele workspace (een Cargo.toml in de root met alleen [workspace]) bouwt dat alle members; met een package in de root bouwt het alleen dat package, dus zet elke member die je nodig hebt in workspace.default-members. Een virtuele workspace heeft geen packagenaam, dus noem de webbinary server, api, web of app.DATABASE_URL, REDIS_URL of CLICKHOUSE_URL. release:-regel in het Procfile bij elke nieuwe build. Dockerfile-apps, en redeploys of rollbacks naar een eerdere image, gebruiken een releasecommando dat op de app zelf is ingesteld en dat ook voorrang heeft op de Procfile-regel. Bij statische sites draait een releasestap in een image die alleen de gebouwde bestanden bevat. Ja, net als Axum of elke andere server: bind aan 0.0.0.0 op de PORT die Nodion instelt. Nodion heeft voor Rust geen frameworkspecifieke instellingen; Nodion bouwt en start je binary.
Je Cargo.lock komt niet overeen met Cargo.toml, en --locked voorkomt dat Cargo het bestand tijdens de build bijwerkt. Draai lokaal cargo build en commit het bijgewerkte lockbestand.
Altijd de nieuwste stabiele Rust die Nodion heeft gebouwd, momenteel 1.99.x. Vastgezette versies in rust-toolchain.toml of rust-version kiezen geen oudere toolchain.
In de regio EU Central in Frankfurt, Duitsland. Build, registry, de app en de bijbehorende databases, volumes, buckets, logs en metrics blijven in die regio, en de API en het control plane van Nodion worden in Duitsland gehost. Nodion GmbH is gevestigd in Stuttgart.
Nodion biedt hiervoor de basis: Nodion GmbH is gevestigd in Stuttgart (Duitsland). Kies je de regio Frankfurt, dan draaien de app, de databases en de volumes in Duitsland. De verwerkersovereenkomst (DPA, art. 28 AVG) sluit je elektronisch af in het dashboard. Of je configuratie aan de AVG voldoet, hangt ook af van hoe je de app instelt en gebruikt.
Een appinstantie kost vanaf 1 EUR per maand. De configuratie in het kostenoverzicht kost 2.50 EUR per maand: App 1 EUR, PostgreSQL 1.50 EUR. Prijzen zijn excl. btw en worden per seconde gefactureerd, en je kiest grotere formaten of meer instanties wanneer je ze nodig hebt.
Ja. Elke app krijgt een standaardhostnaam met HTTPS. Voeg je eigen domein toe op het tabblad Domains van de app; het TLS-certificaat wordt automatisch uitgegeven en vernieuwd.
Ontvang tot € 15 welkomsttegoed bij je registratie.
of met e-mail
Productnieuws, geen spam. Je kunt je altijd weer afmelden.
Je bent aangemeld.