2 Commits

Author SHA1 Message Date
8bd13b135c docs: update TODO with completed phases 4.1-4.3 and Discord manual steps 2026-03-21 09:37:00 +01:00
0bbb550eb3 Merge pull request #1 from cpalanca/fix/node22
fix: upgrade Node.js to 22
2026-03-21 09:14:15 +01:00

64
TODO.md
View File

@@ -48,39 +48,47 @@
## Pendiente — Tú lo haces en el VPS/GitHub
### 4.1 GitHub (15 min)
- [ ] Crear repositorio `carlospalanca.es` en GitHub
- [ ] Push inicial: `git init && git add . && git commit -m "feat: initial project setup" && git remote add origin <url> && git push -u origin main`
- [ ] Crear GitHub Fine-Grained PAT → ver `docs/setup/01-github.md`
- [ ] Añadir GitHub Secrets al repo → ver `docs/setup/01-github.md`
- [ ] Crear labels: `agent-created`, `needs-review`, `approved`
- [ ] Activar branch protection en `main` (requerir PR + CI)
### 4.1 GitHub
- [x] Crear repositorio `cpalanca/carlospalanca.es` en GitHub (público)
- [x] Push inicial a `main`
- [x] Crear GitHub Fine-Grained PAT (`carlospalanca-agents`) → guardado como secret `AGENTS_GH_TOKEN`
- [x] Añadir GitHub Secrets: `VPS_HOST`, `VPS_USER`, `VPS_SSH_PRIVATE_KEY`, `AGENTS_GH_TOKEN`, `OPENWEBUI_API_KEY`
- [x] Crear labels: `agent-created`, `needs-review`, `approved`
- [x] Activar branch protection ruleset en `main` (requiere PR)
### 4.2 VPS (30-60 min)
- [ ] Contratar VPS Ubuntu 24.04 (Hetzner CX22 recomendado ~5€/mes)
- [ ] Apuntar DNS `carlospalanca.es` y `ai.carlospalanca.es` a la IP del VPS
- [ ] Ejecutar `bash vps/deploy.sh` en el VPS → ver `docs/setup/02-vps.md`
- [ ] Obtener certificados SSL: `sudo certbot --nginx -d carlospalanca.es -d www.carlospalanca.es -d ai.carlospalanca.es`
- [ ] Verificar que `https://carlospalanca.es` carga la web
### 4.2 VPS
- [x] VPS existente en `217.154.185.188` (Ubuntu 24.04, Docker + NPM)
- [x] DNS `carlospalanca.es` y `ai.carlospalanca.es` apuntando al VPS
- [x] Stack `carlospalanca` con nginx:alpine en `/opt/stacks/carlospalanca/`
- [x] SSL gestionado por Nginx Proxy Manager
- [x] Deploy automático via GitHub Actions (push a `main` → rsync → `/opt/stacks/carlospalanca/html/`)
- [x] `https://carlospalanca.es` operativo
### 4.3 OpenWebUI (15 min)
- [ ] Subir `vps/docker-compose.openwebui.yml` al VPS en `/opt/openwebui/`
- [ ] Crear `/opt/openwebui/.env` → ver `docs/setup/03-openwebui.md`
- [ ] `docker compose up -d`
- [ ] Crear API key en OpenWebUI → guardar como `OPENWEBUI_API_KEY`
- [ ] Verificar `https://ai.carlospalanca.es`
### 4.3 OpenWebUI
- [x] Stack desplegado en `/opt/stacks/openwebui/` con proxy-net
- [x] NPM host `ai.carlospalanca.es``openwebui:8080` con SSL
- [x] Anthropic API key configurada (Claude 3.5 Sonnet)
- [x] API Keys habilitadas en admin → secret `OPENWEBUI_API_KEY` añadido al repo
- [x] `https://ai.carlospalanca.es` operativo
### 4.4 Discord (30 min)
- [ ] Crear 9 Discord Applications → ver `docs/setup/04-discord.md`
- [ ] Activar "Message Content Intent" en cada bot
- [ ] Invitar los 9 bots al servidor
- [ ] Crear los 9 canales de Discord
- [ ] Copiar los 9 Channel IDs
### 4.4 Discord ⏳ — MANUAL (no automatizable)
> Discord no permite crear bots por API. Hay que hacerlo desde https://discord.com/developers/applications
- [ ] Activar Developer Mode: Discord → Ajustes → Avanzado → Modo desarrollador
- [ ] Crear categoría `LA MANO DEL REY` en tu servidor y los 9 canales:
- `el-trono-de-hierro`, `el-pajarillo`, `la-ciudadela`, `el-banco-de-hierro`, `el-muro`
- `desembarco-del-rey`, `cara-sin-nombre`, `poniente-en-llamas`, `la-guardia-de-la-noche`
- [ ] Copiar los 9 Channel IDs (click derecho → Copiar ID)
- [ ] Crear 9 Discord Applications en https://discord.com/developers/applications:
- `Tyrion Lannister`, `Varys`, `Samwell Tarly`, `Bronn`, `Bran Stark`
- `Davos Seaworth`, `Arya Stark`, `Daenerys Targaryen`, `Jon Snow`
- [ ] En cada app → **Bot** → activar **Message Content Intent****Reset Token** → copiar token
- [ ] En cada app → **OAuth2** → bot permissions (Read + Send + History) → invitar al servidor
- [ ] Dar todos los tokens y Channel IDs para añadirlos como secrets
### 4.5 Despliegue de agentes (15 min)
- [ ] Subir `agents/` al VPS en `/opt/agents/`
- [ ] Crear `/opt/agents/.env` desde `.env.example` con todos los tokens
- [ ] `docker compose up -d --build`
- [ ] Dar tokens Discord y Channel IDs (ver 4.4)
- [ ] Claude Code desplegará `agents/` en `/opt/stacks/agents/` y creará el `.env`
- [ ] Verificar que los 9 bots aparecen online en Discord
### 4.6 Test end-to-end