Installation
Vous pouvez installer Databasus de plusieurs façons : script automatisé (recommandé), simple docker run, Docker Compose, Helm pour Kubernetes ou Docker Compose avec Caddy pour les déploiements en production.
Configuration requise
Databasus a besoin des ressources système minimales suivantes pour fonctionner correctement :
- CPU : au moins 1 cœur
- RAM : minimum 500 Mo
- Stockage : 5 Go pour l'installation, plus l'espace nécessaire pour vos backups
- Docker : Docker Engine 20.10+ et Docker Compose v2.0+
Option 1 : script d'installation (recommandé, Linux uniquement)
Le script d'installation va :
- ✅ Installer Docker avec Docker Compose (s'ils ne sont pas déjà installés)
- ✅ Configurer Databasus
- ✅ Activer le démarrage automatique au redémarrage du système
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh | sudo bashDans ce cas, Databasus sera installé dans le répertoire /opt/databasus.
Option 2 : simple docker run
La façon la plus simple de lancer Databasus :
docker run -d \
--name databasus \
-p 4005:4005 \
-v ./databasus-data:/databasus-data \
--restart unless-stopped \
databasus/databasus:latestCette seule commande va :
- ✅ Démarrer Databasus
- ✅ Stocker toutes les données dans le répertoire
./databasus-data - ✅ Redémarrer automatiquement après un redémarrage du système
Option 3 : configuration Docker Compose
Créez un fichier docker-compose.yml avec la configuration suivante :
services:
databasus:
container_name: databasus
image: databasus/databasus:latest
ports:
- "4005:4005"
volumes:
- ./databasus-data:/databasus-data
restart: unless-stoppedPuis exécutez :
docker compose up -dGardez à l'esprit que le démarrage peut prendre jusqu'à ~2 minutes.
Option 4 : Kubernetes avec Helm
Pour les déploiements Kubernetes, installez directement depuis le registre OCI. Choisissez la méthode d'accès adaptée à votre environnement.
Avec ClusterIP + port-forward (développement)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespaceAccès via port-forward :
kubectl port-forward svc/databasus-service 4005:4005 -n databasus
# Access at http://localhost:4005Avec LoadBalancer (environnements cloud)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set service.type=LoadBalancerRécupérez l'IP externe et accédez à Databasus :
kubectl get svc databasus-service -n databasus
# Access at http://<EXTERNAL-IP>:4005Avec Ingress (accès par nom de domaine)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set ingress.enabled=true \
--set ingress.hosts[0].host=backup.example.comPour les autres options (NodePort, TLS, HTTPRoute pour Gateway API), consultez la documentation du chart Helm.
Exécution derrière le reverse proxy Caddy
Pour les déploiements en production, vous pouvez utiliser Caddy comme reverse proxy pour obtenir des certificats HTTPS automatiques et un accès sécurisé à Databasus. Voici une configuration Docker Compose complète avec Caddy.
Docker Compose avec Caddy
Créez un fichier docker-compose.yml :
services:
databasus:
container_name: databasus
image: databasus/databasus:latest
volumes:
- ./databasus-data:/databasus-data
restart: unless-stopped
# No port exposed - Caddy handles external access
caddy:
container_name: caddy
image: caddy:latest
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./caddy-data:/data
- ./caddy-config:/config
restart: unless-stopped
depends_on:
- databasusCréez un Caddyfile dans le même répertoire :
backup.example.com {
reverse_proxy databasus:4005
}Puis démarrez les services :
docker compose up -dCette configuration fournit :
- ✅ HTTPS automatique avec les certificats Let's Encrypt
- ✅ Redirection de HTTP vers HTTPS
- ✅ Reverse proxy vers Databasus
- ✅ Persistance des données pour Caddy comme pour Databasus
Remplacez backup.example.com par votre propre domaine. Assurez-vous que le DNS de votre domaine pointe vers l'adresse IP de votre serveur avant de démarrer les services.
Premiers pas
Après l'installation :
- Lancez et ouvrez Databasus : démarrez Databasus et rendez-vous sur
http://localhost:4005 - Créez votre première tâche de sauvegarde : cliquez sur "New Backup" et configurez la connexion à votre base PostgreSQL
- Configurez la planification : définissez la fréquence des backups (horaire, quotidienne, hebdomadaire, mensuelle ou cron)
- Choisissez la destination de stockage : sélectionnez où stocker vos backups (local, S3, Google Drive, etc.)
- Configurez les notifications : ajoutez des canaux de notification (Slack, Telegram, Discord) pour être alerté du statut des backups
- Lancez la sauvegarde : enregistrez votre configuration et regardez votre premier backup s'exécuter !
Health checks
Health check Docker
Un health check intégré est activé automatiquement pour docker run et Docker Compose. Le conteneur passe à l'état healthy dès que Databasus répond aux requêtes (après un court délai de démarrage). Il vérifie uniquement que l'application répond, donc le conteneur n'est pas redémarré pour des conditions non critiques comme un espace disque faible.
Endpoint de monitoring / statut
Pour le monitoring de disponibilité et les tableaux de bord de statut :
GET http://<host>:4005/api/v1/system/healthRenvoie 200 quand tout va bien, ou 503 avec une raison quand quelque chose demande de l'attention : base de données interne, cache, occupation disque (au-delà de 95 %), outils clients de bases de données, planificateur de backups et vivacité de l'agent de vérification. L'endpoint est accessible sans authentification, et CORS est ouvert pour les outils de monitoring qui tournent dans le navigateur.
⚠️ Important : utilisez cet endpoint pour le monitoring et les alertes, pas comme liveness probe de conteneur ou de Kubernetes : il renvoie 503 pour des états dégradés mais fonctionnels (par exemple un disque presque plein), ce qui redémarrerait un conteneur en état de marche.
Kubernetes
Utilisez une liveness/readiness probe qui exécute databasus healthcheck ; gardez l'endpoint /api/v1/system/health pour le monitoring externe.
Comment mettre à jour Databasus ?
Mettre à jour une installation Docker
Pour mettre à jour Databasus exécuté via Docker, vous devez l'arrêter, nettoyer le cache Docker et redémarrer le conteneur.
- Allez dans le répertoire où Databasus est installé (généralement
/opt/databasus) - Arrêtez le conteneur :
docker compose stop - Nettoyez le cache Docker :
docker system prune -a - Redémarrez le conteneur :
docker compose up -d
Cela récupérera la dernière version de Databasus depuis Docker Hub (si vous n'avez pas figé la version dans le fichier docker-compose.yml).
Mettre à jour une installation Helm
Pour mettre à jour Databasus exécuté sur Kubernetes via Helm, utilisez la commande upgrade :
helm upgrade databasus oci://ghcr.io/databasus/charts/databasus -n databasusSi vous avez des valeurs personnalisées, ajoutez -f values.yaml ou utilisez des options --set pour préserver votre configuration. Helm effectuera une mise à jour progressive vers la nouvelle version.
Migrer depuis Postgresus
Databasus est le nouveau nom de Postgresus. Si vous utilisez actuellement Postgresus, vous pouvez continuer à l'utiliser ou migrer vers Databasus.
Important : renommer simplement l'image Docker ne suffit pas, car Postgresus et Databasus utilisent des dossiers de données et des noms de base internes différents.
Pour migrer :
- Arrêtez votre conteneur Postgresus :
docker compose stop - Installez Databasus avec l'une des méthodes ci-dessus (utilisez un autre chemin de volume,
./databasus-data) - Recréez manuellement vos bases de données, stockages et notificateurs dans Databasus
Pendant la migration, Postgresus et Databasus peuvent tourner côte à côte avec des ports et des chemins de volume différents.
Dépannage
Le conteneur ne démarre pas
Si le conteneur ne démarre pas, consultez les logs :
docker logs databasusPort déjà utilisé
Si le port 4005 est déjà utilisé, vous pouvez le changer dans votre docker-compose.yml :
ports:
- "8080:4005" # Change 8080 to any available portErreurs de permissions
Si vous rencontrez des problèmes de permissions sur le répertoire de données :
sudo chown -R $USER:$USER ./databasus-data
chmod -R 755 ./databasus-data