En muchas instituciones públicas y empresas grandes no puedes instalar lo que quieras ni abrir puertos a tu gusto. El 'entorno restringido' es el cliente más común de quien administra servidores. Aquí va el flujo que uso para que un sistema Next.js o PHP salga a producción sin pelearme con la red.
1. Inventaria la red antes de tocar nada
Pregunta primero: ¿hay salida a internet? ¿DNS interno? ¿puertos abiertos? ¿proxy corporativo? Instala una herramienta de diagnóstico y deja documentado el mapa.
- »Salida a internet: directa, con proxy o nula
- »Resolución DNS: externa, interna o manual (hosts)
- »Puertos permitidos para el tráfico entrante
- »Software disponible: repos locales o instalación offline
2. Prepara el despliegue offline
Si no hay internet en el servidor, compila y empaqueta en tu máquina: paquetes .deb/.rpm, imágenes Docker, o un build estático de Next.js con las variables resueltas en build time.
npm run build
cp -r .next build server.js /tmp/dist/
# transfiere por USB o por la red internaVariables en build time
Cuando no hay red para llamar APIs externas, decide qué se cachea y qué se sincroniza por lotes. Un fetch al BCV cada hora no funciona si el servidor no sale a internet.
Un sistema que no se cae en el servidor donde corre vale más que uno lleno de dependencias que jamás se podrán instalar ahí.