Pular para o conteúdo

Versão portátil

Configuração

Use o HolyArrs como um programa comum no Linux ou no Windows, sem Docker. O Docker continua sendo o jeito principal de usar.

  • Python 3, Git e Docker no computador de build.
  • Um cache de módulos Go preenchido por um build normal do projeto, e as dependências do frontend instaladas a partir de app/frontend/package-lock.json.
  • O app web gerado e com commit feito. O build usa só o código com commit; edições sem commit ficam de fora.
  1. Na pasta do checkout, gere os arquivos compactados:

    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

    Use uma pasta de saída nova, fora do checkout. Você deve ver um arquivo compactado por destino e um arquivo SHA256SUMS.

  2. Confira o arquivo compactado com o SHA256SUMS.

  3. Extraia em uma pasta nova. Mantenha o programa e a configuração em pastas separadas.

  4. Inicie com seu 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. Abra http://your-server:6262. Você deve ver o assistente da primeira execução. Crie a conta do dono na hora; o primeiro visitante vira o dono.

Qual usuário executa

Link para Qual usuário executa

Execute o HolyArrs com uma conta própria, com permissão de escrita só na configuração e na sua mídia.

  • Como root fora de um container, sem PUID e PGID, ele para com “started as root outside a container” (iniciado como root fora de um container).
  • Com PUID e PGID definidos, ele entrega a pasta de configuração a esse usuário e passa a rodar como ele.
  • No Windows, proteja a pasta de configuração com uma permissão NTFS para essa conta.

Reinícios e limites

Link para Reinícios e limites

O arquivo compactado não instala nenhum serviço. Configure o reinício automático e os limites rígidos de memória no seu próprio gerenciador de serviços (systemd, NSSM, Agendador de Tarefas). O reinício pelo app e a restauração de um backup encerram o programa e esperam que ele seja iniciado de novo.

Atualizar e voltar para a versão anterior

Link para Atualizar e voltar para a versão anterior
  1. Confira o arquivo compactado novo antes de parar o app.
  2. Pare o HolyArrs e copie a pasta de configuração inteira, com a chave mestra. Ou faça um backup pelo app e guarde a chave dele separada.
  3. Extraia o programa novo em uma pasta diferente. Guarde o programa antigo e a cópia antiga da configuração.
  4. Inicie o programa novo com sua configuração. Você deve conseguir entrar, e /health deve mostrar running.

Veja Backups.

Sintoma Causa Solução
“started as root outside a container” Iniciado como root Execute com um usuário próprio, ou defina PUID e PGID.
O app encerra depois de uma restauração Uma restauração prepara os dados e encerra com o código 75 Inicie de novo para aplicar. Configure seu gerenciador de serviços para reiniciar o app.
As chamadas HTTPS falham no Linux Faltam os certificados de CA do sistema Instale os certificados.
O build diz que a saída já existe Pastas de saída que já existem são recusadas Escolha uma pasta nova.
Opções de build
Opção O que faz Padrão
--targets Subconjunto a gerar, separado por vírgulas linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource Cada container de build recebe 1 CPU, 2 GiB e 256 processos; o Go compila um pacote por vez. O empacotamento ainda roda no host, fora desses limites. desativado

O build roda na imagem de build Go fixada pelo projeto, com a rede desligada, então não baixa nada. O cache de módulos é montado como somente leitura. Se algum destino falha, nenhuma pasta de saída fica. O commit é adicionado ao número da versão e embutido no programa; o app e os backups dele informam esse commit.

O que há em um arquivo compactado

O programa, a licença, os avisos de terceiros, os guias, um manifesto do código-fonte e a identidade do pacote. Um arquivo compactado separado de código-fonte traz o código do projeto e as dependências Go; guarde junto dos binários.

SHA256SUMS prova que os arquivos correspondem. Não é uma assinatura. O mesmo commit, a mesma versão e as mesmas entradas dão os mesmos arquivos compactados, então você pode gerar de novo para conferir.

Notas de execução
Assunto Detalhe
Caminho de configuração Padrão /config. Sempre passe -config, em um disco local.
Meta de memória 384 MiB sem GOMEMLIMIT. Defina como cerca de 80 por cento da memória que você dá. Uma meta, não um limite rígido.
Modo de pouca memória No Linux, ativa sozinho com cerca de 2.5 GiB ou menos; a meta cai para um quarto da memória, entre 192 e 384 MiB. HOLYARRS_LOW_MEMORY=1 ou 0 decide.
Node Não é necessário para executar.
Hardlinks Mantenha os downloads e as pastas da Biblioteca em um único sistema de arquivos.

O HolyArrs é gratuito. Se ele poupou seu tempo, dê uma estrela no GitHub, patrocine o projeto ou me pague um café.