Início rápido

Início rápido — Python

Publique uma aplicação Python funcional na Zenifra usando a origem Repositório Git com o provedor GitHub.

Pré-requisitos

Nota: Este quickstart usa o GitHub. O mesmo fluxo vale para um repositório Forgejo; veja Implantação via Forgejo.

Passo 1 — Crie sua aplicação

mkdir hello-zenifra-python
cd hello-zenifra-python
python -m venv .venv
source .venv/bin/activate
pip install fastapi uvicorn

Crie main.py:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello from Zenifra!", "runtime": "python"}

@app.get("/health")
async def health():
    return {"status": "ok"}

Crie requirements.txt com as dependências:

fastapi
uvicorn

Importante: a Zenifra instala as dependências com pip install -r requirements.txt a partir da raiz do repositório (ou do Diretório raiz configurado no projeto). Sem esse arquivo, nenhuma dependência é instalada.

Passo 2 — Publique no GitHub

Crie um repositório no GitHub e envie o código:

git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/your-username/hello-zenifra-python.git
git push -u origin main

Passo 3 — Crie o projeto na Zenifra

  1. No console, escolha Origem do Projeto como Repositório Git e, em Provedor Git, selecione GitHub.
  2. Selecione o repositório e a branch main.
  3. Em Runtime, selecione Python e escolha a Versão.
  4. No campo Porta, mantenha 8000, a porta padrão do runtime Python.
  5. Em Comando Start, use uvicorn main:app --host 0.0.0.0 --port 8000.
  6. Se quiser atualização automática por push, selecione Automático por branch em Modo de deploy.
  7. Clique em Criar Projeto.

Sua aplicação ficará disponível em *.clients.zenifra.com.

Passo 4 — Valide o deploy

Abra a URL pública e teste /health. Se a aplicação não responder, revise a porta, o Comando Start e os Logs de Build. Os logs da aplicação ficam disponíveis em todos os planos.

Publicando uma aplicação Flask

Para Flask, a configuração é praticamente idêntica. Use gunicorn app:app --bind 0.0.0.0:8000 no Comando Start:

# app.py
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return {"message": "Hello from Zenifra with Flask!"}
# requirements.txt
flask
gunicorn

Observação sobre runtime

Na Zenifra, o runtime é escolhido no momento da criação do projeto. Para mais detalhes sobre instalação de dependências, comandos e limitações, consulte a página de Runtimes.

Próximos passos

Última atualização em

Nessa página