Framework Frankfurt, Alemanha
A Nodion reconhece o FastAPI ou o Starlette nas suas dependências, instala-as com o buildpack de Python e arranca o Uvicorn no seu main.py ou app.py. As migrações podem ser executadas como passo de release antes de cada nova versão entrar em produção, e a API é executada em Frankfurt, ao lado de uma base de dados PostgreSQL gerida, se precisar de uma.
uvicorn main:app, um processofastapi[standard] inclui-o; com o fastapi simples, adicione o uvicorn manualmente. Fixe a versão de Python em .python-version, porque um intervalo escolhe a versão mais recente. requirements.txt fastapi[standard] main.py e app.py um ficheiro que contenha FastAPI ou Starlette e executa uvicorn main:app ou uvicorn app:app em 0.0.0.0 e na porta PORT que define. Responda a / com um 200: é o caminho por omissão do health check. main.py from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
return {"status": "ok"} app/main.py, a Nodion não encontra nenhum dos ficheiros esperados na raiz. Indique o módulo manualmente num Procfile; esta linha substitui o comando de arranque por omissão. Procfile web: uvicorn app.main:app --host 0.0.0.0 --port $PORT release: é executada uma vez por build, depois do build e antes de a nova versão arrancar. Se falhar, o deploy é interrompido e a versão em execução continua online. Procfile release: alembic upgrade head DATABASE_URL no deploy seguinte. Marque as chaves de API como secretas e depois faça push. allowed_hosts, por isso o middleware responde 400 e a release nunca entra em produção. Adicione depois dele uma função @app.middleware("http") que devolva 200 para /healthz (o Starlette executa primeiro o middleware adicionado em último lugar) e defina /healthz como caminho do health check nas definições da aplicação.web: uvicorn main:app --host 0.0.0.0 --port $PORT --workers 2 num Procfile ou execute mais instâncias do processo web.DATABASE_URL da Nodion começa por postgres://, que o SQLAlchemy 1.4 e versões posteriores não aceitam. Substitua o esquema antes de a passar, por exemplo por postgresql+psycopg:// para psycopg 3, que funciona com motores síncronos e assíncronos.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. Não por omissão: a Nodion arranca um único processo Uvicorn. Adicione --workers 2 ou mais à sua própria linha web:, ou escale o processo web para mais instâncias.
O health check precisa de um 2xx ou 3xx em /. Uma API sem rota na raiz responde 404, e o TrustedHostMiddleware responde 400 ao endereço interno. Adicione uma rota ou defina um caminho como /healthz nas definições da aplicação e responda-lhe antes da verificação do host.
Sim. Com o Starlette nas suas dependências, aplica-se o mesmo comando por omissão com o Uvicorn, que procura app em main.py ou app.py.
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 3.50 EUR por mês: Aplicação 2 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.