Deploy pelo GitHub

↓ Baixar .md

Deploy pelo GitHub

Conecte seu repositório GitHub e faça deploy automático a cada push ou nova release.

Pré-requisitos

  • Uma conta no PodCubo com uma stack criada
  • Um repositório no GitHub com um Dockerfile na raiz
  • Sua conta GitHub conectada ao PodCubo

Conectando o GitHub

  1. Acesse Stacks e entre na stack desejada
  2. Clique em New AppAppGit Repository
  3. Se ainda não conectou o GitHub, clique em Connect GitHub
  4. Autorize o PodCubo a acessar seus repositórios
  5. Selecione o repositório desejado

Configurando o Deploy

Branch ou Release

Você pode escolher fazer deploy de:

  • Branch — deploy automático a cada push nessa branch (ex: main, develop)
  • Release — deploy automático quando uma nova release é publicada no GitHub

Porta

Defina a porta que sua aplicação escuta. O PodCubo vai rotear o tráfego pra essa porta.

Exemplos comuns:
- Node.js/Express: 3000
- Python/Django: 8000
- Go: 8080
- Next.js: 3000

O Dockerfile

Sua aplicação precisa de um Dockerfile na raiz do repositório. Aqui estão exemplos pra os frameworks mais comuns:

Node.js

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "index.js"]

Next.js

FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./
EXPOSE 3000
CMD ["npm", "start"]

Python (Django/Flask)

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["gunicorn", "app:app", "--bind", "0.0.0.0:8000"]

Go

FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -o server .

FROM alpine:3.19
WORKDIR /app
COPY --from=builder /app/server .
EXPOSE 8080
CMD ["./server"]

Deploy Automático

Após criar o app, o PodCubo faz o primeiro deploy automaticamente. A cada novo push na branch configurada (ou nova release), o deploy é acionado novamente.

O processo é:

  1. Clone — PodCubo clona seu repositório
  2. Build — Constrói a imagem Docker a partir do Dockerfile
  3. Deploy — Inicia o container com a nova imagem

Você pode acompanhar o progresso em tempo real na tela de edição do app.

Rebuild Manual

Se precisar refazer o deploy manualmente (sem um novo push), use o botão Save & Rebuild na tela de edição do app.

Troubleshooting

Build falhou

  • Verifique se o Dockerfile está na raiz do repositório
  • Confira os logs de build na tela de edição do app
  • O PodCubo usa AI Error Diagnosis pra analisar erros de build e sugerir correções

App não responde

  • Confirme que a porta configurada no PodCubo é a mesma que sua app escuta
  • Verifique se sua app escuta em 0.0.0.0 (não apenas localhost ou 127.0.0.1)
  • Confira os logs da aplicação na aba de logs