Cleat
PaaS self-hosted via SSH

Deploy nos seus servidores. Não nos de outra pessoa.

O Cleat é um painel, um CLI e um servidor MCP para fazer deploy de apps Phoenix, Go, Node, Rails e estáticos via SSH — com push-to-deploy do GitHub.

deploy lumina sucesso
==> [ 1s] Node v22.23.2, npm 10.9.8
==> [13s] Building
==> [20s] Saída Nitro independente; removendo node_modules
==> [21s] Publicando em /opt/lumina/releases/build
==> [25s] Done in 25s
==> Deployment successful — live at lumina.apps.example.com

Runtimes

Phoenix / Elixir

Release OTP, migrations e unit do systemd.

Go

Binários Cais, compilados na VM.

Node

Next.js e TanStack Start, saída Nitro independente.

Ruby on Rails

Puma atrás do Caddy, assets e preparo do banco.

Estático

HTML/CSS/JS puro servido pelo Caddy. Sem git.

Como funciona

  1. 01

    git push

    Push na branch vinculada.

  2. 02

    Webhook

    Verificado por HMAC, enfileirado no Oban.

  3. 03

    Build na VM

    Clonado e compilado via SSH.

  4. 04

    Publicar

    Release, systemd e Caddy.

Três formas de usar

Cadastre uma VM, vincule um repositório, clique em Deploy. O Cleat provisiona o Caddy e a unit do systemd para você.

# cadastre o servidor uma vez
cleat servers create --name web-1 --ip 203.0.113.10 --ssh-key-file ~/.ssh/id_ed25519  # imprime o id

# vincule o repositório e faça o deploy
cleat deploy --repo owner/app --server 5 --host app.example.com --watch

Recursos

Webhooks do GitHub

Push-to-deploy verificado por HMAC.

Fila Oban

Deploys em segundo plano, um por host.

Logs de build ao vivo

Acompanhe o terminal enquanto compila.

Variáveis de ambiente criptografadas

Gravadas no servidor no deploy.

Disco e memória

Uso por servidor no dashboard.

MCP embutido

Agentes fazem deploy sem shell.