Ir al contenido

Importar claves desde un archivo

Configuración

Rellena un solo archivo con tus Fuentes, gestores de descargas, servidores multimedia, sitios de subtítulos y correo, impórtalo y ahórrate escribir cada clave en Ajustes.

  • HolyArrs se ejecuta en Docker con su configuración en /config.
  • Puedes crear una clave de API de propietario en Settings > API > API keys (Ajustes > API > Claves de API).

Importar el archivo

Enlace a Importar el archivo
  1. Copia holyarrs-secrets.template.yaml como holyarrs-secrets.yaml.

  2. Rellena lo que uses. Deja el resto vacío; vacío significa que se salta.

  3. Haz que solo tú puedas leerlo:

    Terminal window
    chmod 600 holyarrs-secrets.yaml
  4. Móntalo en el contenedor como solo lectura:

    volumes:
    - /srv/holyarrs/config:/config
    - /srv/holyarrs/holyarrs-secrets.yaml:/run/secrets/holyarrs.yaml:ro
  5. Crea una clave de API de propietario con el alcance admin en Settings > API > API keys. Ponla en el bloque holyarrs del archivo con la dirección http://127.0.0.1:6262.

  6. Haz una ejecución de prueba. No cambia nada:

    Terminal window
    docker exec holyarrs /holyarrs import-secrets -file /run/secrets/holyarrs.yaml -dry-run

    Deberías ver una línea would set por cada elemento.

  7. Ejecútalo de verdad (el mismo comando sin -dry-run). Deberías ver líneas set y el código de salida 0.

  8. Revisa las Fuentes y los gestores de descargas nuevos y luego reanúdalos. Prueba los servidores multimedia y los avisos nuevos y luego actívalos.

  9. Elimina el archivo en el host (consulta Eliminar el archivo). Elimina también la clave de API si ya no la necesitas.

En qué se convierte cada bloque

Enlace a En qué se convierte cada bloque
En el archivo Se convierte en
trakt.client_id La clave de la app de Trakt (Settings > Outside lists, Ajustes > Listas externas).
tmdb, tvdb Se aceptan de archivos antiguos. Los metadatos no necesitan claves.
opensubtitles, subdl Un sitio de subtítulos con tu cuenta.
addic7ed Un sitio de subtítulos Addic7ed, solo series.
indexers Una Fuente por entrada, en pausa.
jackett, prowlarr Su clave rellena cualquier entrada de indexers en la misma dirección que no tenga clave.
qbittorrent, sabnzbd Un gestor de descargas, en pausa.
nzbget, transmission, deluge Se saltan. La importación todavía no puede configurarlos; añádelos en Settings > Downloaders (Ajustes > Gestores de descargas).
jellyfin, emby, plex Un servidor multimedia, desactivado hasta que lo pruebes.
smtp, discord, webhook Los avisos “Email”, “Discord” y “Webhook”, desactivados hasta que los pruebes.
radarr, sonarr, lidarr, prowlarr, bazarr, seerr Una clave guardada para Move from other apps (migrar desde otras apps).
holyarrs Solo se usa para llegar a HolyArrs mientras se ejecuta. Nunca se guarda.

Cada clave va al almacén cifrado, igual que una escrita en Ajustes.

El interruptor de la red local

Enlace a El interruptor de la red local

Cada bloque con una dirección admite allow_local_network: true. Permite que ese elemento llegue a este equipo o a tu red de casa (192.168.x.x, 10.x.x.x, un nombre de contenedor). Sin él, el elemento solo llega a internet, así que un gestor de descargas en casa no va a responder. HolyArrs nunca lo deduce de la dirección. Es el mismo interruptor que May reach the local network (puede acceder a la red local) en Ajustes.

Con HolyArrs detenido

Enlace a Con HolyArrs detenido

Ejecuta un contenedor de un solo uso sobre la misma configuración. Guarda directamente en la carpeta de configuración y no necesita el bloque holyarrs:

Terminal window
docker stop holyarrs
docker run --rm -e PUID=1000 -e PGID=1000 \
-v /srv/holyarrs/config:/config \
-v /srv/holyarrs/holyarrs-secrets.yaml:/run/secrets/holyarrs.yaml:ro \
holyarrs/holyarrs:latest import-secrets -file /run/secrets/holyarrs.yaml
docker start holyarrs

Usa los mismos PUID y PGID que la app, o la carpeta de configuración pasa a ser de 1000:1000. El usuario de PUID debe poder leer el archivo. Si usas HOLYARRS_MASTER_KEY_FILE, dale al contenedor de un solo uso la misma variable y el mismo montaje.

Ejecutarlo de nuevo

Enlace a Ejecutarlo de nuevo

Ejecutarlo de nuevo es seguro. Los elementos que coinciden dicen unchanged; solo se guardan los que cambiaron.

Elemento Se reconoce por
Fuentes nombre
Gestores de descargas, servidores multimedia tipo y dirección
Avisos nombre y tipo
Sitios de subtítulos, apps anteriores tipo

Una Fuente o un gestor de descargas cuya dirección o clave cambió vuelve a quedar en pausa. Una vez que reanudas uno tú mismo, una nueva ejecución lo deja en marcha. Un api_key vacío en una entrada de indexers conserva la clave guardada; añade clear_key: true para quitarla.

Eliminar el archivo

Enlace a Eliminar el archivo

Con -delete, el comando sobrescribe el archivo con ceros y lo elimina, solo después de una ejecución en la que no falló nada. Un montaje de solo lectura no se puede eliminar desde dentro del contenedor, así que elimínalo en el host:

Sistema Comando
Linux shred -u holyarrs-secrets.yaml
macOS rm -P holyarrs-secrets.yaml
Windows Remove-Item holyarrs-secrets.yaml, luego vacía la Papelera de reciclaje.

En discos SSD y sistemas de archivos copy-on-write, los bloques antiguos pueden quedar en el disco. Las claves en sí ahora viven en el almacén cifrado.

Síntoma Causa Solución
Otros usuarios pueden leer el archivo Permisos demasiado abiertos. Ejecuta chmod 600. En Windows, guárdalo en una carpeta que solo tú puedas abrir.
Una clave desconocida detuvo la importación Un error de escritura o una tabulación en la línea indicada. Corrige esa línea. No se guardó nada.
Se rechazó http sin cifrar La dirección de holyarrs no está en este equipo. Ejecútalo dentro del contenedor con http://127.0.0.1:6262, o usa https.
Un gestor de descargas en casa no responde Sin permiso para la red local. Pon allow_local_network: true en ese bloque.
El contenedor de un solo uso cambió los propietarios de las carpetas PUID/PGID distintos. Usa el PUID y el PGID de la app.
-delete no hizo nada Algo falló, o el montaje es de solo lectura. Elimínalo en el host.
Opciones del comando y códigos de salida
Opción Qué hace Predeterminado
-file <path> El archivo de secretos. ninguno
-dry-run Solo dice qué se guardaría. desactivado
-config <folder> La carpeta de configuración. /config
-delete Después de una ejecución sin fallos, sobrescribe el archivo con ceros y lo elimina. desactivado
-forget-move-credentials Elimina todas las claves guardadas de apps anteriores y luego se detiene. desactivado
-allow-http-lan Permite http:// sin cifrar hacia una dirección de la red de casa. Muestra una advertencia. desactivado
-allow-readable-file Acepta un archivo que otros usuarios pueden leer. Docker Desktop en Windows muestra todos los archivos como legibles. desactivado

La dirección de holyarrs debe ser https://, o http:// sin cifrar solo hacia este equipo (127.0.0.1, ::1, localhost). Por http sin cifrar, tu clave de propietario y todo el archivo viajan sin cifrar.

Código de salida Significado
0 Todos los elementos salieron bien.
1 Un elemento falló. Corrige el archivo y ejecútalo de nuevo.
2 Línea de comando o archivo incorrectos.
Salida

Una línea por elemento: set (o would set en una ejecución de prueba, a veces con una nota), unchanged, skipped (empty), skipped (why) o failed: why. Nunca muestra una clave, una contraseña, un token ni una dirección. El Historial recibe un solo evento, únicamente con recuentos. Un error que mostraría un valor de tu archivo muestra [hidden] en su lugar.

Formato del archivo

Una parte pequeña y estricta de YAML:

  • bloques por sangría con espacios, nunca tabulaciones; listas con - ,
  • valores sin comillas, entre "double quotes" o entre 'single quotes' (escribe dos veces un ' dentro de comillas simples),
  • # empieza un comentario al inicio de la línea o después de un espacio fuera de comillas, así que pon entre comillas una contraseña que contenga #,
  • pon entre comillas un valor que empiece por &, *, !, |, >, [, {, %, @ o un acento grave, o que contenga : .

Una clave desconocida o un archivo de más de 256 KB detiene toda la importación antes de guardar nada; el mensaje indica la clave y la línea. Un enlace al archivo se rechaza.

Campos especiales
Campo Regla
SABnzbd Necesita el api_key completo. Un nzb_key, un nombre de usuario o una contraseña se saltan y nunca se guardan.
tvdb.api_key, tvdb.unique_user_key, trakt.redirect_urls Se aceptan y se saltan.
smtp.host Solo el nombre del servidor, sin esquema ni puerto.
smtp.port De 1 a 65535. Predeterminado 587.
smtp.from Una sola dirección de email.
Bloques de apps anteriores Se usan en Move from other apps con Use the saved key (usar la clave guardada). Nunca se muestran, solo para el propietario, y se eliminan después de una lectura correcta.

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