Produto
Stackport
Sua VPS. Todos os seus apps. Zero trabalho braçal.
Para quem já paga uma VPS e roda mais de um app nela. O Stackport faz deploy de projetos Docker Compose do GitHub com HTTPS, registra os deploys para rollback e mostra o status dos serviços. Uso o Stackport para operar este site e outros serviços web da MattediWorks na minha VPS.
Código aberto · self-hosted
Do repositório ao serviço no ar
Conecte um repositório e uma branch do GitHub, faça deploy dos serviços Docker Compose e aponte um domínio para o serviço que deve receber o tráfego. O mesmo console reúne o commit em uso, a saúde, os logs e o terminal dos containers junto do app.
Em uso na MattediWorks
- Time
- Sozinho, do design ao deploy
- Período
- 2026-09 – atual
- Status
- Em uso diário nos serviços da MattediWorks
- Stack
- TypeScript, Node.js, Express, React, SQLite, Docker
Publicar, acompanhar, restaurar
Push e deploy
Conecte um repo do GitHub e escolha a branch. Cada commit novo vira um deploy fixado no commit exato.
HTTPS resolvido
Aponte um domínio para um serviço e uma porta. nginx e certificados Let's Encrypt, emitidos e renovados, ficam por conta dele.
Rollback sem medo
Todo deploy que dá certo guarda origem, config do Compose, branch e commit, pronto para restaurar.
Saiba o que está de pé
Health check, tempo de resposta, CPU, memória e estado dos containers num painel só, mais logs e terminal no browser.
Verificações na política de deploy
A política de deploy rejeita arquivos Compose que publicam portas no host, usam a rede do host, pedem containers privilegiados ou montam caminhos bloqueados do host.
Pronto para agentes
Um MCP server deixa seu agente de IA consultar status, projetos e deploys recentes.
Mantendo um host administrável
Sem porta no host, fail-closed
Um projeto cujo Compose publica porta ou usa rede do host é rejeitado no deploy, com um erro que aponta para
expose:. Quem decide o que o host expõe é o Stackport, não o projeto. Custa um pouco de atrito para adaptar um repo e elimina uma classe inteira de exposição acidental.Domínio aponta para serviço e porta, não para projeto
Cada domínio mapeia para um par (serviço, porta do container) dentro do projeto, então um projeto pode servir o web app num domínio e a API de admin em outro. A mudança de rede que faz isso funcionar é uma reescrita efêmera do Compose, nunca commitada no repo do projeto.
Tudo em Docker, nada instalado no host
Sem nginx, Certbot ou Node.js no host: ele só precisa de Docker, da CLI e de dois diretórios de estado. A configuração do nginx é gerada, validada e revertida se falhar, então um domínio errado nunca derruba o proxy dos outros projetos.
Serviços do sistema e apps gerenciados
- Backend Node/Express e client React em TypeScript; estado em SQLite.
- O plano do sistema (Stackport e o nginx dele) é um projeto Compose; cada projeto implantado é outro, separado.
- Os projetos entram numa rede compartilhada
stackport-proxy; o nginx chega neles pelo nome do serviço. - Uma CLI
stackportcuida de instalação, upgrade e recuperação de admin no host. - MCP server para agentes. Um projeto irmão, o Stackport MQTT, roda o broker Mosquitto só com TLS dos dispositivos NightMare e a API de controle dele em Go.
Até onde a plataforma vai
- Um host só: sem distribuir entre máquinas.
- A saúde aparece como "unknown" em projetos sem health check configurado.