Linguagem Frankfurt, Alemanha
O buildpack de Python da Nodion faz o build de qualquer repositório com um requirements.txt, um Pipfile ou um pyproject.toml. Instala as suas dependências, arranca o Django, o FastAPI e o Flask com um servidor de produção e executa tudo o resto a partir de app.py, main.py ou do seu Procfile. A aplicação é executada em Frankfurt.
requirements.txt, Pipfile ou pyproject.tomlapp.py / main.py ou Procfilepoetry.lock (Poetry), Pipfile.lock (Pipenv), requirements.txt (pip) e, por fim, um pyproject.toml sozinho, instalado com pip install . (ou com o Poetry, se tiver uma secção [tool.poetry]). Um uv.lock é ignorado, e um Pipfile sem o respetivo lockfile não instala nada. .python-version, depois runtime.txt e depois requires-python em pyproject.toml; se não existir nenhum deles, é usada a 3.13. Um intervalo como requires-python = ">=3.10" resolve-se para a versão publicada mais recente, atualmente a 3.15, por isso fixe a versão com que faz os testes. .python-version 3.13 manage.py) arranca com o Gunicorn, o FastAPI ou o Starlette com o Uvicorn, e o Flask com o Gunicorn. O servidor não é adicionado automaticamente, por isso inclua-o nas suas dependências. Sem framework, a Nodion executa python app.py ou python main.py, e esse script tem de escutar em 0.0.0.0 e na porta PORT definida pela Nodion. web: substitui o comando por omissão. Sem Django, FastAPI, Flask, app.py nem main.py, o Procfile tem de definir um processo, web: ou worker:; caso contrário, o build é interrompido com um erro que indica o que falta. Uma linha release: é executada uma vez por build, antes de a nova versão arrancar: é o sítio certo para as migrações. Procfile web: gunicorn myapp.wsgi --bind 0.0.0.0:$PORT
release: alembic upgrade head DATABASE_URL, só existem em runtime. A partir daí, cada push faz o build de uma nova release. worker: não arranca nada por si só: no separador Processes, adicione um processo com o mesmo nome e sem porta. Mantenha ao lado uma linha web: explícita, porque sem ela a primeira entrada do Procfile que não seja release: passa a ser o comando por omissão. Uma aplicação só com workers, como um bot, define antes web com 0 instâncias.requirements.txt, Pipfile, pyproject.toml, poetry.lock e Pipfile.lock. Os lockfiles também listam as dependências indiretas, por isso uma biblioteca que traz o FastAPI consigo, como o Gradio, pode ativar o comando por omissão do FastAPI. Uma linha web: resolve a questão.requirements.txt, por exemplo com uv export --no-emit-project -o requirements.txt, e faça commit desse ficheiro; caso contrário, a Nodion instala a partir do pyproject.toml sem lockfile.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. Da 3.10 à 3.15, com a 3.13 por omissão. Ao fixar uma em .python-version, obtém a versão de correção (patch) mais recente dessa versão. As versões que já chegaram ao fim de vida (end of life) fazem o build falhar com uma mensagem clara.
Nesse caso, sem Django, FastAPI nem Flask, é o seu Procfile que indica o que é executado: uma linha web: para um servidor ou uma linha worker: para um processo em segundo plano. Sem essa linha, o build falha com um erro que indica o que deve adicionar.
Sim. Coloque-o num Procfile como worker: python job.py, adicione no separador Processes um processo chamado worker sem porta e defina web com 0 instâncias. Para scripts que correm de forma agendada, use antes o separador Cron.
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 EUR por mês: Aplicação 2 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.