Hospedagem Python
Envie o projeto Python num .zip: a Cube cria o ambiente virtual, instala o requirements.txt com pip e liga o bot ou a API. O que o print escreve aparece nos logs na hora, e o preço começa em R$ 5,99 por mês no Pix, sem fidelidade.
Python para bots, APIs e automaçõesDo discord.py ao FastAPI.
Bot que fica conectado, API que responde na web ou script que roda sem parar: todos entram no mesmo painel, cada um com a memória que você reservar.
Bots de Discord
discord.py e forks como py-cord, nextcord e disnake conectam como na sua máquina. O token fica nas variáveis, e o bot volta sozinho se cair nos planos pagos.
APIs com FastAPI
Suba com o uvicorn na porta da variável PORT e ganhe nome.cubehost.dev com HTTPS. A documentação automática do FastAPI, em /docs, abre no mesmo endereço.
Flask e Django
Rode com o gunicorn, escutando em 0.0.0.0 na porta da PORT. Sites, painéis e webhooks em Flask, Django ou outro framework WSGI funcionam do mesmo jeito.
Automações
Um script que roda em laço, agenda tarefas ou vigia uma API fica no ar como bot, sem abrir porta, a partir de 100 MB.
Python 3.11 e 3.12 com pip e venvAmbiente virtual já montado.
Nada de instalar Python, criar venv ou acertar o PATH no servidor. O projeto já sobe com isso resolvido.
A Cube cria um ambiente virtual só do projeto e instala o requirements.txt com pip. O comando de início já roda dentro dele, então python main.py, uvicorn e gunicorn funcionam sem caminho completo.
Todo projeto roda com PYTHONUNBUFFERED=1: o que o print escreve aparece nos logs na hora, sem flush. A instalação só roda de novo quando o requirements.txt ou a versão do Python mudam; mexeu só no código, o projeto reinicia com os pacotes que já estavam lá.
- Python
- 3.11 e 3.12
- Sem versão escolhida
- Python 3.12
- Dependências
- pip install -r requirements.txt
- Ambiente
- venv só do projeto
- Saída do print
- aparece na hora
- Áudio e vídeo
- FFmpeg já instalado
Como hospedar um projeto PythonTrês arquivos e o projeto sobe.
O seu código, o requirements.txt e o cube.json. O caminho serve para bot e para API; no bot, o comando é só python main.py, sem porta.
Liste as dependências.
Tudo o que o código importa vai no
requirements.txt, com a versão quando quiser travar. Deixevenv,__pycache__e.envfora do .zip: o ambiente é criado aqui.Escreva o cube.json.
Diga a linguagem, a versão, o comando e a memória. Numa API, o comando abre a porta da variável
PORTem0.0.0.0, como no exemplo. Semcube.json, o painel lê o requirements.txt e sugere o comando para você confirmar.Envie e acompanhe.
Solte o .zip em Novo projeto. Os Logs mostram o pip instalando e, depois, a saída do seu código. Se a instalação falhar, Cube AI lê o erro e explica o que fazer.
requirements.txt · API com FastAPI
fastapiuvicorn[standard]cube.json · API com FastAPI
{ "name": "minha-api", "type": "site", "language": "python", "version": "3.12", "command": "uvicorn main:app --host 0.0.0.0 --port $PORT", "memoryMb": 512}Bot também serve. Para um bot de discord.py, use "type": "bot", o comando python main.py e a memória a partir de 100 MB.
Hospedagem de bot Discord 24/7Quando cai, você sabe. E ele volta sozinho.
Logs em tempo real e auto-reinício em todo plano pago. Derrube o bot aqui do lado e veja o que acontece.
Logs em tempo real
rodandoA saída do seu processo chega no painel na hora. Sem SSH, sem baixar arquivo, sem esperar.
- 21:03:36[cube]projeto iniciado · 100 MB · node 22
- 21:03:37[bot]conectado como MeuBot#0001 · 3 servidores
- 21:03:38[bot]14 comandos registrados
- 21:03:45[bot]/ping respondido em 42 ms
- 21:03:50[bot]/rank respondido em 67 ms
- 21:03:56[bot]novo membro em Servidor do Léo: boas-vindas enviada
- 21:04:03[bot]/play "lofi" pedido por @ana em #música
Auto-reinício que sabe parar
Caiu, a Cube sobe de novo com espera crescente. Caiu em sequência, ela para e te avisa em vez de ficar em loop.
- Nenhuma falha. Tudo de pé.
Parado depois de 0 falhas seguidas. Veja os logs.
Quanto de RAM um projeto Python precisaComece pelo mínimo. Cresça pelo gráfico.
Um bot reserva a partir de 100 MB e um site ou uma API a partir de 512 MB. A soma dos projetos nunca passa da RAM do plano.
Um bot de discord.py simples costuma caber no mínimo. Pandas, bibliotecas de imagem e caches grandes pedem mais: acompanhe o pico no gráfico de memória da página do projeto e aumente em Configurações, sem reenviar o .zip.
| Plano | RAM | vCPU | Bots de 100 MB | Sites e APIs de 512 MB | Por mês |
|---|---|---|---|---|---|
| FreeEm breve | 100 MB | 0,25 | 1 | — | R$ 0 |
| Block | 1 GB | 1 | 10 | 2 | R$ 5,99 |
| Stack | 2 GB | 2 | 20 | 4 | R$ 10,99 |
| Tower | 4 GB | 3 | 40 | 8 | R$ 23,99 |
| Fortress | 8 GB | 4 | 81 | 16 | R$ 47,99 |
| Empresas | Sob medida | Sob medida | Sob medida | Sob medida | Sob consulta |
Hospedagem PythonPerguntas frequentes.
As dúvidas de quem leva um projeto Python do computador para a hospedagem.
Uso Poetry ou só tenho o pyproject.toml. Funciona?
Funciona, desde que venha um requirements.txt: é só ele que a instalação lê. Gere o arquivo no seu ambiente com pip freeze > requirements.txt, ou exporte pelo Poetry, e envie junto. Se o .zip tiver só o pyproject.toml, o painel avisa antes de enviar.
Qual comando uso numa API com FastAPI?
uvicorn main:app --host 0.0.0.0 --port $PORT, trocando main pelo nome do arquivo e app pela variável do FastAPI. Ponha o uvicorn no requirements.txt. A porta vem da variável PORT, e o endereço nome.cubehost.dev já chega com HTTPS.
E com Flask ou Django?
Use o gunicorn, feito para produção: gunicorn -w 2 -b 0.0.0.0:$PORT app:app no Flask ou gunicorn -b 0.0.0.0:$PORT meusite.wsgi no Django, com o gunicorn no requirements.txt. O flask run e o manage.py runserver também sobem, mas são servidores de desenvolvimento.
Qual versão do Python entra se eu não escolher?
O Python 3.12, a mais nova. Para fixar o 3.11, ponha "version": "3.11" no cube.json ou escolha em Novo projeto. Trocar depois, em Configurações, reinstala as dependências no próximo início, porque cada versão tem o próprio ambiente virtual.
Dá para rodar tarefas agendadas?
Dá, dentro do próprio projeto: um processo que fica no ar com APScheduler ou schedule dispara as tarefas na hora certa. Não existe cron separado no painel; o projeto roda como bot, sem porta, a partir de 100 MB.
Posso usar SQLite?
Pode, e o arquivo continua lá quando o projeto reinicia. Só que enviar um .zip novo troca os arquivos do projeto pelos do .zip, e o banco vai junto. Nos planos pagos, o explorador de arquivos resolve: baixe o banco antes de reenviar, ou mude só o código por ele. Os bancos PostgreSQL, MySQL, MongoDB e Redis chegam em breve.
Seu primeiro deploy leva menos que um café.
Crie a conta, envie o .zip e o bot está no ar antes de a xícara esfriar. Sem cartão de crédito: os planos são pagos no Pix, mês a mês.