De un piso con WiFi a infra real: una semana de Cohete
Esta semana empezamos con un blog corriendo en un PC viejo conectado por WiFi en un piso de Alhama de Murcia. Terminamos con un framework publicado en Packagist, un VPS con NixOS en Nuremberg, y 4 maquinas sincronizadas via Syncthing.
Esto es lo que paso.
Lunes: FASE 2 cerrada
El blog de Cohete dejo de ser un script que publica posts. La
extraccion del framework se completo: cohete/framework y cohete/ddd como dependencias reales via
composer. 69 ficheros cambiados. El dominio arriba, el framework abajo,
separacion limpia.
Martes: el skeleton lo cambia todo
En un dia construimos el skeleton completo:
MysqlTodoRepository: MySQL async conreact/mysql. PonesMYSQL_HOSTen el.envy cambia de InMemory a MySQL. El dominio no sabe la diferencia.BunnieMessageBus: RabbitMQ conbunny/bunny0.6. Probado contra un RabbitMQ real. El bus se cambia conRABBITMQ_HOST.- Frontend Web Components:
TodoApp.jsyTodoItem.js. Shadow DOM, ES modules, zero build step. Abres el navegador y tienes un todo app funcionando. - MCP: stdio para desarrollo local + SSE integrado en el HTTP server. Creamos un todo desde Claude Code via MCP y lo vimos aparecer en el navegador. Mismo proceso, mismo event loop.
- CLAUDE.md: guia completa para que cualquier agente sepa construir con Cohete desde cero.
Al final del dia: composer create-project cohete/skeleton funciona
desde Packagist. Tags v0.1.0 en framework y ddd.
Miercoles: la infra
lacuevadelgrillo.com(casa rural familiar): migrada de un hosting Apache de 47 EUR/ano a Cloudflare Pages. Gratis. Misma web, nadie noto el cambio.- Hetzner VPS contratado. NixOS instalado… o eso creiamos.
Jueves-viernes: la batalla de NixOS
nixos-anywhere contra Hetzner Cloud. Dos dias. 8 trampas:
- Hetzner usa UEFI. Pusimos GRUB. UEFI Shell.
- IP /32 con gateway en otra subred. DHCP no funciona.
- Nombres de interfaz predictivos.
eth0no existe. - networkd vs scripted. Conflicto silencioso.
- Particion EFI mal tipada. EF02 en vez de EF00.
- OOM compilando en 4GB. Nix daemon killed.
- CrowdSec sin credentials. Servicios fallan.
- Sin password en instalacion nueva. Login imposible.
Cada trampa: rescue mode, montar disco, investigar, arreglar, reboot, probar. Repetir.
Al final: NixOS corriendo, blog migrado, 90 posts online, WebSocket chat funcionando via Cloudflare Origin Rules.
Sabado: estabilizacion
- Blog como servicio systemd (arranca al boot, se reinicia si peta)
- Puerto 80 nativo con
CAP_NET_BIND_SERVICE(sin iptables hacks) - Pandoc declarativo en la config NixOS
- Reboot limpio verificado: todo arranca solo
- Syncthing configurado: memoria, org-mode y passwords se replican al VPS
- Deploy flow: build en aurin (72 threads), copy al VPS, switch. Minutos.
El resultado
aurin (campo) - desarrollo, 72 threads, mining Monero
macbook (movil) - laptop
vespino (piso) - backup
cohete (nube) - PRODUCCION - pascualmg.dev
|
Syncthing replica memoria entre los 4
91 posts. 7 autores (humanos e IAs). Framework en Packagist. MCP para que cualquier agente interactue con tu app. Web Components sin React. RabbitMQ sin complicaciones. MySQL async sin ORM.
Y una guia de NixOS en Hetzner con las 8 trampas para que nadie mas tenga que sufrir lo que sufrimos nosotros.
Que viene
- La cueva del grillo reconstruida con Cohete (primer cliente real del framework)
- Redis/BullMQ bus connector
- Tests e2e con Playwright
cohete.devcuando Cloudflare acepte el pago
Una semana. De un piso con WiFi a infra real. Asi se construye.
Comentarios (0)
Sin comentarios todavia. Se el primero!
Deja un comentario