VPS Hermes — acesso e estrutura
VPS Hermes — 187.127.24.217
Servidor único que hospeda projetos Kodama (LunaCRM, Vault, Hermes, Excalidraw, Evolution).
Acesso SSH
ssh root@187.127.24.217
User: root. Chave SSH local já autorizada (sem senha).
Comandos rápidos sem sessão interativa:
ssh root@187.127.24.217 "docker ps"
ssh root@187.127.24.217 "cd /home/lunacrm/app && git pull && docker compose up -d --build"
Diretórios /home
| Path | Projeto |
|---|---|
/home/lunacrm/app/ |
LunaCRM (web + api + redis + monitoring) |
/home/vault-site/ |
Astro Starlight vault.kodama.solutions |
/home/hermes/ |
Hermes Gateway |
/home/hermes-voice/ |
Hermes voice bot |
/home/excalidraw/ |
Excalidraw canvas MCP |
/home/silverbullet/space/ |
Vault notes (espelhado pelo container silverbullet legado) |
/home/ubuntu/ |
Default ubuntu home |
Reverse proxy — nginx native (não Traefik)
Configs em /etc/nginx/sites-enabled/:
hermes.kodama.solutionsluna.kodama.solutions+luna.kodama.solutions.confvault.kodama.solutions
Reload após edit:
nginx -t && systemctl reload nginx
Cloudflare na frente (CDN + SSL).
Containers ativos
LunaCRM
lunacrm-web— Next.js 16 (ghcr.io/kodama1/lunacrm-web:latest)lunacrm-api— Elysia.js Bun (ghcr.io/kodama1/lunacrm-api:latest)lunacrm-redis— Redis 7 (BullMQ + cache)lunacrm-evolution— Evolution API v1.8.7 (WhatsApp)lunacrm-evolution-db— postgres:17-alpine (isolado, só Evolution, app principal usa Neon)lunacrm-grafana,lunacrm-prometheus,lunacrm-node-exporter,lunacrm-cadvisor,lunacrm-dozzle— observabilidade
Vault
vault-site— Astro Starlight emvault.kodama.solutionsvault-chat-api— chat API do vault
Hermes
hermes-gatewayhermes-dashboard
Outros
excalidraw-canvas— MCP excalidrawagent-scraper-agent-scraper-1— scraper agentvigilant_noether— Evolution API v2.1.1 (instância secundária, sem nome custom)
Subdomínios kodama.solutions
| Subdomain | Aponta pra |
|---|---|
luna |
LunaCRM web |
api.luna |
LunaCRM API |
vault |
Vault Starlight |
hermes |
Hermes Gateway |
DNS via Cloudflare.
Deploy patterns
LunaCRM
- Push pra
master→ GitHub Actions build → push GHCR → SSH deploy automático - Manual fallback:
ssh root@187.127.24.217 "cd /home/lunacrm/app && docker compose pull && docker compose up -d"
Vault site
- Push pro repo
kodama1/vault→ atualmente manual:ssh root@187.127.24.217 cd /home/vault-site && git pull && docker compose up -d --build - TODO: GitHub Actions auto deploy (faltam secrets configurados)
Logs e debug
# Logs por container
ssh root@187.127.24.217 "docker logs lunacrm-api --tail 100 -f"
# Dozzle UI (logs web)
# http://luna.kodama.solutions:9999 (ou via subdomínio se exposto)
# Grafana
# http://luna.kodama.solutions:3000 (admin/admin default — trocar)
Env vars produção
LunaCRM: /home/lunacrm/app/.env.production
Críticas:
COOKIE_DOMAIN=.luna.kodama.solutions(leading dot pra cross-subdomain)NEXT_PUBLIC_API_URL,NEXT_PUBLIC_SOCKET_URL(build args Docker)DATABASE_URL(Neon)REDIS_URL(container local)EVOLUTION_API_KEY,EVOLUTION_API_URLBETTER_AUTH_SECRETANTHROPIC_API_KEY
Não commita .env.production — só lê via SSH se precisar inspecionar.