Ir al contenido

Versión portable

Configuración

Usa HolyArrs como un programa normal en Linux o Windows, sin Docker. Docker sigue siendo la forma principal de usarlo.

  • Python 3, Git y Docker en el equipo de compilación.
  • Una caché de módulos de Go ya llena por una compilación normal del proyecto, y las dependencias del frontend instaladas desde app/frontend/package-lock.json.
  • La app web compilada y confirmada en un commit. La compilación solo usa código confirmado; los cambios sin confirmar quedan fuera.

Compilar y ejecutar

Enlace a Compilar y ejecutar
  1. Desde tu copia del código, compila los archivos comprimidos:

    Terminal window
    python deploy/release/package.py --ref HEAD --version 1.0.0 --output /srv/holyarrs-archives/1.0.0 --web-node-modules app/frontend/node_modules --module-cache /home/you/go/pkg/mod

    Usa una carpeta de salida nueva fuera de tu copia del código. Deberías ver un archivo comprimido por cada destino y un archivo SHA256SUMS.

  2. Comprueba el archivo comprimido con SHA256SUMS.

  3. Extráelo en una carpeta nueva. Mantén el programa y la configuración en carpetas separadas.

  4. Inícialo con tu propia ruta de configuración:

    Terminal window
    ./holyarrs -config /srv/holyarrs/config -addr :6262

    En Windows PowerShell:

    Terminal window
    .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262'
  5. Abre http://your-server:6262. Deberías ver el asistente del primer inicio. Crea la cuenta del propietario enseguida; el primer visitante se convierte en el propietario.

Qué usuario lo ejecuta

Enlace a Qué usuario lo ejecuta

Ejecuta HolyArrs con su propia cuenta, con permiso de escritura solo en la configuración y en tus archivos multimedia.

  • Como root fuera de un contenedor, sin PUID ni PGID, se detiene con “started as root outside a container” (iniciado como root fuera de un contenedor).
  • Con PUID y PGID definidos, entrega la carpeta de configuración a ese usuario y pasa a usarlo.
  • En Windows, protege la carpeta de configuración con un permiso NTFS para esa cuenta.

Reinicios y límites

Enlace a Reinicios y límites

El archivo comprimido no instala ningún servicio. Configura el reinicio automático y los límites estrictos de memoria en tu propio gestor de servicios (systemd, NSSM, Task Scheduler). Reiniciar desde la app y restaurar una copia de seguridad cierran el programa y esperan que se inicie otra vez.

Actualizar y volver a la versión anterior

Enlace a Actualizar y volver a la versión anterior
  1. Comprueba el archivo comprimido nuevo antes de detener la app.
  2. Detén HolyArrs y copia toda la carpeta de configuración, clave maestra incluida. O haz una copia de seguridad desde la app y guarda su clave aparte.
  3. Extrae el programa nuevo en una carpeta distinta. Conserva el programa anterior y la copia anterior de la configuración.
  4. Inicia el programa nuevo con tu configuración. Deberías poder iniciar sesión, y /health debería mostrar running.

Consulta Copias de seguridad.

Síntoma Causa Solución
“started as root outside a container” Se inició como root Ejecútalo con su propio usuario, o define PUID y PGID.
La app se cierra después de una restauración Una restauración prepara los datos y sale con el código 75 Iníciala otra vez para aplicarla. Configura tu gestor de servicios para que la reinicie.
Las llamadas HTTPS fallan en Linux No hay certificados de CA del sistema Instálalos.
La compilación dice que la salida ya existe Las carpetas de salida que ya existen se rechazan Elige una carpeta nueva.
Opciones de compilación
Opción Qué hace Predeterminado
--targets Subconjunto que se compila, separado por comas linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource Cada contenedor de compilación recibe 1 CPU, 2 GiB y 256 procesos; Go compila un paquete a la vez. El empaquetado sigue ejecutándose en el host, fuera de esos límites. desactivado

La compilación se ejecuta en la imagen de compilación de Go fijada por el proyecto, con la red desactivada, así que no descarga nada. La caché de módulos se monta en solo lectura. Si algún destino falla, no queda ninguna carpeta de salida. El commit se añade al número de versión y se incluye en el programa; la app y sus copias de seguridad lo indican.

Qué contiene un archivo comprimido

El programa, la licencia, los avisos de terceros, las guías, un manifiesto del código fuente y la identidad del paquete. Un archivo comprimido aparte contiene el código fuente del proyecto y las dependencias de Go; guárdalo junto a los binarios.

SHA256SUMS demuestra que los archivos coinciden. No es una firma. El mismo commit, la misma versión y las mismas entradas dan los mismos archivos comprimidos, así que puedes volver a compilar para comprobarlo.

Notas de ejecución
Tema Detalle
Ruta de configuración Predeterminada: /config. Pasa siempre -config, en un disco local.
Objetivo de memoria 384 MiB sin GOMEMLIMIT. Ponlo en cerca del 80 por ciento de la memoria que le das. Un objetivo, no un límite estricto.
Modo de poca memoria En Linux, se activa solo con unos 2.5 GiB o menos; el objetivo baja a una cuarta parte de la memoria, entre 192 y 384 MiB. HOLYARRS_LOW_MEMORY=1 o 0 lo decide.
Node No hace falta para ejecutarlo.
Hardlinks Mantén las descargas y las carpetas de la Biblioteca en un solo sistema de archivos.

HolyArrs es gratis. Si te ahorró tiempo, dale una estrella en GitHub, patrocínalo o invítame a un café.