Databasus:PostgreSQL、MySQL、MongoDB 自动化备份的开源解决方案
Databasus 为 PostgreSQL(主要支持)、MySQL、MariaDB 和 MongoDB 提供自动化备份。只需一条命令即可通过 Docker 部署,支持本地存储、S3、Cloudflare R2、Google Drive、Azure Blob、NAS、SFTP 和 rclone。通知方式包括 Slack、Discord、Telegram、MS Teams、电子邮件和 webhook。数据加密、审计日志、项目和访问管理。
支持自托管和云端数据库,提供逻辑/物理/增量备份,并支持 PostgreSQL 的 PITR WAL 流式传输。两种模式:远程(直接连接)和基于代理(从数据库服务器流式传输)。
部署方法
针对不同环境提供四种安装选项。
Shell 脚本
自动 Docker 安装并启动:
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh | sudo bash
Docker Compose
文件 docker-compose.yml:
services:
databasus:
container_name: databasus
image: databasus/databasus:latest
ports:
- "4005:4005"
volumes:
- ./databasus-data:/databasus-data
restart: unless-stopped
运行:docker compose up -d。
Docker run
docker run -d \
--name databasus \
-p 4005:4005 \
-v ./databasus-data:/databasus-data \
--restart unless-stopped \
databasus/databasus:latest
Kubernetes Helm
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace
kubectl port-forward svc/databasus-service 4005:4005 -n databasus
所有情况下均可通过 http://localhost:4005 访问。
主要特性
- 数据库:PostgreSQL(带 WAL 的 PITR)、MySQL/MariaDB、MongoDB。
- 存储:本地、S3/R2、Google Drive、Azure Blob、NAS、SFTP、rclone。
- 通知:Slack、Discord、Telegram、Teams、电子邮件、webhook。
- 安全:备份和密钥加密、审计日志、按项目 RBAC。
- 模式:开放数据库使用远程模式,隔离数据库使用基于代理模式。
- 备份类型:逻辑、物理、增量。
界面支持深色和浅色主题,Web UI 运行在 4005 端口。
重命名历史
该项目源于 Postgresus 2.0,后者仅专注于 PostgreSQL。在 GitHub 上获得超过 1,000 个星标以及社区请求后,添加了对 MySQL、MariaDB 和 MongoDB 的支持。
重命名是由以下原因促使的:
- 功能扩展超出 PostgreSQL。
- 违反“Postgres”商标——自 2020 年起,未经合理使用禁止在名称中使用。
- 风险防范(例如,在不可预见的情况下可能丢失 Docker Hub 的拉取次数)。
PostgreSQL 现在对合理使用较为宽容,但作者选择中性的名称 Databasus 以实现更广泛的适用性。
关键点
- PostgreSQL 通过 WAL 流式传输支持 PITR。
- 基于代理模式,用于备份无外部访问的封闭数据库。
- 所有敏感数据和备份均加密。
- 多租户:项目、用户、审计。
- 在 Docker/K8s 中无依赖快速部署。
— Editorial Team
暂无评论。