Linguagem Frankfurt, Alemanha
A Nodion reconhece Rust pelo Cargo.toml. O buildpack Rust executa cargo build --release com a toolchain estável mais recente, copia os seus binários para a imagem de execução (run image) e inicia o que tem o nome do seu pacote; a toolchain em si fica de fora. A aplicação é executada em Frankfurt, ao lado de uma base de dados PostgreSQL gerida, se precisar de uma.
Cargo.tomlserver, api, web ou appPORT para o processo web. Leia essa variável e escute em 0.0.0.0, não em 127.0.0.1, caso contrário o health check não consegue chegar à aplicação. Com o Actix Web, converta a porta para u16 e passe ("0.0.0.0", port) a 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, a Nodion faz o build com --locked, por isso um lockfile que não corresponda ao Cargo.toml faz falhar o build. A Nodion obtém o nome do pacote da primeira linha name = do Cargo.toml, por isso mantenha a secção [package] no início do ficheiro. Cargo.toml [package]
name = "myapp"
version = "0.1.0"
edition = "2024"
[dependencies]
axum = "0.8"
tokio = { version = "1", features = ["full"] } target/release vão para a imagem, por exemplo um gerado a partir de src/bin/worker.rs. O processo web executa o binário do pacote; cada um dos outros binários passa a ser um tipo de processo com o mesmo nome. Para executar worker, adicione no separador Processes um processo com esse nome e sem porta, e deixe o comando vazio. DATABASE_URL chega no próximo deploy, nunca durante o build. Com SQLx, execute cargo sqlx prepare e faça commit da pasta .sqlx para que as macros query! compilem sem base de dados. Execute as migrações no arranque com sqlx::migrate!(), ou compile um binário migrate e execute-o como passo de release, uma vez por build, antes de a nova versão arrancar. Procfile release: migrate rust-toolchain.toml e rust-version não selecionam uma toolchain mais antiga: cada build usa o Rust estável mais recente que a Nodion compilou. As toolchains nightly não estão disponíveis, por isso os crates que precisam de funcionalidades nightly precisam de um Dockerfile.cargo build --release no Base directory sem --workspace. Num workspace virtual (um Cargo.toml na raiz só com [workspace]), isso compila todos os membros; com um pacote na raiz, compila apenas esse pacote, por isso liste em workspace.default-members todos os membros de que precisa. Um workspace virtual não tem nome de pacote, por isso dê ao binário web o nome server, api, web ou app.DATABASE_URL, REDIS_URL ou CLICKHOUSE_URL. release: do Procfile é executada a cada novo build. As aplicações com Dockerfile, bem como os redeploys ou rollbacks para uma imagem anterior, usam um comando de release definido na própria aplicação, que também tem prioridade sobre a linha do Procfile. Nos sites estáticos, a etapa de release é executada numa imagem que contém apenas os ficheiros gerados pelo build. Sim, tal como o Axum ou qualquer outro servidor: escute em 0.0.0.0 na porta PORT que a Nodion define. A Nodion não tem definições específicas de framework para Rust; compila e inicia o seu binário.
O seu Cargo.lock não corresponde ao Cargo.toml, e --locked impede o Cargo de o atualizar durante o build. Execute cargo build localmente e faça commit do lockfile atualizado.
Sempre o Rust estável mais recente que a Nodion compilou, atualmente a 1.99.x. As versões fixadas em rust-toolchain.toml ou rust-version não selecionam uma toolchain mais antiga.
Na região EU Central, em Frankfurt (Alemanha). O build, o registry, a aplicação e as respetivas bases de dados, volumes, buckets, logs e métricas ficam nessa região, e a API e o plano de controlo da Nodion estão alojados na Alemanha. A Nodion GmbH tem sede em Stuttgart.
A Nodion cria as condições para isso: a Nodion GmbH tem sede em Stuttgart (Alemanha); na região de Frankfurt, a aplicação, as bases de dados e os volumes são executados na Alemanha. O acordo de tratamento de dados (DPA, art. 28.º do RGPD) é celebrado eletronicamente no dashboard. A conformidade da sua utilização depende também da forma como configura e utiliza a aplicação.
Uma instância da aplicação custa a partir de 1 EUR por mês. A configuração apresentada no quadro de custos custa 2.50 EUR por mês: Aplicação 1 EUR, PostgreSQL 1.50 EUR. Os preços não incluem IVA e a faturação é ao segundo. Pode escolher tamanhos maiores ou mais instâncias sempre que precisar.
Sim. Cada aplicação recebe um hostname atribuído por omissão com HTTPS. Adicione o seu próprio domínio no separador Domains da aplicação; o certificado TLS é emitido e renovado automaticamente.
Ganhe até 15 € de crédito ao registar-se.
ou com e-mail
Novidades do produto, sem spam. Pode cancelar a subscrição a qualquer momento.
Subscrição efetuada com sucesso.