Configuration avancée

Databasus fonctionne d'emblée avec des valeurs par défaut raisonnables : une installation standard en un seul conteneur ne demande aucune configuration. Chaque variable de cette page est optionnelle et inutile dans 99 % des déploiements en production.

OAuth

Par défaut, Databasus utilise la connexion par e-mail et mot de passe. Vous pouvez en plus permettre la connexion avec un compte Google ou GitHub. Le bouton d'un fournisseur apparaît dès que son client ID est défini, mais la connexion n'aboutit que lorsque les deux valeurs, client ID et client secret, sont présentes.

Quand vous enregistrez l'application OAuth, définissez son URL de redirection (callback) sur https://<your-domain>/auth/callback. À cause de cette redirection, la connexion OAuth exige que votre instance soit servie en HTTPS sur un domaine public (voir la note ci-dessous).

HTTPS est requis pour la connexion et l'e-mail. La connexion OAuth et l'e-mail exigent tous deux que votre instance soit joignable en HTTPS sur un domaine public : les fournisseurs OAuth redirigent le navigateur vers https://<your-domain>/auth/callback, et les liens contenus dans les e-mails doivent s'ouvrir chez leurs destinataires. Une instance limitée à localhost ou en HTTP simple ne peut pas utiliser ces fonctionnalités. Le moyen le plus simple d'obtenir HTTPS est la configuration reverse proxy Caddy.

Google

Créez un client OAuth dans la Google Cloud Console (APIs & Services → Credentials → Create credentials → OAuth client ID, type d'application Web application) et ajoutez https://<your-domain>/auth/callback comme URI de redirection autorisée.

VariableDescription
GOOGLE_CLIENT_IDClient ID de votre client OAuth Google. Le définir affiche le bouton "Sign in with Google".
GOOGLE_CLIENT_SECRETClient secret de votre client OAuth Google. Requis avec le client ID pour que la connexion fonctionne.

GitHub

Créez une application OAuth dans les paramètres développeur GitHub (Settings → Developer settings → OAuth Apps → New OAuth App) et définissez l'URL de callback d'autorisation sur https://<your-domain>/auth/callback.

VariableDescription
GITHUB_CLIENT_IDClient ID de votre application OAuth GitHub. Le définir affiche le bouton "Sign in with GitHub".
GITHUB_CLIENT_SECRETClient secret de votre application OAuth GitHub. Requis avec le client ID pour que la connexion fonctionne.

E-mail (SMTP)

Connectez un serveur SMTP pour que Databasus puisse envoyer des e-mails transactionnels, comme les liens de réinitialisation de mot de passe et les invitations aux espaces de travail. L'e-mail est considéré comme configuré uniquement quand SMTP_HOST et DATABASUS_URL sont tous deux définis ; jusque-là, les fonctionnalités e-mail restent masquées dans l'interface.

VariableDescription
SMTP_HOSTNom d'hôte du serveur SMTP (par ex. smtp.gmail.com). Active l'e-mail avec DATABASUS_URL.
SMTP_PORTPort du serveur SMTP (par ex. 587). Doit être un entier positif quand SMTP_HOST est défini.
SMTP_USERNom d'utilisateur pour l'authentification SMTP.
SMTP_PASSWORDMot de passe pour l'authentification SMTP. Pour Gmail, utilisez un App Password, pas le mot de passe de votre compte.
SMTP_FROML'adresse "From" des e-mails sortants.
SMTP_INSECURE_SKIP_VERIFYMettez true pour ignorer la vérification du certificat TLS lors de la connexion au serveur SMTP. Vaut false par défaut. À réserver aux serveurs avec un certificat auto-signé sur un réseau de confiance : cette option désactive la protection contre les attaques de l'homme du milieu.
DATABASUS_URLURL de base publique de votre instance (par ex. https://backup.example.com). Sert à construire les liens dans les e-mails. Requis avec SMTP_HOST.

Captcha à l'inscription (Cloudflare Turnstile)

Si votre instance est joignable depuis l'internet public, vous pouvez placer un défi Cloudflare Turnstile sur les formulaires d'inscription et de connexion pour tenir les bots à l'écart. Les deux clés viennent du tableau de bord Turnstile, et le défi ne s'active que lorsque les deux sont définies.

Pour bloquer complètement les inscriptions externes au lieu de simplement les filtrer, vous n'avez pas besoin de captcha : ouvrez Databasus settings → Allow sign up dans l'interface et désactivez l'option. Cela ferme entièrement le formulaire d'inscription.

VariableDescription
CLOUDFLARE_TURNSTILE_SITE_KEYClé de site Turnstile publique, utilisée pour afficher le widget dans le navigateur.
CLOUDFLARE_TURNSTILE_SECRET_KEYClé Turnstile secrète, utilisée par le backend pour valider les réponses au défi.

Télémétrie

Databasus envoie par défaut une télémétrie d'usage anonyme et non identifiante. Elle ne contient aucune donnée personnelle et nous aide à comprendre comment le projet est utilisé. Vous pouvez lire exactement ce qui est collecté dans la politique de confidentialité, et vous pouvez la désactiver complètement.

VariableDéfautDescription
IS_DISABLE_ANONYMOUS_TELEMETRYfalseMettez true pour désactiver la télémétrie d'usage anonyme.

Journalisation

Databasus écrit ses journaux sur stdout et les duplique en JSON dans databasus.log sur le volume de données. Définissez OPEN_TELEMETRY_URL et il les exporte aussi via Open Telemetry vers un backend comme VictoriaLogs, Graylog, SigNoz, Grafana Loki, Datadog ou Honeycomb, ou vers un OpenTelemetry Collector, qui est lui-même un récepteur OTLP.

  • Le transport suit le schéma de l'URL. http:// et https:// envoient en OTLP/HTTP et utilisent l'URL telle quelle, chemin compris ; grpc:// et grpcs:// envoient en OTLP/gRPC et n'utilisent que l'hôte et le port.
  • L'authentification se met dans OPEN_TELEMETRY_HEADERS ou dans l'URL sous la forme user:password@host.
  • Les secrets (mots de passe, jetons, identifiants) dans les URL sont caviardés avant qu'un enregistrement ne quitte le processus.
  • Les entrées d'audit partent avec les journaux applicatifs, marquées log_type=audit, et ignorent LOG_LEVEL : élever le niveau ne fait donc jamais disparaître la piste d'audit.
VariableDéfautDescription
OPEN_TELEMETRY_URLURL complète du point de terminaison OTLP, chemin compris. Laissez vide pour garder les journaux dans le conteneur. Une chaîne de requête, un hôte manquant ou un schéma inconnu arrête le conteneur au démarrage plutôt que d'exporter dans le vide.
OPEN_TELEMETRY_HEADERSPaires key=value séparées par des virgules, envoyées avec chaque export, en général une clé API. Les valeurs sont décodées en pourcent, conformément au format standard OTEL_EXPORTER_OTLP_HEADERS.
LOG_LEVELinfoL'une des valeurs debug, info, warn ou error. Une valeur non reconnue retombe sur info.
LOG_FILE_IS_ENABLEDtrueÉcrit databasus.log à côté du reste des données, avec rotation à 5 Mo et conservation de 3 anciens fichiers. Mettez false si votre plateforme collecte déjà stdout.

Valeurs pour les backends courants, chacune avec l'en-tête qui l'authentifie. Remplacez les hôtes, régions et clés par les vôtres :

BackendOPEN_TELEMETRY_URLOPEN_TELEMETRY_HEADERS
VictoriaLogshttp://victoria-logs:9428/insert/opentelemetry/v1/logsAuthorization=Basic%20dXNlcjpwYXNzd29yZA== : les identifiants attendus par votre vmauth ou votre reverse proxy, puisque VictoriaLogs lui-même n'a pas d'authentification sur le chemin d'ingestion.
OpenTelemetry Collectorgrpc://otel-collector:4317Authorization=Bearer%20your-token : correspond à une extension bearertokenauth ou basicauth sur le récepteur. Un Collector joignable uniquement dans votre réseau n'en a en général pas besoin.
Graylog 6.2+grpc://graylog:4317Authorization=Bearer%20your-token : le jeton défini sur l'input OpenTelemetry (gRPC). L'input accepte aussi le mTLS à la place.
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:4317Aucun : l'Agent détient la clé API et transmet pour vous.

Les valeurs d'en-tête sont décodées en pourcent, donc l'espace après Basic ou Bearer s'écrit %20 et une virgule dans une valeur %2C. L'authentification Basic peut aussi aller directement dans l'URL sous la forme https://user:password@host/path : Databasus la transforme en le même en-tête et la garde hors des journaux. Sur http:// et grpc://, les clés et mots de passe circulent en clair, utilisez donc https:// ou grpcs:// en dehors d'un réseau de confiance.

Script d'analytique

Databasus peut injecter votre propre extrait d'analytique ou de suivi (Google Analytics, Plausible, Umami et similaires) dans l'application. Quand ANALYTICS_SCRIPT est défini, sa valeur est insérée dans le <head> de la page au démarrage.

Avertissement de sécurité : la valeur est injectée telle quelle, comme HTML et JavaScript bruts, et s'exécute avec un accès complet à l'interface Databasus dans le navigateur de chaque visiteur. Ne la définissez que sur un extrait que vous contrôlez et auquel vous faites entièrement confiance.

VariableDescription
ANALYTICS_SCRIPTBalisage <script> personnalisé injecté avant la balise fermante </head>. Laissez vide pour n'ajouter aucune analytique.