Pular para o conteúdo

Importar chaves de um ficheiro

Configuração

Preenche um ficheiro com as tuas Fontes, gestores de transferências, servidores multimédia, sites de legendas e email, importa-o e dispensa escrever cada chave nas Definições.

  • O HolyArrs corre em Docker com a configuração em /config.
  • Podes criar uma chave de API de proprietário em Settings > API > API keys (Definições > API > chaves de API).
  1. Copia holyarrs-secrets.template.yaml para holyarrs-secrets.yaml.

  2. Preenche o que usas. Deixa o resto vazio; vazio significa ignorar.

  3. Torna-o legível só por ti:

    Terminal window
    chmod 600 holyarrs-secrets.yaml
  4. Monta-o só de leitura no contentor:

    volumes:
    - /srv/holyarrs/config:/config
    - /srv/holyarrs/holyarrs-secrets.yaml:/run/secrets/holyarrs.yaml:ro
  5. Cria uma chave de API de proprietário com o âmbito admin em Settings > API > API keys. Põe-na no bloco holyarrs do ficheiro, com o endereço http://127.0.0.1:6262.

  6. Experimenta uma simulação. Não muda nada:

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

    Deves ver uma linha would set por item.

  7. Executa a sério (o mesmo comando sem -dry-run). Deves ver linhas set e o código de saída 0.

  8. Verifica as Fontes e os gestores de transferências novos e depois retoma-os. Testa os servidores multimédia e os Avisos novos e depois ativa-os.

  9. Apaga o ficheiro no host (vê Apagar o ficheiro). Apaga também a chave de API se já não precisares dela.

Em que se transforma cada bloco

Ligação para Em que se transforma cada bloco
No ficheiro Transforma-se em
trakt.client_id A chave da app Trakt (Settings > Outside lists, Definições > Listas externas).
tmdb, tvdb Aceites de ficheiros antigos. Os metadados não precisam de chaves.
opensubtitles, subdl Um site de legendas com a tua conta.
addic7ed Um site de legendas Addic7ed, só para séries.
indexers Uma Fonte por entrada, paused (em pausa).
jackett, prowlarr A chave deles preenche qualquer entrada de indexers com o mesmo endereço que não tenha chave.
qbittorrent, sabnzbd Um gestor de transferências, paused.
nzbget, transmission, deluge Ignorados. A importação ainda não os consegue configurar; adiciona-os em Settings > Downloaders.
jellyfin, emby, plex Um servidor multimédia, off (desativado) até o testares.
smtp, discord, webhook Os Avisos “Email”, “Discord” e “Webhook”, off até os testares.
radarr, sonarr, lidarr, prowlarr, bazarr, seerr Uma chave guardada para Import from other apps (importar de outras apps).
holyarrs Só serve para chegar ao HolyArrs enquanto corre. Nunca é guardado.

Cada chave vai para o cofre cifrado, tal como uma escrita nas Definições.

Cada bloco com um endereço pode levar allow_local_network: true. Deixa esse item chegar a este computador ou à tua rede de casa (192.168.x.x, 10.x.x.x, o nome de um contentor). Sem ele, o item só chega à internet, por isso um gestor de transferências em casa não responde. O HolyArrs nunca adivinha isto a partir do endereço. É o mesmo interruptor que May reach the local network (pode chegar à rede local) nas Definições.

Executa um contentor avulso com a mesma configuração. Guarda diretamente na pasta de configuração e não precisa do bloco 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 o mesmo PUID e PGID da app, ou a pasta de configuração passa para 1000:1000. O utilizador PUID tem de conseguir ler o ficheiro. Se usas HOLYARRS_MASTER_KEY_FILE, dá ao contentor avulso a mesma variável e montagem.

Executar outra vez é seguro. Os itens iguais dizem unchanged; só os que mudaram são guardados.

Item Identificado por
Fontes nome
Gestores de transferências, servidores multimédia tipo e endereço
Avisos nome e tipo
Sites de legendas, apps anteriores tipo

Uma Fonte ou um gestor de transferências cujo endereço ou chave mudou volta a ficar em pausa. Depois de retomares um à mão, uma nova execução deixa-o a funcionar. Um api_key vazio numa entrada de indexers mantém a chave guardada; acrescenta clear_key: true para a remover.

Com -delete, o comando sobrescreve o ficheiro com zeros e remove-o, só depois de uma execução em que nada falhou. Uma montagem só de leitura não pode ser apagada por dentro do contentor, por isso apaga-o no host:

Sistema Comando
Linux shred -u holyarrs-secrets.yaml
macOS rm -P holyarrs-secrets.yaml
Windows Remove-Item holyarrs-secrets.yaml, depois esvazia a Reciclagem.

Em SSDs e sistemas de ficheiros copy-on-write, os blocos antigos podem ficar no disco. As próprias chaves já vivem no cofre cifrado.

Sintoma Causa Solução
O ficheiro é legível por outros utilizadores Permissões demasiado abertas. Executa chmod 600. No Windows, guarda-o numa pasta que só tu consigas abrir.
Uma chave desconhecida parou a importação Erro de escrita ou um tab na linha indicada. Corrige essa linha. Nada foi guardado.
http simples recusado O endereço de holyarrs não está neste computador. Executa dentro do contentor com http://127.0.0.1:6262, ou usa https.
Um gestor de transferências em casa não responde Sem permissão de rede local. Define allow_local_network: true nesse bloco.
O contentor avulso mudou os donos das pastas PUID/PGID diferentes. Usa o PUID e o PGID da app.
-delete não fez nada Algo falhou, ou a montagem é só de leitura. Apaga-o no host.
Flags e códigos de saída
Flag O que faz Predefinição
-file <path> O ficheiro de segredos. nenhuma
-dry-run Só diz o que seria definido. desativado
-config <folder> A pasta de configuração. /config
-delete Depois de uma execução sem falhas, sobrescreve o ficheiro com zeros e apaga-o. desativado
-forget-move-credentials Apaga todas as chaves guardadas das apps anteriores e pára. desativado
-allow-http-lan Permite http:// simples para um endereço da rede de casa. Mostra um aviso. desativado
-allow-readable-file Aceita um ficheiro que outros utilizadores podem ler. O Docker Desktop no Windows mostra todos os ficheiros como legíveis. desativado

O endereço de holyarrs tem de ser https://, ou http:// simples só para este computador (127.0.0.1, ::1, localhost). Em http simples, a tua chave de proprietário e o ficheiro todo viajam sem cifra.

Código de saída Significado
0 Todos os itens correram bem.
1 Um item falhou. Corrige o ficheiro e executa outra vez.
2 Linha de comandos ou ficheiro inválido.
Saída

Uma linha por item: set (ou would set numa simulação, às vezes com uma nota), unchanged, skipped (empty), skipped (why) ou failed: why. Nunca mostra uma chave, palavra-passe, token ou endereço. O Histórico recebe um Evento com contagens apenas. Um erro que mostraria um valor do teu ficheiro mostra [hidden].

Formato do ficheiro

Uma parte pequena e estrita do YAML:

  • blocos por indentação com espaços, nunca tabs; listas com - ,
  • valores simples, entre "double quotes" ou 'single quotes' (escreve um ' dentro de aspas simples duas vezes),
  • # começa um comentário no início da linha ou depois de um espaço fora de aspas, por isso põe entre aspas uma palavra-passe que tenha #,
  • põe entre aspas um valor que comece por &, *, !, |, >, [, {, %, @ ou um acento grave, ou que tenha : .

Uma chave desconhecida ou um ficheiro com mais de 256 KB pára a importação inteira antes de se guardar alguma coisa; a mensagem diz a chave e a linha. Uma ligação simbólica para o ficheiro é recusada.

Campos especiais
Campo Regra
SABnzbd Precisa da api_key completa. Um nzb_key, nome de utilizador ou palavra-passe é ignorado e nunca guardado.
tvdb.api_key, tvdb.unique_user_key, trakt.redirect_urls Aceites e ignorados.
smtp.host Só o nome do servidor, sem esquema nem porta.
smtp.port 1 a 65535. Predefinição 587.
smtp.from Um endereço de email simples.
Blocos de apps anteriores Usados em Import from other apps com Use the saved key. Nunca mostrados, só para o proprietário, apagados depois de uma leitura bem-sucedida.

O HolyArrs é gratuito. Se te poupou tempo, dá-lhe uma estrela no GitHub, patrocina-o ou oferece-me um café.