CubeHosting

Hospedagem PythonSeu código Pythonrodando 24 horas.

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.

  1. Liste as dependências.

    Tudo o que o código importa vai no requirements.txt, com a versão quando quiser travar. Deixe venv, __pycache__ e .env fora do .zip: o ambiente é criado aqui.

  2. 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 PORT em 0.0.0.0, como no exemplo. Sem cube.json, o painel lê o requirements.txt e sugere o comando para você confirmar.

  3. 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.

Primeiros passos na documentação

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

rodando

A saída do seu processo chega no painel na hora. Sem SSH, sem baixar arquivo, sem esperar.

  1. [cube]projeto iniciado · 100 MB · node 22
  2. [bot]conectado como MeuBot#0001 · 3 servidores
  3. [bot]14 comandos registrados
  4. [bot]/ping respondido em 42 ms
  5. [bot]/rank respondido em 67 ms
  6. [bot]novo membro em Servidor do Léo: boas-vindas enviada
  7. [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.

0 de 4 falhas
  1. 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.

PlanoRAMvCPUBots de 100 MBSites e APIs de 512 MBPor mês
FreeEm breve100 MB0,251—R$ 0
Block1 GB1102R$ 5,99
Stack2 GB2204R$ 10,99
Tower4 GB3408R$ 23,99
Fortress8 GB48116R$ 47,99
EmpresasSob medidaSob medidaSob medidaSob medidaSob 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.