Webs y aplicaciones
Esta web, que se despliega con un git push, y varias aplicaciones propias, cada una en su contenedor escuchando solo en loopback detrás de Nginx.
Estamos de viaje, abrimos el móvil y seguimos trabajando: un agente edita un proyecto en el portátil de casa usando un modelo que corre en dos GX10, y nada de eso está expuesto a internet salvo un servidor Ubuntu. Estas 11 guías cuentan cómo está montado, en orden, con los comandos y con los errores que nos costaron tardes enteras.
Tres capas que conviene no mezclar: publicación (servidor y red),agentes (donde está tu código) y modelo (donde está la memoria). Cada guía toca una.
Esta web, que se despliega con un git push, y varias aplicaciones propias, cada una en su contenedor escuchando solo en loopback detrás de Nginx.
Los vhosts con TLS que llevan por Tailscale al panel de los modelos, al arnés de agentes y a la interfaz de Pi. El router solo tiene abierto el 443.
Un host de Codex con Remote Control que arranca solo y se usa desde la app de ChatGPT o como proyecto remoto por SSH.
Instantáneas completas con manifiesto de commits: lo que Git no guarda (bases de datos locales, configuración ignorada) también está a salvo.
Un script con cron cada cinco minutos que mantiene los registros de Cloudflare apuntando a la IP de casa.
El servidor no ejecuta modelos. Es pequeño a propósito: si cae, las GX10 siguen; si caen las GX10, la web sigue.
Si Docker crea el contenedor antes de que el sistema tenga la red lista, le copia una configuración de DNS inservible. Y reiniciarlo no lo arregla.
El instalador para el gestor de sesiones gráficas y no lo vuelve a arrancar. Sin pantalla física, lo único que nos salvó fue una sesión SSH abierta.
Un servicio configurado para escuchar en la IP de Tailscale arrancó antes que Tailscale y murió. El contenedor siguió «vivo» y nadie lo reinició.
Paneles como aaPanel instalan su propio Nginx en otra ruta. El comando de siempre valida otra configuración y te da un falso «todo bien».
El arranque automático esperaba a tener red haciendo curl -f a una web con protección anti-bots. Respondía 403 y el servicio creía que no había internet.
El arnés solo tiene chino e inglés. Con Safari en español cae en chino, y la preferencia no se puede guardar desde fuera.
No. Las guías 1 a 7 y la 11 valen para cualquier servidor y cualquier modelo, incluido uno de pago por API. Las GX10 solo aparecen porque es donde corre nuestro modelo.
Si solo quieres una web y un par de apps, un VPS: te ahorras el DNS dinámico, el router y los cortes de luz. Si el servidor tiene que hablar con máquinas de tu casa, en casa. Lo explicamos en la guía 1.
Solo si internet no llega al agente. En nuestro montaje, lo único público es Nginx; detrás hay un login, una red privada, un bridge que solo acepta al proxy conocido y un relay que solo acepta al portátil. Y el agente sigue pidiendo permiso antes de las acciones delicadas.
El software de toda la serie es gratuito o tiene plan gratuito para uso personal (Ubuntu, Nginx, Certbot, Docker, Tailscale, Cloudflare DNS, RustDesk). Claude Code y Codex requieren sus suscripciones. El resto es hardware y electricidad.