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.
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ável | Descrição |
|---|---|
GOOGLE_CLIENT_ID | Client ID do seu cliente OAuth do Google. Defini-lo faz aparecer o botão "Sign in with Google". |
GOOGLE_CLIENT_SECRET | Client 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ável | Descrição |
|---|---|
GITHUB_CLIENT_ID | Client ID da sua aplicação OAuth do GitHub. Defini-lo faz aparecer o botão "Sign in with GitHub". |
GITHUB_CLIENT_SECRET | Client 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ável | Descrição |
|---|---|
SMTP_HOST | Nome do servidor SMTP (por exemplo smtp.gmail.com). Ativa o email junto com DATABASUS_URL. |
SMTP_PORT | Porta do servidor SMTP (por exemplo 587). Deve ser um inteiro positivo quando SMTP_HOST está definido. |
SMTP_USER | Nome de login para a autenticação SMTP. |
SMTP_PASSWORD | Senha para a autenticação SMTP. No Gmail, use uma App Password — não a senha da conta. |
SMTP_FROM | O endereço "From" dos emails enviados. |
SMTP_INSECURE_SKIP_VERIFY | Defina 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_URL | URL 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ável | Descrição |
|---|---|
CLOUDFLARE_TURNSTILE_SITE_KEY | Chave pública do site no Turnstile, usada para renderizar o widget no navegador. |
CLOUDFLARE_TURNSTILE_SECRET_KEY | Chave 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ável | Padrão | Descrição |
|---|---|---|
IS_DISABLE_ANONYMOUS_TELEMETRY | false | Defina 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://ehttps://enviam OTLP/HTTP e usam a URL tal como está, caminho incluído;grpc://egrpcs://enviam OTLP/gRPC e usam apenas o host e a porta. - A autenticação vai em
OPEN_TELEMETRY_HEADERSou na própria URL comouser: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=audite ignoramLOG_LEVEL, então subir o nível nunca descarta a trilha de auditoria.
| Variável | Padrão | Descrição |
|---|---|---|
OPEN_TELEMETRY_URL | — | URL 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_HEADERS | — | Pares 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_LEVEL | info | Um de debug, info, warn ou error. Um valor não reconhecido volta a info. |
LOG_FILE_IS_ENABLED | true | Escreve 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:
| Backend | OPEN_TELEMETRY_URL | OPEN_TELEMETRY_HEADERS |
|---|---|---|
| VictoriaLogs | http://victoria-logs:9428/insert/opentelemetry/v1/logs | Authorization=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 Collector | grpc://otel-collector:4317 | Authorization=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:4317 | Authorization=Bearer%20your-token — o token definido no input OpenTelemetry (gRPC). O input também aceita mTLS em alternativa. |
| SigNoz Cloud | grpcs://ingest.eu.signoz.cloud:443 | signoz-ingestion-key=your-ingestion-key |
| Grafana Cloud | https://otlp-gateway-prod-eu-west-0.grafana.net/otlp/v1/logs | Authorization=Basic%20<base64> — base64 de instance-id:api-token |
| Honeycomb | https://api.honeycomb.io/v1/logs | x-honeycomb-team=your-api-key |
| Datadog Agent | grpc://datadog-agent:4317 | Nenhum — 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ável | Descrição |
|---|---|
ANALYTICS_SCRIPT | Marcação <script> própria injetada antes da tag de fechamento </head>. Deixe sem definir para não adicionar nenhuma análise. |