Instalación Offline
Cómo poner en marcha Chinaski en una máquina que no puede (o no debe) alcanzar internet.
En una máquina conectada: crea el bundle
El repositorio incluye un creador de bundles:
bash install/make-bundle.sh Eso produce un tar.gz que contiene el código fuente de la aplicación, todos los tarballs de módulos de CPAN, un instalador de módulos incluido y el script de instalación. Con un archivo de checksum .sha256 al lado, para que la transferencia por USB pueda verificarse. (La verificación de integridad es el propósito del archivo; verifica antes de la transferencia.)
En la máquina destino: instala sin internet
Dos requisitos previos estrictos y una advertencia:
- Los paquetes del sistema (perl, make, gcc, sqlite3, y las tres librerías de desarrollo de imágenes + openssl y cpanminus para el instalador) deben existir en el destino o proveerse desde un mirror local / un conjunto de .deb predescargados.
- En tarjetas ARM, asegúrate de instalar explícitamente esas librerías de imágenes. De lo contrario, el módulo de procesamiento de imágenes no compilará.
Luego:
tar -xzf chinaski-<commit>.tar.gz
sudo bash install.sh # instalación estándar: crea el usuario de sistema chinaski, instala la unidad systemd, inicializa la base de datos El instalador instala los módulos de CPAN estrictamente desde el bundle. "no se realizan conexiones salientes". Te escribe el archivo de entorno, con un secreto de sesión generado y el modo air-gap activo, así que la aplicación instalada es segura para operar offline desde el primer arranque. Dos opciones: --no-service omite systemd (útil para configuraciones rápidas de un solo servidor), y --prefix /srv/chinaski elige un directorio de instalación.
Ejecutarlo de inmediato
Sin systemd: carga el archivo de entorno generado, export PERL5LIB=./local/lib/perl5, y ejecuta el hypnotoad incluido sobre la aplicación. El admin estará en host:8080. Con systemd: habilita la unidad chinaski@<instance> como en una instalación normal.
Lo que hay que recordar
- El bundle también lleva tus scripts de instalación y los archivos por instancia, así que las máquinas destino nunca necesitan contactar al repositorio para nada en el momento de la instalación.
- Cada despliegue es por instancia: el mismo patrón de instalación desde tarball es el que usa una "segunda instancia" en el mismo host offline.