Configuração avançada

O Databasus já vem com valores padrão sensatos: uma instalação típica de container único não precisa de nenhuma configuração. Cada variável desta página é opcional e desnecessária em 99% dos ambientes de produção.

OAuth

Por padrão o Databasus usa login com email e senha. Você também pode permitir o login com conta Google ou GitHub. O botão de um provedor aparece assim que o seu client ID é definido, mas o login só se completa quando tanto o client ID quanto o client secret estão presentes.

Ao registrar a aplicação OAuth, defina a URL de redirecionamento (callback) como https://<your-domain>/auth/callback. Por causa desse redirecionamento, o login OAuth exige que a sua instância seja servida por HTTPS num domínio público — veja a nota abaixo.

HTTPS é obrigatório para login e email. Tanto o login OAuth quanto o email precisam que a sua instância esteja acessível por HTTPS num domínio público: os provedores OAuth redirecionam o navegador de volta para https://<your-domain>/auth/callback, e os links dentro dos emails precisam abrir para quem os recebe. Uma instância apenas em localhost ou em HTTP puro não pode usar esses recursos. A forma mais simples de obter HTTPS é a configuração do reverse proxy Caddy.

Google

Crie um cliente OAuth no Google Cloud Console (APIs & Services → Credentials → Create credentials → OAuth client ID, tipo de aplicação Web application) e adicione https://<your-domain>/auth/callback como URI de redirecionamento autorizada.

VariávelDescrição
GOOGLE_CLIENT_IDClient ID do seu cliente OAuth do Google. Defini-lo faz aparecer o botão "Sign in with Google".
GOOGLE_CLIENT_SECRETClient secret do seu cliente OAuth do Google. Necessário junto com o ID para o login funcionar.

GitHub

Crie uma aplicação OAuth em GitHub Developer settings (Settings → Developer settings → OAuth Apps → New OAuth App) e defina a URL de callback de autorização como https://<your-domain>/auth/callback.

VariávelDescrição
GITHUB_CLIENT_IDClient ID da sua aplicação OAuth do GitHub. Defini-lo faz aparecer o botão "Sign in with GitHub".
GITHUB_CLIENT_SECRETClient secret da sua aplicação OAuth do GitHub. Necessário junto com o ID para o login funcionar.

Email (SMTP)

Conecte um servidor SMTP para o Databasus enviar emails transacionais, como links de redefinição de senha e convites para workspaces. O email só é considerado configurado quando tanto SMTP_HOST quanto DATABASUS_URL estão definidos — até lá, os recursos de email ficam ocultos na interface.

VariávelDescrição
SMTP_HOSTNome do servidor SMTP (por exemplo smtp.gmail.com). Ativa o email junto com DATABASUS_URL.
SMTP_PORTPorta do servidor SMTP (por exemplo 587). Deve ser um inteiro positivo quando SMTP_HOST está definido.
SMTP_USERNome de login para a autenticação SMTP.
SMTP_PASSWORDSenha para a autenticação SMTP. No Gmail, use uma App Password — não a senha da conta.
SMTP_FROMO endereço "From" dos emails enviados.
SMTP_INSECURE_SKIP_VERIFYDefina como true para pular a verificação do certificado TLS ao conectar ao servidor SMTP. O padrão é false. Use apenas para servidores com certificado autoassinado numa rede confiável: desativa a proteção contra ataques man-in-the-middle.
DATABASUS_URLURL base pública da sua instância (por exemplo https://backup.example.com). Usada para construir os links dentro dos emails. Necessária junto com SMTP_HOST.

Captcha no registro (Cloudflare Turnstile)

Se a sua instância está acessível pela internet pública, você pode colocar um desafio do Cloudflare Turnstile nos formulários de registro e de login para barrar bots. As duas chaves vêm do painel do Turnstile, e o desafio só é ativado quando ambas estão definidas.

Para bloquear registros externos por completo, em vez de apenas desafiá-los, você não precisa de captcha nenhum: abra Databasus settings → Allow sign up na interface e desligue a opção. Isso fecha completamente o formulário de registro.

VariávelDescrição
CLOUDFLARE_TURNSTILE_SITE_KEYChave pública do site no Turnstile, usada para renderizar o widget no navegador.
CLOUDFLARE_TURNSTILE_SECRET_KEYChave secreta do Turnstile, usada pelo backend para validar as respostas ao desafio.

Telemetria

O Databasus envia por padrão telemetria de uso anônima e não identificável. Ela não carrega dados pessoais e nos ajuda a entender como o projeto é usado. Você pode ler exatamente o que é coletado na política de privacidade, e pode desativá-la por completo.

VariávelPadrãoDescrição
IS_DISABLE_ANONYMOUS_TELEMETRYfalseDefina como true para desativar a telemetria de uso anônima.

Logs

O Databasus escreve os seus logs no stdout e os espelha como JSON em databasus.log no volume de dados. Defina OPEN_TELEMETRY_URL e ele também os exporta por OpenTelemetry para um backend como VictoriaLogs, Graylog, SigNoz, Grafana Loki, Datadog ou Honeycomb, ou para um OpenTelemetry Collector, que é ele próprio um receptor OTLP.

  • O transporte segue o esquema da URL. http:// e https:// enviam OTLP/HTTP e usam a URL tal como está, caminho incluído; grpc:// e grpcs:// enviam OTLP/gRPC e usam apenas o host e a porta.
  • A autenticação vai em OPEN_TELEMETRY_HEADERS ou na própria URL como user:password@host.
  • Segredos (senhas, tokens, credenciais) dentro de URLs são censurados antes de uma entrada de log sair do processo.
  • As entradas de auditoria seguem junto com os logs da aplicação marcadas com log_type=audit e ignoram LOG_LEVEL, então subir o nível nunca descarta a trilha de auditoria.
VariávelPadrãoDescrição
OPEN_TELEMETRY_URLURL completa do endpoint OTLP, incluindo o caminho. Deixe sem definir para manter os logs no container. Uma query string, um host ausente ou um esquema desconhecido impede o container de iniciar, em vez de exportar para lugar nenhum.
OPEN_TELEMETRY_HEADERSPares key=value separados por vírgula, enviados em cada exportação, normalmente uma chave de API. Os valores são decodificados de percent-encoding, seguindo o formato padrão OTEL_EXPORTER_OTLP_HEADERS.
LOG_LEVELinfoUm de debug, info, warn ou error. Um valor não reconhecido volta a info.
LOG_FILE_IS_ENABLEDtrueEscreve databasus.log junto com o resto dos dados, com rotação a 5 MB e 3 versões antigas guardadas. Defina como false se a sua plataforma já coleta o stdout.

Valores para backends comuns, cada um com o cabeçalho que o autentica. Substitua hosts, regiões e chaves pelos seus:

BackendOPEN_TELEMETRY_URLOPEN_TELEMETRY_HEADERS
VictoriaLogshttp://victoria-logs:9428/insert/opentelemetry/v1/logsAuthorization=Basic%20dXNlcjpwYXNzd29yZA== — as credenciais que o seu vmauth ou reverse proxy espera, já que o próprio VictoriaLogs não tem autenticação no caminho de ingestão.
OpenTelemetry Collectorgrpc://otel-collector:4317Authorization=Bearer%20your-token — corresponde a uma extensão bearertokenauth ou basicauth no receptor. Um Collector acessível apenas dentro da sua rede normalmente não precisa de nenhum.
Graylog 6.2+grpc://graylog:4317Authorization=Bearer%20your-token — o token definido no input OpenTelemetry (gRPC). O input também aceita mTLS em alternativa.
SigNoz Cloudgrpcs://ingest.eu.signoz.cloud:443signoz-ingestion-key=your-ingestion-key
Grafana Cloudhttps://otlp-gateway-prod-eu-west-0.grafana.net/otlp/v1/logsAuthorization=Basic%20<base64> — base64 de instance-id:api-token
Honeycombhttps://api.honeycomb.io/v1/logsx-honeycomb-team=your-api-key
Datadog Agentgrpc://datadog-agent:4317Nenhum — o Agent guarda a chave de API e reenvia por conta própria.

Os valores dos cabeçalhos são decodificados de percent-encoding, então o espaço depois de Basic ou Bearer se escreve como %20 e uma vírgula dentro de um valor como %2C. A autenticação Basic também pode ir direto na URL como https://user:password@host/path — o Databasus a transforma no mesmo cabeçalho e a mantém fora dos logs. Por http:// e grpc:// as chaves e senhas viajam em claro, então use https:// ou grpcs:// fora de uma rede confiável.

Script de análise

O Databasus pode injetar na aplicação o seu próprio snippet de análise ou rastreamento: Google Analytics, Plausible, Umami e semelhantes. Quando ANALYTICS_SCRIPT está definido, o seu valor é inserido no <head> da página na inicialização.

Aviso de segurança: o valor é injetado tal como está, como HTML e JavaScript puros, e executa com acesso total à interface do Databasus no navegador de cada visitante. Só o defina com um snippet que controla e no qual confia totalmente.

VariávelDescrição
ANALYTICS_SCRIPTMarcação <script> própria injetada antes da tag de fechamento </head>. Deixe sem definir para não adicionar nenhuma análise.