Guia da família: publicar apps no Coolify

Você publica um app em três passos: o código vai para o GitHub, o Coolify monta o app, e ele abre em https://seunome-app.apps.aguiar.net. Funciona com qualquer ferramenta de IA, porque o Coolify só precisa do repositório no GitHub.

Painel: https://coolify.aguiar.net

1. Primeiro acesso

  1. Abra o link do e-mail de convite (começa com https://coolify.aguiar.net/...). Ele já entra no painel.
  2. Troque a senha: clique no seu nome/perfil e defina uma senha sua.
  3. Escolha o time certo. No canto superior esquerdo há um seletor de time. Use sempre Root Team, que é onde está o servidor. O time com o seu nome (ex.: lucas's Team) não tem servidor: projeto criado ali não publica.
  4. Se ainda não tiver, crie uma conta gratuita em https://github.com. É lá que o código fica guardado.

Você entra como administrador do painel. Isso permite criar tudo sozinho, mas também dá acesso a telas que controlam o servidor inteiro. Leia a seção 7 antes de começar.

2. Leve seu código para o GitHub

Cada app é um repositório no GitHub. Como chegar lá depende da ferramenta que você usa:

Você usa... Como mandar o código para o GitHub
IA que programa no seu computador (Claude Code, Cursor, Copilot, Codex, Gemini CLI...) Peça à própria IA: "crie um repositório no meu GitHub e envie este projeto (commit e push)".
Criador de apps no navegador (Lovable, Bolt, v0, Replit...) Procure o botão ou menu GitHub dentro da ferramenta e conecte sua conta. Ela cria o repositório e mantém atualizado.
Chat comum (ChatGPT, Claude, Gemini) copiando e colando arquivos Salve os arquivos numa pasta e envie com o GitHub Desktop (https://desktop.github.com), ou crie o repositório no site e use Add file → Upload files.
Nenhuma, quero só um programa pronto (WordPress, um banco de dados etc.) Não precisa de GitHub. No Coolify, em + New, escolha um serviço pronto da lista ou Docker Image.

Repositório público funciona direto. Para repositório privado, veja o passo 5.2.

3. Peça à sua IA para preparar o projeto

Antes de publicar, cole este pedido na ferramenta de IA que você usa. Ele deixa o projeto pronto para o Coolify:

Vou publicar este projeto no Coolify (deploy a partir do GitHub, atrás de um proxy que faz o HTTPS).
Prepare o projeto para isso:
1. Crie um Dockerfile na raiz que construa e rode o app em modo produção.
2. O app deve escutar em 0.0.0.0 (não em localhost), numa porta fixa. Me diga qual porta.
3. Nenhuma senha ou chave dentro do código: leia tudo de variáveis de ambiente
   e me dê a lista dessas variáveis com o que cada uma significa.
4. Se o app grava arquivos ou usa banco de dados, me diga quais pastas precisam
   de volume persistente e de qual banco ele precisa.
5. Crie um .dockerignore e confirme que o build funciona.
No fim, me diga: a porta, as variáveis de ambiente e as pastas persistentes.

Guarde as três respostas do fim (porta, variáveis, pastas). Você vai usá-las no próximo passo. Depois envie as mudanças para o GitHub de novo.

4. Como seu app vai se chamar

Todo app segue o padrão seunome-app: o mesmo nome vale para o projeto no Coolify, para o repositório no GitHub e para o endereço, que fica https://seunome-app.apps.aguiar.net.

Quem Prefixo Exemplo de projeto Endereço público
Lucas lucas- lucas-blog https://lucas-blog.apps.aguiar.net
Gabriela gabriela- gabriela-portfolio https://gabriela-portfolio.apps.aguiar.net
Claudia claudia- claudia-receitas https://claudia-receitas.apps.aguiar.net

5. Publique no Coolify

5.1 Criar o app

  1. Confira que o time selecionado é Root Team.
  2. Projects → + Add. Dê um nome começando com o seu (ex.: lucas-blog).
  3. Entre no projeto → ambiente production → + New.
  4. Escolha a origem: - Public Repository: cole o endereço do repositório (https://github.com/voce/seu-app). - Private Repository (with GitHub App): para repositório privado (veja 5.2).
  5. Em Server, escolha localhost.
  6. Build Pack: escolha Dockerfile (o que a IA criou no passo 3).
  7. Ports Exposes: a porta que a IA informou (ex.: 3000).
  8. Domains: escreva com http://, não https://:

    http://lucas-blog.apps.aguiar.net

O HTTPS é feito pelo servidor; o site abrirá em https://lucas-blog.apps.aguiar.net. Use um único nome antes de .apps (nada de a.b.apps.aguiar.net). 9. Environment Variables: cadastre as variáveis que a IA listou (senhas e chaves ficam aqui). 10. Resources (limites, obrigatório): CPU limit 1 e Memory limit de modo que a soma dos seus apps não passe de 3g. 11. Clique em Deploy e acompanhe o log. Quando terminar, abra o endereço do passo 8.

5.2 Repositório privado e publicação automática

Faça uma vez só, para ligar a sua conta do GitHub ao Coolify:

  1. No Root Team: Sources → + Add → GitHub App.
  2. Dê um nome com o seu (ex.: github-lucas), desmarque "Pull request previews" e clique em Continue.
  3. O GitHub abre (entre com a sua conta): confirme a criação do app.
  4. De volta ao Coolify, clique em Install e escolha Only select repositories, marcando só os repositórios que você quer publicar. Para incluir outro depois, repita o Install ou ajuste a lista nas configurações da App no GitHub.

Ao criar o app (5.1), escolha Private Repository (with GitHub App) e a sua fonte, nunca a de outra pessoa. Com isso, cada vez que você (ou sua IA) enviar mudanças para o GitHub, o Coolify publica a nova versão sozinho. Com repositório público sem GitHub App, clique em Redeploy no app para atualizar.

5.3 Banco de dados

Se o app precisa de banco: no mesmo projeto, + New → Databases (PostgreSQL, MySQL etc.). O Coolify mostra o endereço interno de conexão; copie para a variável de ambiente do app. Ative Backups no banco.

6. Limites

Cada pessoa tem 1 CPU e 3 GB de memória, somando todos os seus apps. O servidor tem 4 CPUs, 16 GB de memória e 199 GB de disco, divididos entre a família e os sistemas de produção do Marcos.

Recurso Seu limite Por quê
CPU 1 por pessoa, somando os apps São 4 CPUs para todos, incluindo a produção.
Memória 3 GB por pessoa, somando os apps O servidor não tem memória reserva (swap): se ela acaba, apps de outras pessoas caem.
Disco Sem cota automática; avise o Marcos antes de passar de 20 GB O disco é único. Se encher, tudo para, inclusive a produção.
Endereços novos Poucos por semana Há um teto de cerca de 50 certificados novos por semana para todo o aguiar.net.
Publicações (deploys) Uma de cada vez Montar um app usa bastante CPU enquanto dura.

7. Privacidade, backup e bom uso

Tudo o que você publica fica aberto na internet: qualquer pessoa com o endereço acessa.

8. Se algo der errado

Sintoma O que fazer
Não aparece servidor ao criar o app Você está no time pessoal. Troque para Root Team.
"Insufficient permissions" ou "Only an admin can place resources on the server" Sua conta ainda não é administradora. Peça ao Marcos para promovê-la.
O deploy falha Abra o log do deploy, copie as últimas linhas e cole na sua IA pedindo a correção. Envie a correção ao GitHub e publique de novo.
Deploy terminou, mas o site mostra erro 502/503 ou "no available server" Confira Ports Exposes (porta certa?) e se o app escuta em 0.0.0.0. Veja a aba Logs do app.
O endereço não abre de jeito nenhum Confira o campo Domains: precisa ser http://nome.apps.aguiar.net, com http:// e um único nome antes de .apps.
O app reinicia sozinho Provavelmente estourou a memória. Veja os Logs e ajuste o limite, respeitando o teto de 3 GB.
O Coolify não encontra o repositório privado Na GitHub App (passo 5.2), inclua o repositório na lista de permitidos.