Há alguns meses, pagando $7/mês por um servidor de 512MB no Render
pra hospedar uma API de um projeto da escola, decidi entender como
esse tipo de infraestrutura funciona por baixo — e construir a
minha própria versão.
O resultado é o Arctis Deploy: uma plataforma de deploy
contínuo via Git, com Docker isolado por projeto. Esse post é
sobre como ela funciona por dentro.
Arquitetura geral
Frontend (Next.js)
│
▼
Backend (Go + Fiber) — Clean Architecture
│
├──► Deploy-Agent (roda em cada servidor) → Docker
└──► Database-Agent (provisiona MySQL/Postgres)
- em desenvolvimento, ainda não disponível para usuários
Cada servidor de produção roda um deploy-agent próprio. O
backend central envia comandos via HTTPs autenticado e o agent
executa o que for necessário — clone, build, container, métricas.
O pipeline de deploy
Todo deploy passa por 5 etapas sequenciais:
-
clone —
git clone --depth 1, otimizado pra trazer só o necessário -
analyze — detecta o framework automaticamente lendo
package.json,requirements.txt,go.mod, etc. - build — gera um Dockerfile multi-stage específico pro framework detectado (timeout: 15min)
- deploy — sobe o container na porta alocada, com limites de CPU/RAM aplicados
- health check — faz requisições até o container responder, com rollback automático em caso de falha
Cada etapa emite logs estruturados (info/warn/error),
transmitidos via WebSocket em tempo real pro frontend.
Detecção automática de framework
Next.js, React, Vue, Node.js, e sites estáticos.
A detecção é baseada nos arquivos do repositório — o usuário só
conecta o Git e dá push.
Outros detalhes
- Pool de recursos: cada plano define um total de Projetos/CPU/RAM/disco que o usuário distribui livremente entre seus projetos
-
Auto-sleep: no free, containers sem tráfego são pausados
(
docker pause) — não destruídos — e despertam automaticamente na próxima requisição - Domínios: subdomínio automático ou domínio próprio, com SSL via Cloudflare
- Pagamentos: MercadoPago integrado, planos em real
Validação inicial
Postei essa história no Tabnews e, em poucos dias, tive mais de
250 pageviews e 65+ visitantes únicos, boa parte chegando até a
documentação e o dashboard. Ainda early stage, mas validou que a
dor — preço em dólar, pouco recurso — é real pra outros devs também.
Testar
A plataforma está em beta público: https://launch.arctisdev.com
Plano free: 2 vCPUs, 2GB RAM, 4GB disco — sem cartão.
Se quiser trocar ideia sobre a arquitetura, decisões técnicas ou
tiver sugestões, comenta aqui ou entra no Discord.
Top comments (0)