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.
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.
| Variable | Description |
|---|---|
GOOGLE_CLIENT_ID | Client ID de votre client OAuth Google. Le définir affiche le bouton "Sign in with Google". |
GOOGLE_CLIENT_SECRET | Client 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.
| Variable | Description |
|---|---|
GITHUB_CLIENT_ID | Client ID de votre application OAuth GitHub. Le définir affiche le bouton "Sign in with GitHub". |
GITHUB_CLIENT_SECRET | Client 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.
| Variable | Description |
|---|---|
SMTP_HOST | Nom d'hôte du serveur SMTP (par ex. smtp.gmail.com). Active l'e-mail avec DATABASUS_URL. |
SMTP_PORT | Port du serveur SMTP (par ex. 587). Doit être un entier positif quand SMTP_HOST est défini. |
SMTP_USER | Nom d'utilisateur pour l'authentification SMTP. |
SMTP_PASSWORD | Mot de passe pour l'authentification SMTP. Pour Gmail, utilisez un App Password, pas le mot de passe de votre compte. |
SMTP_FROM | L'adresse "From" des e-mails sortants. |
SMTP_INSECURE_SKIP_VERIFY | Mettez 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_URL | URL 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.
| Variable | Description |
|---|---|
CLOUDFLARE_TURNSTILE_SITE_KEY | Clé de site Turnstile publique, utilisée pour afficher le widget dans le navigateur. |
CLOUDFLARE_TURNSTILE_SECRET_KEY | Clé 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.
| Variable | Défaut | Description |
|---|---|---|
IS_DISABLE_ANONYMOUS_TELEMETRY | false | Mettez 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://ethttps://envoient en OTLP/HTTP et utilisent l'URL telle quelle, chemin compris ;grpc://etgrpcs://envoient en OTLP/gRPC et n'utilisent que l'hôte et le port. - L'authentification se met dans
OPEN_TELEMETRY_HEADERSou dans l'URL sous la formeuser: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 ignorentLOG_LEVEL: élever le niveau ne fait donc jamais disparaître la piste d'audit.
| Variable | Défaut | Description |
|---|---|---|
OPEN_TELEMETRY_URL | — | URL 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_HEADERS | — | Paires 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_LEVEL | info | L'une des valeurs debug, info, warn ou error. Une valeur non reconnue retombe sur info. |
LOG_FILE_IS_ENABLED | true | É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 :
| Backend | OPEN_TELEMETRY_URL | OPEN_TELEMETRY_HEADERS |
|---|---|---|
| VictoriaLogs | http://victoria-logs:9428/insert/opentelemetry/v1/logs | Authorization=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 Collector | grpc://otel-collector:4317 | Authorization=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:4317 | Authorization=Bearer%20your-token : le jeton défini sur l'input OpenTelemetry (gRPC). L'input accepte aussi le mTLS à la place. |
| 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 | Aucun : 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.
| Variable | Description |
|---|---|
ANALYTICS_SCRIPT | Balisage <script> personnalisé injecté avant la balise fermante </head>. Laissez vide pour n'ajouter aucune analytique. |