Implantações
Uma implantação (deploy) é uma versão da sua aplicação que a W8 Hub construiu e publicou. Nesta aba você acompanha o histórico dessas versões, conecta o GitHub para deploys automáticos a cada push e escolhe como a W8 Hub monta a imagem.
Como funciona o deploy
Cada implantação gera uma nova versão da instalação. No painel você acompanha o histórico e abre o detalhe de cada uma, com os logs de build e publicação.
- Disparar deploy: manualmente (botão Novo Deploy) ou a partir de um push no GitHub conectado.
- Histórico: veja todas as versões, com commit, status, autor e duração.
- Voltar versão: reimplante um deployment anterior quando precisar reverter uma mudança.
Clique em uma implantação para abrir o detalhe: ali ficam os logs completos de build e publicação, o commit, a duração e as ações de reimplantar ou cancelar.
Conectar o GitHub
Conecte o GitHub à sua organização para fazer deploy de repositórios privados e sincronizar branches.
- Faça a integração do GitHub primeiro (obrigatório). Conecte e autorize a conta/organização do GitHub nas Integrações (via GitHub App). Sem essa integração, seus repositórios — sobretudo os privados — não aparecem na hora de criar a instalação.
- Escolha o repositório e a branch — a W8 Hub lê a árvore de arquivos e as branches direto do GitHub. A branch precisa já existir no repositório; a plataforma não cria branches para você.
- Crie a instalação a partir do repositório dentro de um projeto.
- Faça deploy a partir de uma branch/commit; a cada push naquela branch, um novo deploy roda automaticamente.
Modos de build
Ao criar uma instalação a partir de um repositório, você escolhe o Build Pack (no passo Configurar do assistente de nova instalação) — é como a W8 Hub monta a imagem:
| Build Pack | Como funciona | Quando usar |
|---|---|---|
| Nixpacks | Detecção automática de linguagem e framework — builda sem você escrever Dockerfile. | A maioria dos apps (Node, Python, Go, Ruby, PHP…). |
| Dockerfile | Usa o Dockerfile existente no repositório. | Quando você precisa de controle total do ambiente. |
| Static | Serve um site estático (HTML, CSS, JS). | Sites e landing pages já compilados. |
| Static SPA | Single Page Application, com fallback de rotas para o index. | React, Vue, Angular e afins. |
Ou seja: na maioria dos casos você não precisa de Dockerfile — o Nixpacks detecta e builda. O Dockerfile só é necessário quando você quer controle total do ambiente (e, novamente, apenas em instalações a partir do GitHub).
Exemplos de Dockerfile por stack
Ao escolher o Build Pack Dockerfile (origem GitHub), a W8 Hub builda a imagem a partir do arquivo Dockerfile na raiz do repositório. Em todos os exemplos, garanta que o container escute na mesma porta configurada na instalação. Alguns modelos por linguagem:
Node.js / Next.js
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
Python (Django, Flask ou FastAPI)
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
# WSGI (Django/Flask): gunicorn app:app
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
PHP / WordPress
FROM php:8.2-apache
RUN docker-php-ext-install pdo pdo_mysql
COPY . /var/www/html/
EXPOSE 80
# Para WordPress, basta a imagem oficial:
# FROM wordpress:php8.2-apache
Go (build multi-stage)
FROM golang:1.22-alpine AS build
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN go build -o /app/server .
FROM alpine:3.20
COPY --from=build /app/server /server
EXPOSE 8080
CMD ["/server"]
.NET
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY . .
RUN dotnet publish -c Release -o /app
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY --from=build /app .
EXPOSE 8080
CMD ["dotnet", "MinhaApi.dll"]