Pular para o conteúdo

Variáveis de ambiente ​

O Arkvory é configurado com variáveis de ambiente cujos nomes começam com ARKVORY_. Esta página lista todas as variáveis lidas pelos processos do servidor, pelo cliente de linha de comando e pelos scripts de instalação.

De onde vêm os valores ​

Os instaladores gravam as configurações do servidor em um único arquivo, config/runtime.json, na raiz da instalação. O iniciador de cada serviço lê esse arquivo e repassa os valores à API, ao worker e ao agente de backup. Cada chave deve começar com ARKVORY_, e cada valor deve ser uma string.

json
{
  "ARKVORY_HOST": "127.0.0.1",
  "ARKVORY_PORT": "8080",
  "ARKVORY_CAPACITY_BYTES": "10995116277760",
  "ARKVORY_DATABASE_URL": "postgresql://arkvory:PASSWORD@127.0.0.1:54329/arkvory",
  "ARKVORY_DATA_DIR": "/opt/proanima-arkvory/data",
  "ARKVORY_KEYS_FILE": "/opt/proanima-arkvory/config/keys.json",
  "ARKVORY_MAX_DOWNLOADS": "32"
}

O arquivo contém a senha do banco de dados. Mantenha os direitos de acesso como o instalador os definiu.

Para alterar uma configuração, edite config/runtime.json e reinicie os serviços. Prefira o comando arkvory configure quando ele cobrir a configuração (HTTPS, armazenamento de backups, espelhos, atualizações). Ele valida a alteração e restaura o arquivo antigo quando os serviços não iniciam. Consulte Configuração.

bash
sudo systemctl restart arkvory-api arkvory-worker arkvory-backup
powershell
Restart-Service Arkvoryapi, Arkvoryworker, Arkvorybackup

Um valor fora do intervalo permitido interrompe o processo na inicialização, com uma mensagem que cita a variável. Nesse caso, o Arkvory não recorre a um valor padrão.

A coluna "Lida por" usa estes nomes: API é o servidor HTTP (também um gateway de leitura), worker é o worker em segundo plano, agente é o agente de backup, CLI é o arkvoryctl.

Essenciais ​

VariávelLida porPadrãoSignificado
ARKVORY_DATABASE_URLAPI, worker, agente, migraçãoobrigatóriaURL de conexão do PostgreSQL (postgres:// ou postgresql://). Use um banco de dados separado para cada instalação.
ARKVORY_DATA_DIRAPI, worker, agenteobrigatóriaDiretório de armazenamento local: staging, conteúdo e o arquivo storage-id. Não use um compartilhamento de rede.
ARKVORY_HOSTAPI127.0.0.1Endereço em que escutar. Os instaladores gravam 127.0.0.1; no Docker Compose é 0.0.0.0 dentro do contêiner, e a porta é publicada somente no loopback do host.
ARKVORY_PORTAPI8080Porta TCP, 1–65535.
ARKVORY_WEB_DIRAPIapps/web/publicDiretório com os arquivos do console web. O iniciador o define para o release atual a cada inicialização.
ARKVORY_DATABASE_POOL_SIZEAPI20Tamanho do pool de consultas da API, 4–200. Sessões de longa duração usam um pool separado de 3 conexões.

Armazenamento e limites ​

VariávelLida porPadrãoSignificado
ARKVORY_CAPACITY_BYTESAPI, worker10 TiBLimite superior, em bytes, de todo o conteúdo reservado: publicado, uploads não concluídos e conteúdo que aguarda a limpeza. Não é uma verificação de disco. O worker o lê somente para cópias de espelhos.
ARKVORY_STORAGE_RESERVE_BYTESAPI, worker, agente1073741824Espaço livre, em bytes, que os uploads nunca usam. Ele é reservado para o banco de dados, os logs e o sistema. 0 desativa a reserva.
ARKVORY_MAX_OBJECT_BYTESAPIcerca de 10 TiBMaior objeto, em bytes. O maior valor permitido é 10.000 partes de 1 GiB. Defina um valor menor para limitar o tamanho dos arquivos.

Transferências e largura de banda ​

Estes limites valem para um único processo da API. As taxas são em bytes por segundo: 0 significa sem limite; qualquer outro valor deve estar entre 65.536 e 1 TiB.

VariávelLida porPadrãoSignificado
ARKVORY_MAX_UPLOADSAPI8Uploads em execução ao mesmo tempo, 1–32.
ARKVORY_MAX_DOWNLOADSAPI16Downloads em execução ao mesmo tempo, 1–256.
ARKVORY_MAX_UPLOADS_PER_PRINCIPALAPI4Uploads simultâneos de uma conta ou chave, até o limite total de uploads.
ARKVORY_MAX_DOWNLOADS_PER_PRINCIPALAPI4Downloads simultâneos de uma conta ou chave, até o limite total de downloads.
ARKVORY_DOWNLOAD_STRATEGYAPIorderedComo a fila ordena downloads completos de objetos acima de ARKVORY_DOWNLOAD_SESSION_MIN_BYTES: ordered (classes de prioridade, contas e chaves em revezamento), smallest-first (objetos pequenos primeiro) ou shared (sem fila: cada solicitação é admitida sozinha). Com gateways de leitura (as variáveis ARKVORY_SHARED_DOWNLOADS_*), o padrão é shared em todos os processos, inclusive no gravador.
ARKVORY_MAX_DOWNLOAD_SESSIONSAPIARKVORY_MAX_DOWNLOADSDownloads que ocupam uma vaga ao mesmo tempo, 1–1024.
ARKVORY_DOWNLOAD_RESERVEAPI1Vagas reservadas a pessoas (sessões do console e tokens pessoais) durante uma atualização em massa. Abaixo de quatro vagas, 0 por padrão.
ARKVORY_DOWNLOAD_WEIGHTSAPIinteractive=8,release=4,bulk=2,background=1Parte das vagas livres por classe. Informe só as classes que mudar.
ARKVORY_DOWNLOAD_SESSION_MIN_BYTESAPI16777216Objetos até este tamanho não passam pela fila e são admitidos por solicitação.
ARKVORY_DOWNLOAD_IDLE_SECONDSAPI30Uma pausa maior entre intervalos libera a vaga. O download mantém a vez por dez minutos.
ARKVORY_DOWNLOAD_AGING_MINUTESAPI15Cada espera assim sobe um download uma classe, no máximo até release. 0 desliga o envelhecimento.
ARKVORY_DOWNLOAD_PREEMPTAPItrueClientes do protocolo de fila (SDK, arkvoryctl) cedem a vaga num limite de intervalo a uma classe maior ou a uma chave abaixo da sua parte, depois de ocupá-la por um minuto.
ARKVORY_DOWNLOAD_RANGES_PER_SESSIONAPI4Solicitações simultâneas de um download: intervalos paralelos, clientes atrás de um mesmo endereço.
ARKVORY_DOWNLOAD_QUEUE_LIMITAPI65536Downloads no total, ativos e em espera. Acima disso o cliente é solicitado a voltar em um minuto.
ARKVORY_DOWNLOAD_QUEUE_PER_PRINCIPALAPI4096Downloads no total de uma conta, chave ou link.
ARKVORY_DOWNLOAD_HOLD_SECONDSAPI20Por quanto tempo a solicitação de uma ferramenta fora do protocolo de fila (docker, npm, curl, um navegador) fica retida até a vez antes da resposta 503. Padrão: ARKVORY_TRANSFER_QUEUE_TIMEOUT_MS. 0 responde na hora.
ARKVORY_SITE_NAMEAPI—Como esta instalação se chama na página Sites de outras instalações, 1–63 caracteres.
ARKVORY_FLEET_KEY_FILEAPIfleet.keyA chave que sela as chaves dos sites que esta instalação gerencia. O processo de gravação a cria no primeiro início; proteja-a como o diretório de dados. Não fica no banco de dados nem nos backups.
ARKVORY_SITE_URLAPInão definidaO endereço https://host[:port] pelo qual outros sites chegam a esta instalação. Quando definida, espelhos de outros sites cuja origem é esta instalação ligam a ela no mapa da página Sites em vez de mostrar um endereço externo. Um valor inválido impede o início.
ARKVORY_FLEET_LAG_ALERTAPI1000Quantas alterações um espelho de um site gerenciado pode estar atrás da sua origem antes que a página Sites do controlador gere um alerta. Número inteiro, 1 ou mais.
ARKVORY_TRANSFER_QUEUE_LIMITAPI64Transferências que podem aguardar uma vaga livre, 1–1024.
ARKVORY_TRANSFER_QUEUE_PER_PRINCIPALAPI8Transferências em espera de uma conta ou chave, até o limite da fila.
ARKVORY_TRANSFER_QUEUE_TIMEOUT_MSAPI20000Quanto tempo uma transferência pode esperar na fila, 1–120.000 ms.
ARKVORY_MAX_REQUESTSAPI128Solicitações autenticadas ao mesmo tempo, 1–4096. Deve ser maior que uploads mais downloads. Quando não é definida e os limites de transferência são altos, o padrão é uploads mais downloads mais 64.
ARKVORY_UPLOAD_BYTES_PER_SECONDAPI0Taxa total de upload do processo.
ARKVORY_DOWNLOAD_BYTES_PER_SECONDAPI0Taxa total de download do processo.
ARKVORY_UPLOAD_BYTES_PER_SECOND_PER_PRINCIPALAPI0Taxa de upload de uma conta ou chave, somando todas as conexões dela.
ARKVORY_DOWNLOAD_BYTES_PER_SECOND_PER_PRINCIPALAPI0Taxa de download de uma conta ou chave, somando todas as conexões dela.
ARKVORY_UPLOAD_IDLE_TIMEOUT_MSAPI30000Uma solicitação de upload que não envia dados durante esse tempo é interrompida, 1–1.800.000 ms.
ARKVORY_UPLOAD_DEADLINE_MSAPI1800000Maior duração de uma solicitação de upload, 1–1.800.000 ms. Não pode ser menor que o tempo limite de inatividade.

Rede, HTTPS e navegadores ​

VariávelLida porPadrãoSignificado
ARKVORY_TLS_CERT_FILEAPInão definidaCertificado PEM (com a cadeia) para o HTTPS integrado. Defina-o junto com o arquivo de chave.
ARKVORY_TLS_KEY_FILEAPInão definidaChave privada PEM sem senha.
ARKVORY_TLS_MIN_VERSIONAPITLSv1.2TLSv1.2 ou TLSv1.3.
ARKVORY_TLS_RELOAD_SECONDSAPI300Com que frequência os arquivos de certificado renovados são lidos: 30–86.400 segundos, ou 0 para lê-los somente na inicialização.
ARKVORY_CORS_ORIGINSAPIvaziaLista separada por vírgulas de até 16 origens de navegador, para um console em outro endereço. Somente HTTPS, ou HTTP no loopback.
ARKVORY_TRUSTED_PROXIESAPIvaziaAté 32 endereços de proxy reverso (IP ou CIDR). Somente eles podem definir o endereço do cliente com X-Forwarded-For.

O HTTPS integrado é para instalações nativas. Com o Docker Compose, use um proxy reverso. Consulte HTTPS.

Identidade e chaves ​

VariávelLida porPadrãoSignificado
ARKVORY_KEYS_FILEAPI, workerobrigatóriaArquivo JSON com chaves de arquivo, como a chave de recuperação e a chave de verificação de integridade (health check). Ele guarda hashes SHA-256, nunca as chaves.
ARKVORY_ALLOW_REGISTRATIONAPIdesativadatrue permite que as pessoas criem as próprias contas na página de login. Qualquer outro valor a mantém desativada.

Backups ​

VariávelLida porPadrãoSignificado
ARKVORY_BACKUP_VAULTagentenão definidaDiretório de um vault inicializado. Sem ele, o agente é executado e informa que nenhum vault está configurado. arkvory configure --backup-vault o grava.
ARKVORY_BACKUP_VAULT_KEY_FILEagentenão definidaArquivo com a chave do agente para um vault criptografado (AK1-…), ou um kit de recuperação. Os comandos também o aceitam como --key-file. arkvory configure --vault-key-file o escreve.
ARKVORY_BACKUP_BYTES_PER_SECONDagentesem limiteLimite da taxa de cópia de um backup, no mínimo 65.536.
ARKVORY_BACKUP_POLL_SECONDSagente15Com que frequência o agente procura novas tarefas de backup, 1–3600 segundos.
ARKVORY_BACKUP_LEASE_SECONDSagente60Tempo de lease que impede que um segundo agente seja executado ao mesmo tempo, 2–3600 segundos.
ARKVORY_BACKUP_SNAPSHOT_SECONDSagente1800Limite de tempo para a parte de snapshot do banco de dados de um backup, 60–86.400 segundos.
ARKVORY_BACKUP_BARRIER_SECONDSagente30Quanto tempo um backup espera por uma etapa de limpeza em execução, 1–600 segundos.
ARKVORY_RESTORE_DATABASE_URLcomando restorenão definidaBanco de dados de destino de uma restauração. É mais seguro que --database-url, porque outros usuários não o veem na lista de processos.

Consulte Backups.

Espelhos ​

VariávelLida porPadrãoSignificado
ARKVORY_MIRRORS_FILEAPI, workernão definidaArquivo JSON que lista os repositórios espelhados (até 64). arkvory configure --mirror o grava.
ARKVORY_MIRRORS_CA_FILEworkernão definidaCaminho absoluto de um arquivo PEM com autoridades certificadoras extras para os servidores de origem. O TLS é sempre verificado.

Consulte Espelhos.

Webhooks ​

VariávelLida porPadrãoSignificado
ARKVORY_WEBHOOKS_FILEworkernão definidaArquivo JSON com a lista de assinaturas de webhook (até 16). Sem ele, nenhum webhook é enviado.
ARKVORY_WEBHOOKS_ALLOW_PRIVATEworkernão definidaRedes em formato CIDR separadas por vírgulas (até 32) que podem receber webhooks além dos endereços públicos, por exemplo 10.20.0.0/16.
ARKVORY_WEBHOOKS_CA_FILEworkernão definidaCaminho absoluto de um arquivo PEM com autoridades de certificação adicionais para os receptores. O TLS é sempre verificado.

Veja Webhooks.

Cluster de alta disponibilidade ​

VariávelLida porPadrãoSignificado
ARKVORY_REPLICA_SOCKETAPInão definidaSocket do serviço arkvory-replica. arkvory configure --cluster a define. Com ela, uma gravação recebe 2xx somente quando as cópias exigidas estão completas. Não definida: servidor independente.

Veja Cluster de alta disponibilidade.

Atualizações e o hub ​

VariávelLida porPadrãoSignificado
ARKVORY_HUB_URLAPIhttps://hub.proanima.netEndereço do hub da ProAnimaStudio, usado somente pelo feedback do console (o hub de atualizações fica em config/hub.json e é alterado com arkvory configure). Um valor vazio desativa o feedback. Somente HTTPS, ou HTTP no loopback.
ARKVORY_HUB_PROJECTAPIarkvoryNome do projeto no hub.
ARKVORY_UPDATE_CONTROL_DIRAPInão definidaDiretório que a API compartilha com o atualizador do host. Os instaladores o definem. Sem ele, o console não consegue solicitar atualizações.

Consulte Atualizações.

Logs e encerramento ​

VariávelLida porPadrãoSignificado
ARKVORY_LOG_LEVELAPI, worker, agenteinfodebug, info, warning ou error.
ARKVORY_ACCESS_LOGAPItruetrue grava uma linha JSON para cada solicitação HTTP; false a desativa.
ARKVORY_DRAIN_TIMEOUT_MSAPI30000Depois de um sinal de parada, o tempo para as solicitações em andamento terminarem, 0–3.600.000 ms.

Gateways de leitura ​

Quando qualquer uma destas variáveis é definida, o slot, o número de slots e a taxa compartilhada são obrigatórios. O processo de escrita usa o papel api e o slot 0. Cada gateway de leitura usa o papel reader e o próprio slot. Consulte Gateways de leitura.

VariávelLida porPadrãoSignificado
ARKVORY_ROLEAPIapiapi (o processo de escrita) ou reader (um gateway de leitura).
ARKVORY_GATEWAY_SLOTSAPInão definidaNúmero de processos que compartilham o limite de download, 2–16.
ARKVORY_GATEWAY_SLOTAPInão definidaSlot deste processo, de 0 até o número de slots menos um.
ARKVORY_SHARED_DOWNLOAD_BYTES_PER_SECONDAPInão definidaTaxa total de download de todos os processos. Cada slot recebe uma parte igual, de no mínimo 65.536 bytes por segundo.
ARKVORY_SHARED_DOWNLOAD_BYTES_PER_SECOND_PER_PRINCIPALAPI0Taxa total de download de uma conta ou chave em todos os processos; 0 significa sem limite.

Watchdog ​

VariávelLida porPadrãoSignificado
ARKVORY_WATCHDOG_SECONDSAPI, worker, agente60Um processo que fica bloqueado por esse tempo se encerra sozinho, e o gerenciador de serviços o inicia de novo. 0 o desativa (para um depurador); caso contrário, 10–3600 segundos.

Consulte Autorrecuperação.

Cliente de linha de comando ​

VariávelLida porPadrãoSignificado
ARKVORY_BASE_URLCLIperfil e depois http://127.0.0.1:8080Endereço do servidor. Quando definida, a chave também deve vir do ambiente.
ARKVORY_TOKENCLInão definidaA própria chave. Tem prioridade sobre um arquivo de chave.
ARKVORY_TOKEN_FILECLIarquivo de chave do perfilCaminho de um arquivo que contém a chave.
ARKVORY_CLI_HOMECLI~/.config/arkvoryDiretório do arquivo profiles.json.
ARKVORY_CLI_VERSIONCLIdevelopmentVersão que --version imprime. Os pacotes de release a contêm.

Consulte Cliente de linha de comando.

Scripts de instalação ​

Estas variáveis são lidas pelo install.sh no Linux. No Windows, o install.ps1 usa, em vez delas, parâmetros como -Root e -Artifact.

VariávelPadrãoSignificado
ARKVORY_INSTALL_ROOT/opt/proanima-arkvoryRaiz da instalação. Não coloque uma instalação nativa em um diretório pessoal.
ARKVORY_ARTIFACT_DIRnão definidaDiretório de um release descompactado. O script o instala em vez de baixar um release.
ARKVORY_RELEASE_VERSIONa versão estável mais recenteVersão estável exata a instalar, como 1.2.3.

Definidas pelo instalador ​

O instalador define estas variáveis para os próprios processos auxiliares. Não as defina você mesmo.

VariávelSignificado
ARKVORY_IMAGEImagem de contêiner do release atual, em config/compose.env.
ARKVORY_SERVICE_WRAPPERCaminho do wrapper do serviço de backup do Windows, usado quando o serviço está parado.
ARKVORY_PROTECT_ROOTRaiz da instalação cujas regras de acesso são definidas no Windows.
ARKVORY_ENGINE_USERNo Windows com o Docker Desktop, dá ao usuário atual acesso à raiz.

Arkvory · ProAnimaStudio