Sprache Frankfurt, Deutschland
Nodion erkennt Rust an der Cargo.toml. Das Rust-Buildpack führt cargo build --release mit der neuesten stabilen Toolchain aus, kopiert deine Binaries ins Run-Image und startet das Binary mit dem Namen deines Packages; die Toolchain selbst bleibt draußen. Die App läuft in Frankfurt, auf Wunsch neben einer Managed PostgreSQL-Datenbank.
Cargo.tomlserver, api, web oder appPORT für den Web-Prozess. Lies ihn aus und binde an 0.0.0.0, nicht an 127.0.0.1, sonst erreicht der Health Check die App nicht. Bei Actix Web parst du den Port als u16 und übergibst ("0.0.0.0", port) an 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 baut Nodion mit --locked, ein Lockfile, das nicht zur Cargo.toml passt, lässt den Build also scheitern. Den Package-Namen liest Nodion aus der ersten name =-Zeile der Cargo.toml, der Abschnitt [package] gehört deshalb nach oben. Cargo.toml [package]
name = "myapp"
version = "0.1.0"
edition = "2024"
[dependencies]
axum = "0.8"
tokio = { version = "1", features = ["full"] } target/release landet im Image, zum Beispiel eine aus src/bin/worker.rs. Der Web-Prozess startet das Binary des Packages; jedes weitere Binary wird ein Prozesstyp mit demselben Namen. Für worker legst du auf dem Tab Processes einen Prozess mit diesem Namen ohne Port an und lässt den Befehl leer. DATABASE_URL kommt beim nächsten Deploy an, nie während des Builds. Mit SQLx führst du cargo sqlx prepare aus und committest den Ordner .sqlx, damit die query!-Makros ohne Datenbank kompilieren. Migrationen laufen beim Start mit sqlx::migrate!(), oder du baust ein migrate-Binary und lässt es als Release-Schritt laufen, bei jedem Build einmal, bevor die neue Version startet. Procfile release: migrate rust-toolchain.toml und rust-version wählen keine ältere Toolchain: Jeder Build nutzt das neueste stabile Rust, das Nodion gebaut hat. Nightly-Toolchains gibt es nicht; Crates, die Nightly-Features brauchen, baust du mit einem Dockerfile.cargo build --release im Base Directory ohne --workspace aus. In einem virtuellen Workspace (Root-Cargo.toml nur mit [workspace]) baut das alle Member; mit einem Root-Package nur dieses Package, trag also alle Member, die du brauchst, in workspace.default-members ein. Ein virtueller Workspace hat keinen Package-Namen; nenn das Web-Binary deshalb server, api, web oder app.DATABASE_URL, REDIS_URL oder CLICKHOUSE_URL in die App. release:-Zeile in der Procfile bei jedem neuen Build. Dockerfile-Apps sowie Redeploys und Rollbacks auf ein früheres Image nutzen einen Release Command, der an der App selbst gesetzt ist; er hat auch Vorrang vor der Procfile-Zeile. Bei statischen Sites läuft ein Release-Schritt in einem Image, das nur die gebauten Dateien enthält. Ja, wie Axum oder jeder andere Server: Binde an 0.0.0.0 auf dem PORT, den Nodion setzt. Für Rust gibt es keine Framework-spezifischen Einstellungen; Nodion baut und startet dein Binary.
Deine Cargo.lock passt nicht zur Cargo.toml, und --locked verbietet Cargo, sie im Build zu aktualisieren. Führ lokal cargo build aus und committe das aktualisierte Lockfile.
Immer das neueste stabile Rust, das Nodion gebaut hat, derzeit 1.99.x. Angaben in rust-toolchain.toml oder rust-version wählen keine ältere Toolchain.
In der Region EU Central in Frankfurt. Build, Registry, die App und ihre Datenbanken, Volumes, Buckets, Logs und Metriken bleiben in dieser Region, API und Control Plane von Nodion werden in Deutschland gehostet. Die Nodion GmbH hat ihren Sitz in Stuttgart.
Nodion schafft die Voraussetzungen dafür: Die Nodion GmbH hat ihren Sitz in Stuttgart, in der Region Frankfurt laufen App, Datenbanken und Volumes in Deutschland, und den Auftragsverarbeitungsvertrag (AVV) nach Art. 28 DSGVO schließt du im Dashboard elektronisch ab. Ob dein Einsatz DSGVO-konform ist, hängt auch davon ab, wie du die App konfigurierst und nutzt.
Eine App-Instanz gibt es ab 1 EUR im Monat. Das Setup im Kostenkasten kostet 2.50 EUR im Monat: App 1 EUR, PostgreSQL 1.50 EUR. Preise sind netto, Abrechnung pro Sekunde, größere Varianten oder mehr Instanzen wählst du jederzeit.
Ja. Jede App bekommt einen Default-Hostnamen mit HTTPS. Deine eigene Domain nimmst du auf dem Tab Domains dazu, das TLS-Zertifikat wird automatisch ausgestellt und erneuert.
Ja. Nodion ist ein deutsches Unternehmen mit Sitz in Stuttgart, der Support antwortet auf Deutsch und auf Englisch.
Bis zu 15 € Guthaben beim Registrieren.
oder per E-Mail
Produktnews, kein Spam. Jederzeit abbestellen.
Erfolgreich eingetragen.