Databasus
PostgreSQL backup tool (with MySQL\MariaDB and MongoDB support)
Install / Use
/learn @databasus/DatabasusREADME
✨ Features
💾 Supported databases
- PostgreSQL: 12, 13, 14, 15, 16, 17 and 18
- MySQL: 5.7, 8 and 9
- MariaDB: 10, 11 and 12
- MongoDB: 4, 5, 6, 7 and 8
🔄 Scheduled backups
- Flexible scheduling: hourly, daily, weekly, monthly or cron
- Precise timing: run backups at specific times (e.g., 4 AM during low traffic)
- Smart compression: 4-8x space savings with balanced compression (~20% overhead)
🗑️ Retention policies
- Time period: Keep backups for a fixed duration (e.g., 7 days, 3 months, 1 year)
- Count: Keep a fixed number of the most recent backups (e.g., last 30)
- GFS (Grandfather-Father-Son): Layered retention — keep hourly, daily, weekly, monthly and yearly backups independently for fine-grained long-term history (enterprises requirement)
- Size limits: Set per-backup and total storage size caps to control storage usage
🗄️ Multiple storage destinations <a href="https://databasus.com/storages">(view supported)</a>
- Local storage: Keep backups on your VPS/server
- Cloud storage: S3, Cloudflare R2, Google Drive, NAS, Dropbox, SFTP, Rclone and more
- Secure: All data stays under your control
📱 Smart notifications <a href="https://databasus.com/notifiers">(view supported)</a>
- Multiple channels: Email, Telegram, Slack, Discord, webhooks
- Real-time updates: Success and failure notifications
- Team integration: Perfect for DevOps workflows
🔒 Enterprise-grade security <a href="https://databasus.com/security">(docs)</a>
- AES-256-GCM encryption: Enterprise-grade protection for backup files
- Zero-trust storage: Backups are encrypted and remain useless to attackers, so you can safely store them in shared storage like S3, Azure Blob Storage, etc.
- Encryption for secrets: Any sensitive data is encrypted and never exposed, even in logs or error messages
- Read-only user: Databasus uses a read-only user by default for backups and never stores anything that can modify your data
It is also important for Databasus that you are able to decrypt and restore backups from storages (local, S3, etc.) without Databasus itself. To do so, read our guide on how to recover directly from storage. We avoid "vendor lock-in" even to open source tool!
👥 Suitable for teams <a href="https://databasus.com/access-management">(docs)</a>
- Workspaces: Group databases, notifiers and storages for different projects or teams
- Access management: Control who can view or manage specific databases with role-based permissions
- Audit logs: Track all system activities and changes made by users
- User roles: Assign viewer, member, admin or owner roles within workspaces
🎨 UX-Friendly
- Designer-polished UI: Clean, intuitive interface crafted with attention to detail
- Dark & light themes: Choose the look that suits your workflow
- Mobile adaptive: Check your backups from anywhere on any device
🔌 Connection types
- Remote — Databasus connects directly to the database over the network (recommended in read-only mode). No agent or additional software required. Works with cloud-managed and self-hosted databases
- Agent — A lightweight Databasus agent (written in Go) runs alongside the database. The agent streams backups directly to Databasus, so the database never needs to be exposed publicly. Supports host-installed databases and Docker containers
📦 Backup types
- Logical — Native dump of the database in its engine-specific binary format. Compressed and streamed directly to storage with no intermediate files
- Physical — File-level copy of the entire database cluster. Faster backup and restore for large datasets compared to logical dumps
- Incremental — Physical base backup combined with continuous WAL segment archiving. Enables Point-in-time recovery (PITR) — restore to any second between backups. Designed for disaster recovery and near-zero data loss requirements
🐳 Self-hosted & secure
- Docker-based: Easy deployment and management
- Privacy-first: All your data stays on your infrastructure
- Open source: Apache 2.0 licensed, inspect every line of code
📦 Installation <a href="https://databasus.com/installation">(docs)</a>
You have four ways to install Databasus:
- Automated script (recommended)
- Simple Docker run
- Docker Compose setup
- Kubernetes with Helm
📦 Installation
You have four ways to install Databasus: automated script (recommended), simple Docker run, or Docker Compose setup.
Option 1: Automated installation script (recommended, Linux only)
The installation script will:
- ✅ Install Docker with Docker Compose (if not already installed)
- ✅ Set up Databasus
- ✅ Configure automatic startup on system reboot
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh \
| sudo bash
Option 2: Simple Docker run
The easiest way to run Databasus:
docker run -d \
--name databasus \
-p 4005:4005 \
-v ./databasus-data:/databasus-data \
--restart unless-stopped \
databasus/databasus:latest
This single command will:
- ✅ Start Databasus
- ✅ Store all data in
./databasus-datadirectory - ✅ Automatically restart on system reboot
Option 3: Docker Compose setup
Create a docker-compose.yml file with the following configuration:
services:
databasus:
container_name: databasus
image: databasus/databasus:latest
ports:
- "4005:4005"
volumes:
- ./databasus-data:/databasus-data
restart: unless-stopped
Then run:
docker compose up -d
Option 4: Kubernetes with Helm
For Kubernetes deployments, install directly from the OCI registry.
With ClusterIP + port-forward (development/testing):
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace
kubectl port-forward svc/databasus-service 4005:4005 -n databasus
# Access at http://localhost:4005
With LoadBalancer (cloud environments):
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set service.type=LoadBalancer
kubectl get svc databasus-service -n databasus
# Access at http://<EXTERNAL-IP>:4005
With Ingress (domain-based access):
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set ingress.enabled=true \
--set ingress.hosts[0].host=backup.example.com
For more options (NodePort, TLS, HTTPRoute for Gateway API), see the Helm chart README.
🚀 Usage
- Access the dashboard: Navigate to
http://localhost:4005 - Add your first database for backup: Click "New Database" and follow the setup wizard
- Configure schedule: Choose from hourly, daily, weekly, monthly or cron intervals
- Set database connection: Enter your database credentials and connection details
- Choose storage: Select where to store your backups (local, S3, Google Drive, etc.)
- Configure retention policy: Choose time period, count or GFS to control how long backups are kept
- Add notifications (optional): Configure email, Telegram, Slack, or webhook notifications
- Save and start: Databasus will validate settings and begin the backup schedule
🔑 Resetting password <a href="https://databasus.com/password">(docs)</a>
If you need to reset the password, you can use the built-in password reset command:
docker exec -it databasus ./main --new-password="YourNewSecurePa
Related Skills
node-connect
345.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
345.4kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
prose
345.4kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
frontend-design
104.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
