Estúdio pessoal de estudo num VPS, orquestrado por sessões paralelas do Claude Code.
Você abre um chat com o manager pelo celular ou navegador, pede "crie uma thread sobre context windows", e ele lança uma sessão Claude isolada que conversa com você sobre o tema e gera uma página HTML rica em estilo editorial — tudo persistente, acessível de qualquer dispositivo via Remote Control.
┌────────────────────────────────┐
│ seu navegador / celular │
└───────────────┬────────────────┘
│ claude.ai/code/session_xxx
▼
┌───────────────────────────────────────────────────────────────┐
│ VPS (este pacote) │
│ │
│ tmux │
│ ├── manager ◀── orquestra threads │
│ ├── thread-foo ◀── estudo sobre foo (gera HTML em learn/) │
│ ├── thread-bar ◀── estudo sobre bar │
│ └── ... │
│ │
│ docker │
│ ├── traefik ◀── reverse proxy + SSL automático │
│ └── learn ◀── nginx servindo ~/sites/learn/public/ │
│ │
└───────────────────────────────────────────────────────────────┘
▲
│ HTTPS (Let's Encrypt)
┌───────────────┴────────────────┐
│ learn.<seu-dominio> │
└────────────────────────────────┘
Este projeto e o vídeo foram patrocinados pela Hostinger.
- Link: hostinger.com/otaviomiranda
- Cupom:
OTAVIOMIRANDA - Benefício:
OTAVIOMIRANDAdá +10% de desconto extra sobre o desconto do link.
Se quiser o template do Claude Code diretamente, use
www.hostg.xyz/SHJQM com o mesmo cupom
(OTAVIOMIRANDA).
- VPS Ubuntu 24.04 (testado) ou similar com
apt - Acesso sudo (NOPASSWD recomendado pra setup unattended)
- Domínio próprio com DNS apontando pro IP do VPS:
- Apex:
A <dominio> → IP-DO-VPS - Wildcard:
A *.<dominio> → IP-DO-VPS
- Apex:
- Portas 80 e 443 abertas no firewall (necessário pro desafio HTTP-01 do Let's Encrypt)
- Claude CLI instalado e autenticado (
claudeinterativo uma vez) - Conta Anthropic com plano que permita Remote Control (Pro/Max)
git clone https://github.com/<seu-user>/claude-vps-studio.git
cd claude-vps-studio
./setup.sh <seu-dominio> <seu-email>Exemplo:
./setup.sh meudominio.dev contato@meudominio.devO script:
- Confere DNS, instala Docker se faltar
- Copia os arquivos pra
~/(CLAUDE.md, PROMPT.md, manager/, sites/, infra/, bin/) - Substitui placeholders
__DOMAIN__e__EMAIL__ - Cria rede docker
web, sobe Traefik, sobe o sitelearn - Sobe a sessão tmux do
managere imprime a URL pra acessar pela web
Tempo total: ~3 minutos (a maior parte puxando imagens Docker).
| Arquivo / pasta | O quê |
|---|---|
CLAUDE.md |
Briefing do VPS — carregado automaticamente pelo Claude Code ao iniciar em ~ |
PROMPT.md |
Prompt inicial pra colar no Claude principal quando você entrar pelo SSH |
manager/CLAUDE.md |
Briefing do Claude "manager" — define o papel dele de orquestrar threads |
bin/claude-thread |
Script CLI: new, list, url, peek, kill |
infra/traefik/ |
Reverse proxy + Let's Encrypt automático |
sites/_template/ |
Template docker-compose.yml pra novos projetos |
sites/learn/ |
App de estudos: nginx + design system em CSS |
sites/learn/STYLE.md |
Guia de estilo que as threads filhas seguem ao gerar páginas |
sites/learn/public/prompt-caching/ |
Exemplo de estudo gerado (pode deletar) |
Depois do setup, você tem 3 jeitos de interagir:
Abra a URL do manager (impressa pelo setup.sh no final, ou recupere com
~/bin/claude-thread url manager). Logue na sua conta Anthropic.
Exemplos do que falar com o manager:
"crie uma thread sobre context windows"
→ Ele responde com uma URL nova. Abra essa URL em outra aba — você está numa
sessão Claude isolada que vai gerar uma página em
~/sites/learn/public/context-windows/.
"lista as threads abertas"
→ Lista tudo + URLs.
"fecha a thread context-windows"
→ Mata a sessão tmux.
Entre no VPS, rode claude em ~. Cole o conteúdo de ~/PROMPT.md na primeira
mensagem. Esse Claude tem acesso à infra inteira — use pra: criar sites novos,
mexer em Traefik, debugar containers, etc.
Cada thread tem sua própria URL claude.ai. Você abre, conversa sobre o tema, ela
gera HTML em ~/sites/learn/public/<slug>/ seguindo o STYLE.md, e o resultado
fica em https://learn.<seu-dominio>/<slug>/.
- Mudar o design das páginas: edite
~/sites/learn/STYLE.mde/ou~/sites/learn/public/assets/style.css. As threads filhas leem oSTYLE.mdantes de cada geração. - Mudar o tom do Claude: edite
~/CLAUDE.mdou~/manager/CLAUDE.md. - Adicionar um site novo: copie
~/sites/_template/, edite os placeholders,docker compose up -d. - Idioma diferente: mude as instruções em
CLAUDE.mdemanager/CLAUDE.md(atualmente em PT-BR).
| Sintoma | Causa provável |
|---|---|
curl: (60) SSL certificate problem |
Let's Encrypt ainda não emitiu. Espere 30s e tente de novo. Se persistir: cheque DNS e portas 80/443. |
| Manager não tem URL | A sessão claude ainda está inicializando. tmux capture-pane -t manager -p mostra o estado. Espere mais 10s. |
claude-thread: command not found |
~/bin não está no PATH. source ~/.bashrc ou reabra o shell. |
| Manager pede confirmação interativa | Você precisou logar no claude. SSH no VPS, claude direto, faça login, depois tmux kill-session -t manager e rode o setup de novo. |
- Persistência em reboot: sessões tmux morrem em reboot do VPS. Pra sobreviver, configure como systemd service (futuro).
- Acesso compartilhado: quem tiver a URL do manager pode controlá-lo. Trate como segredo. Em ambientes sensíveis, exponha só via VPN (WireGuard).
- Custo: cada sessão paralela consome cota da sua conta Anthropic. Threads são caras — use com parcimônia, descarte quando terminar.
MIT. Use à vontade, modifique, ensine. Se publicar uma fork ou variação, ficaria legal um crédito ao projeto original.
Este projeto nasceu de um experimento gravado em vídeo: "e se o Claude pudesse orquestrar outros Claudes pra eu estudar pelo celular?" — A arquitetura inteira foi montada em conversa com o Claude no próprio VPS.