Pular para o conteúdo

Versão portátil

Configuração

Executa o HolyArrs como um programa simples em Linux ou Windows, sem Docker. O Docker continua a ser a forma principal de o executar.

  • Python 3, Git e Docker no computador de compilação.
  • Uma cache de módulos Go já preenchida por uma compilação normal do projeto, e as dependências do frontend instaladas a partir de app/frontend/package-lock.json.
  • A app web compilada tem de estar commitada. A compilação usa só código commitado; as alterações por commitar ficam de fora.
  1. A partir do checkout, compila os ficheiros 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 uma pasta de saída nova, fora do checkout. Deves ver um ficheiro comprimido por alvo e um ficheiro SHA256SUMS.

  2. Confere o ficheiro comprimido com o SHA256SUMS.

  3. Extrai-o para uma pasta nova. Mantém o programa e a configuração em pastas separadas.

  4. Inicia-o com o teu próprio caminho de configuração:

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

    No Windows PowerShell:

    Terminal window
    .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262'
  5. Abre http://your-server:6262. Deves ver o assistente da primeira execução. Cria logo a conta de proprietário; o primeiro visitante passa a ser o proprietário.

Executa o HolyArrs com uma conta própria, com permissão de escrita só na configuração e nos teus ficheiros multimédia.

  • Como root fora de um contentor, sem PUID e PGID, para com “started as root outside a container”.
  • Com PUID e PGID definidos, passa a pasta de configuração a esse utilizador e muda para ele.
  • No Windows, protege a pasta de configuração com uma permissão NTFS para essa conta.

O ficheiro comprimido não instala nenhum serviço. Configura o reinício automático e os limites rígidos de memória no teu gestor de serviços (systemd, NSSM, Task Scheduler). Reiniciar a partir da app e restaurar uma cópia de segurança saem ambos do programa e esperam que seja iniciado outra vez.

  1. Confere o ficheiro comprimido novo antes de parares a app.
  2. Para o HolyArrs e copia a pasta de configuração inteira, chave mestra incluída. Ou faz uma cópia de segurança na app e guarda a chave à parte.
  3. Extrai o programa novo para uma pasta diferente. Mantém o programa antigo e a cópia antiga da configuração.
  4. Inicia o programa novo com a tua configuração. Deves conseguir iniciar sessão, e /health deve mostrar running.

Vê Cópias de segurança.

Sintoma Causa Solução
“started as root outside a container” Foi iniciado como root Executa-o com um utilizador próprio, ou define PUID e PGID.
A app sai depois de um restauro Um restauro prepara os dados e sai com o código 75 Inicia-a outra vez para os aplicar. Configura o teu gestor de serviços para a reiniciar.
As chamadas HTTPS falham em Linux Não há certificados CA do sistema Instala-os.
A compilação diz que a saída já existe As pastas de saída existentes são recusadas Escolhe uma pasta nova.
Opções de compilação
Opção O que faz Predefinição
--targets Subconjunto a compilar, separado por vírgulas linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource Cada contentor de compilação recebe 1 CPU, 2 GiB e 256 processos; o Go compila um pacote de cada vez. A empacotagem continua a correr no host, fora destes limites. desativado

A compilação corre na imagem de compilação Go fixada do projeto, com a rede desligada, por isso não transfere nada. A cache de módulos é montada só de leitura. Se algum alvo falhar, não fica nenhuma pasta de saída. O commit é acrescentado ao número da versão e compilado no programa; a app e as suas cópias de segurança indicam-no.

O que tem um ficheiro comprimido

O programa, a licença, os avisos de terceiros, os guias, um manifesto do código-fonte e a identidade do pacote. Um ficheiro comprimido de código-fonte à parte contém o código do projeto e as dependências Go; guarda-o junto dos binários.

O SHA256SUMS prova que os ficheiros correspondem. Não é uma assinatura. O mesmo commit, versão e entradas dão os mesmos ficheiros comprimidos, por isso podes compilar de novo para conferir.

Notas de execução
Tema Detalhe
Caminho de configuração Predefinido /config. Passa sempre -config, num disco local.
Objetivo de memória 384 MiB sem GOMEMLIMIT. Define-o para cerca de 80 por cento da memória que lhe deres. É um objetivo, não um limite rígido.
Modo de pouca memória Em Linux, ativa-se sozinho com cerca de 2.5 GiB ou menos; o objetivo desce para um quarto da memória, entre 192 e 384 MiB. HOLYARRS_LOW_MEMORY=1 ou 0 decide.
Node Não é preciso para executar.
Hardlinks Mantém as pastas de transferências e da Biblioteca num só sistema de ficheiros.

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