Voltar as noticias
Desenvolva um app no Ghost + Fly.io por $2/mês
TutoriaisMediaEN

Desenvolva um app no Ghost + Fly.io por $2/mês

Dev.to - MCP·11 de maio de 2026

Colocar um aplicativo público real na internet não deveria custar $25/mês apenas para o Postgres gerenciado — antes mesmo de você adicionar computação ou enviar um recurso. O Ghost fornece o banco de dados, o Fly.io fornece o host, e seu agente de IA faz a parte de encanamento.

Você pode lançar um aplicativo de hobby com tráfego esparso voltado para o público, apoiado pelo Postgres, por aproximadamente o custo de um café por mês.

Para quem isso é

Este guia é para desenvolvedores que usam um agente de codificação de IA (Claude Code, Cursor, Codex, Windsurf, etc.) e querem enviar um pequeno aplicativo público de forma rápida e barata. Você não precisa saber SQL ou Docker — o agente cuida de ambos — mas deve estar confortável em aprovar comandos de shell que o agente executa em seu nome.

Você vai precisar de:

  • Um agente de codificação de IA com suporte a MCP e uma ferramenta Bash/shell (Claude Code, Cursor em modo agente, Codex, Windsurf, Gemini CLI, VS Code, Kiro ou Antigravity). A ferramenta de shell é o que permite que o agente execute flyctl e npm em seu nome — a maioria dos agentes modernos possui isso.
  • macOS, Linux ou Windows (WSL recomendado no Windows para flyctl).
  • Uma conta Fly.io com um cartão de crédito cadastrado.
  • Uma conexão com a internet. O agente instalará todo o resto (flyctl, Node, etc.) por conta própria.

O que é o Ghost

Ghost é o Postgres para construtores e seus agentes. Bancos de dados ilimitados, medidos por horas de computação ativa. Tudo via CLI e MCP, sem necessidade de GUI.

Crie um em segundos, faça um fork como no git quando quiser experimentar com segurança, compartilhe com um link simples como um documento do Google. Gradue-se para produção com um comando ou jogue fora quando terminar.

A camada gratuita cobre 100 horas de computação ativa por mês e 1TB de armazenamento. A computação é medida em blocos de 15 minutos quando algo consulta o banco de dados; um banco de dados ocioso não consome computação. Um aplicativo de hobby com tráfego esparso — um punhado de visitas humanas por dia — se encaixa confortavelmente na camada gratuita.

Você pode fazer isso com alternativas ao Postgres gerenciado como Neon, Supabase ou RDS — mas esses cobram uma taxa mensal fixa, limitam a contagem de projetos ou o forçam a passar por uma GUI para alterações que o agente poderia fazer em segundos. O Ghost é a maneira mais barata e nativa para agentes de enviar um aplicativo público com um verdadeiro Postgres.

O que você fará

Neste guia, vamos implantar um aplicativo de tarefas públicas no Fly.io com um banco de dados Ghost Postgres. Após um bootstrap único, o agente faz todo o resto — você apenas cola os prompts.

  1. Bootstrap (você): instale o Ghost CLI e flyctl, faça login, configure o servidor Ghost MCP em seu agente.
  2. Estruture o aplicativo + crie o banco de dados + defina o esquema (agente): gere um pequeno aplicativo de tarefas Express, crie um banco de dados Ghost, defina uma tabela todos.
  3. Conecte o aplicativo ao banco de dados e teste localmente (agente): defina DATABASE_URL, execute o aplicativo em localhost, faça uma viagem de ida e volta de uma tarefa pelo banco de dados.
  4. Implante no Fly.io (agente): crie o aplicativo Fly, envie a string de conexão como um segredo, implante em uma URL *.fly.dev.
  5. Verifique o aplicativo público (agente): faça um curl na URL ao vivo, adicione uma tarefa via HTTPS, confirme que ela chegou ao Ghost.
  6. Abra no seu navegador (você): use o aplicativo ao vivo e compartilhe a URL.
  7. Limpe (agente): destrua o aplicativo Fly e exclua o banco de dados Ghost.

Passo 1 — Bootstrap (você, uma vez)

Esta é a única parte que você não pode delegar.

Instale o ghost CLI:

curl -fsSL https://install.ghost.build | sh

No Windows, execute irm https://install.ghost.build/install.ps1 | iex no PowerShell.

Instale o flyctl:

curl -L https://fly.io/install.sh | sh

No Windows, execute pwsh -Command "iwr https://fly.io/install.ps1 -useb | iex".

Faça login em ambos:

ghost login
flyctl auth login

Cada um abre seu navegador. flyctl auth login solicita que você adicione um cartão de crédito se ainda não o fez.

Configure o Ghost como um servidor MCP em seu agente. Para Claude Code:

ghost mcp install claude-code

Substitua claude-code por cursor, codex, windsurf, gemini, vscode, kiro-cli ou antigravity se você usar um agente diferente. Execute ghost mcp install sem argumento para um seletor interativo.

Reinicie seu agente para que ele reconheça o novo servidor MCP.

Saída esperada:

$ ghost --version
ghost version 1.x.x

$ flyctl version
flyctl v0.x.x ...

Uma vez que ambos os CLIs estejam instalados, você esteja logado e o agente tenha sido reiniciado, o resto é com o agente.

Passo 2 — Estruturar o aplicativo, criar o banco de dados, definir o esquema (agente)

Diga ao agente:

Construa um aplicativo de tarefas público mínimo que eu possa implantar no Fly.io.

Crie um diretório vazio chamado `todo-app` e trabalhe dentro dele.

Stack: Node.js com Express e o pacote `pg`. Um arquivo de servidor. HTML renderizado no servidor — sem framework frontend. Leia DATABASE_URL do ambiente.

Rotas:
- GET  /                  renderize a lista de tarefas com um pequeno formulário para adicionar uma nova
- POST /todos             insira uma nova tarefa a partir dos dados do formulário, em seguida, redirecione para /
- POST /todos/:id/done    marque uma tarefa como concluída, em seguida, redirecione para /

Arquivos a serem escritos:
- package.json             express + pg + dotenv
- server.js                o aplicativo
- Dockerfile               runtime mínimo do Node, copia package.json + server.js, executa `node server.js`
- fly.toml                 app = "todo-app", primary_region = "iad", [http_service] com internal_port=3000, force_https=true, auto_stop_machines="stop", auto_start_machines=true, min_machines_running=0. Sem bloco [[services]]. Sem [[mounts]]. Sem Postgres gerenciado.
- .dockerignore            node_modules, .env, .git

Então, usando o Ghost MCP:
1. Crie um novo banco de dados Ghost chamado "todo-app". Aguarde até que esteja pronto.
2. Crie uma tabela `todos` com colunas: id (chave primária serial), texto (texto não nulo), concluído (booleano padrão falso), created_at (timestamptz padrão agora()).
3. Imprima a string de conexão para que eu possa usá-la na próxima etapa.

Não use um framework de migração. Não adicione autenticação. Mantenha o server.js com menos de 100 linhas.

O agente irá:

  1. Escrever package.json, server.js, Dockerfile, fly.toml, .dockerignore, e HTML mínimo.
  2. Criar o banco de dados Ghost.
  3. Criar a tabela todos.
  4. Imprimir a string de conexão.

Saída esperada:

Banco de dados "todo-app" criado (status: em execução).
Tabela "todos" criada com 4 colunas.
Conexão: postgres://tsdbadmin:...@...tsdb.cloud.tim
Contexto Triplo Up

Este artigo oferece um tutorial prático para desenvolvedores brasileiros que desejam utilizar agentes de IA para simplificar o processo de desenvolvimento de aplicativos. A abordagem de baixo custo pode democratizar o acesso a soluções de hospedagem e banco de dados, tornando mais fácil para pequenas empresas e startups lançarem seus produtos.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.