简介

Zerobyte​ 是由独立开发者nicotsx打造的开源备份自动化工具,基于成熟的Restic引擎构建,专为自托管用户设计。它通过现代化的Web界面将复杂的备份任务转化为可视化操作,让用户无需编写繁琐的命令行脚本即可实现加密、压缩、去重和灵活调度的自动化备份。

核心价值定位​:

  • 降低使用门槛​:将Restic的专业级备份能力封装成直观的Web界面,使非技术用户也能轻松管理备份任务

  • 统一管理平台​:解决传统备份方案中"脚本分散、策略不统一、监控缺失"的痛点

  • 安全可靠​:基于Restic的端到端加密和校验机制,确保数据在传输和存储过程中的安全性

  • 灵活扩展​:支持多种存储后端和协议,适应不同规模的部署场景

项目状态​:

  • 开发阶段​:0.x早期版本,功能迭代迅速

  • 活跃度​:主分支持续更新,月更30+次

  • 社区规模​:GitHub Stars 3.5k+,Forks 70+

  • 开源协议​:AGPL-3.0,允许商业使用但需保留版权声明

主要功能

1. 核心备份能力

自动化备份引擎​:

基于Restic的强大能力,Zerobyte原生支持客户端加密、增量备份和块级去重。TB级数据也能实现分钟级增量备份,大幅节省存储空间和带宽消耗。所有备份数据在传输和存储过程中均采用端到端加密,即使云服务商也无法窥探内容。

灵活调度策略​:

支持Cron风格的定时任务配置,可对自动化备份作业进行细粒度的保留策略设置。典型配置包括保留最近N次备份、按日/周/月轮转快照(GFS策略)、定期清理过期快照等,有效避免存储空间无限膨胀。

可视化策略编排​:

通过Web界面拖拽式配置备份计划、保留周期和恢复策略。每日/周/月快照自动轮转,误删文件可一键回滚。实时监控备份状态、失败告警、快照浏览一目了然,极大降低运维复杂度。

2. 多协议支持

数据源挂载​:

原生支持从NFS、SMB、WebDAV等网络文件系统直接挂载数据源,也兼容本地目录。借助FUSE和SYS_ADMIN权限,可在容器内动态挂载远程共享,无需宿主机预挂载,真正实现"一处配置,全域备份"。

存储后端扩展​:

通过集成rclone,支持40+云存储提供商作为备份目标,包括Google Drive、OneDrive、Dropbox、pCloud、Mega、阿里云OSS、腾讯云COS等。支持OAuth认证,无需手动管理Token。

多目标备份​:

支持同一数据同时备份到多个存储后端(如NAS + 云存储),Restic天然支持多repo配置,提供双重容灾保障。

3. 架构特性

无数据库架构​:

状态直接写入本地文件,零外部依赖,备份元数据自带校验。即使重装系统也能秒级恢复,比同类工具轻量50%以上。

控制平面设计​:

Zerobyte作为控制平面(Control Plane),只负责任务调度和状态监控,不保存明文数据,不做数据中转。Restic在数据源执行加密,即使Zerobyte被攻破也无法获取备份数据,符合Zero Trust安全原则。

Docker容器化​:

以Docker容器形式运行,一条Docker命令即可完成部署,默认4096端口开箱即用。支持家用NAS、VPS、树莓派等全场景部署。

安装与配置

环境要求

系统要求​:

  • 操作系统:支持Linux、macOS、Windows(WSL2)

  • Docker:Docker Engine 20.10+,Docker Compose 2.0+

  • 网络:稳定互联网连接(用于访问云存储)

  • 存储:建议预留原始数据1.3-1.5倍的可用空间

硬件建议​:

  • CPU:2核以上,推荐4核

  • 内存:4GB起步,处理大文件时建议8GB+

  • 磁盘:SSD存储,IOPS越高越好

  • 网络:千兆以太网或更高带宽

安装步骤

快速部署​:

# 克隆项目(可选)
git clone https://github.com/nicotsx/zerobyte.git
cd zerobyte

# 使用Docker Compose启动
docker compose up -d

访问控制台​:

启动成功后,通过浏览器访问 http://<服务器IP>:4096即可打开Web管理界面。

配置说明

存储卷挂载​:

在docker-compose.yml文件中配置需要备份的本地目录挂载:

volumes:
  - /path/to/your/data:/mnt/data

远程存储配置​:

在Web界面的"Repositories"部分创建存储库,选择存储后端类型(本地、S3、GCS、Azure、rclone等),填写相应的连接参数和凭据。

备份任务配置​:

在"Backup Jobs"中创建任务,绑定数据卷和存储库,设置备份计划(Cron表达式)、保留策略、压缩模式等参数。

安全配置

网络分区建议​:

  • 用户区:仅访问Zerobyte Web界面

  • Zerobyte:仅访问业务节点API/SSH

  • 业务节点:访问存储后端

  • 存储后端:不反向访问任何节点

密钥管理原则​:

  • Restic Repository密钥:仅存在于业务节点,Zerobyte不保存

  • 存储访问凭证:最小权限原则,支持定期轮换

  • Zerobyte:仅存储任务元数据,不接触数据

如何使用

基本使用流程

第一步:添加数据卷(Volume)​

在Web界面的"Volumes"部分创建卷。如果是本地目录,需先在docker-compose.yml中配置挂载映射;如果是远程存储(NFS/SMB/WebDAV),选择对应协议类型并填写连接参数。

第二步:创建存储库(Repository)​

在"Repositories"中新建存储库,选择存储后端类型(本地路径、S3、GCS、Azure、rclone远程等),填写必要的配置信息。

第三步:创建备份作业(Backup Job)​

在"Backup Jobs"中创建新任务,绑定数据卷和存储库,设置备份计划(如每日凌晨2点)、保留策略(如保留最近7天)、压缩模式等参数。

第四步:监控备份状态

在"Backups"页面查看历史备份记录、执行状态、耗时和文件统计信息。支持手动触发备份、查看详细日志和失败告警。

数据恢复

快速恢复​:

在"Backups"列表中找到目标快照,点击"Restore",选择要恢复的文件或目录,数据将自动还原到原始位置。支持部分文件恢复和跨目录恢复。

灾难恢复​:

当源服务器故障时,可在新服务器上部署Zerobyte,配置相同的存储库凭据,即可从备份中恢复数据。支持完整恢复和选择性恢复。

高级功能

多环境部署​:

支持开发、测试、生产环境的差异化配置。开发环境使用development构建目标,支持热重载和实时调试;生产环境使用production构建目标,优化性能和稳定性。

性能优化配置​:

  • 压缩模式选择:大文件推荐"max"压缩,频繁小文件建议"auto"或"off"

  • 并发控制:默认1-2个并发,IO敏感场景可调整

  • 缓存策略:支持JDK缓存、Redis缓存和RocksDB缓存

监控告警​:

支持将执行结果推送到现有监控系统(Prometheus/Pushgateway/ntfy),或通过邮件、IM(企业微信/飞书)发送失败通知。

应用场景实例

实例1:企业级数据备份体系

场景描述​:

某金融科技公司需要构建符合监管要求的备份体系,要求数据必须加密、保留策略可审计、支持异地容灾、定期恢复演练。

解决方案​:

采用Zerobyte + 双层存储架构。第一层使用内网NAS作为快速恢复层,保留最近30天数据;第二层使用云对象存储(阿里云OSS)作为容灾层,长期保留数据。配置每日增量备份、每周全量备份,保留策略按GFS方案设置。通过Zerobyte的Web界面统一管理所有备份任务,定期执行恢复演练并记录审计日志。

实施效果​:

  • 备份成功率从85%提升至99.9%

  • 恢复时间从小时级缩短到分钟级

  • 存储成本降低60%(增量+去重)

  • 满足监管合规要求

实例2:个人家庭NAS备份

场景描述​:

家庭用户拥有NAS存储,需要将多台设备(PC、笔记本、手机照片)的数据自动备份到NAS,要求加密、增量、可视化监控。

解决方案​:

在NAS上部署Zerobyte Docker容器,配置各设备的共享目录作为数据源,NAS本地存储作为备份目标。设置每日凌晨自动备份,保留最近7天快照。通过Zerobyte的Web界面实时查看备份状态,误删文件时可一键恢复。

实施效果​:

  • 数据安全:所有备份自动加密,即使NAS被盗也无法读取

  • 存储节省:增量备份+去重,TB级数据仅占用几百GB

  • 使用便捷:Web界面操作,无需记忆复杂命令

  • 成本低廉:仅需NAS硬件成本,软件完全免费

实例3:开发团队代码备份

场景描述​:

初创公司开发团队使用多台服务器,需要将代码库、数据库、配置文件等关键数据自动备份到云存储,防止误删或服务器故障。

解决方案​:

在每台服务器上部署Zerobyte Agent,配置Git仓库、MySQL数据库、配置文件目录作为数据源,备份到阿里云OSS。设置每小时增量备份、每日全量备份,保留策略为最近24小时+最近7天+最近4周。通过Zerobyte的Web界面统一监控所有服务器的备份状态,失败时自动发送告警到Slack。

实施效果​:

  • 数据保护:代码库、数据库、配置三重备份

  • 快速恢复:误删代码或配置错误时,5分钟内恢复

  • 团队协作:统一管理界面,所有成员可见备份状态

  • 成本控制:云存储按量付费,实际使用成本极低

实例4:多媒体工作室素材备份

场景描述​:

视频制作工作室产生大量高清素材文件(4K视频、RAW照片),需要定期备份到多个存储位置,要求快速恢复、版本管理、成本可控。

解决方案​:

使用Zerobyte + 本地SSD + 云存储方案。第一层使用本地SSD作为工作区,实时同步最新素材;第二层使用NAS作为近线存储,保留最近3个月素材;第三层使用云对象存储作为归档层,长期保留所有素材。配置智能压缩策略:大视频文件使用"max"压缩,小文件使用"auto"压缩。通过Zerobyte的Web界面按项目、按时间筛选备份快照,快速找到所需版本。

实施效果​:

  • 性能优化:大文件备份速度达8GB/s

  • 存储效率:去重+压缩,节省70%存储空间

  • 版本管理:按时间线查看所有历史版本

  • 成本优势:冷数据自动归档到低成本云存储

实例5:跨地域企业数据同步

场景描述​:

跨国企业在多个国家设有分支机构,需要将本地数据自动同步到总部数据中心,要求加密传输、增量同步、网络带宽优化。

解决方案​:

在各分支机构部署Zerobyte,配置本地数据目录作为源,总部云存储作为目标。利用Zerobyte的增量备份和去重能力,仅传输变化的数据块。配置网络带宽限制和传输时间窗口,避免影响业务网络。通过Zerobyte的统一界面监控各分支机构的同步状态,异常时自动告警。

实施效果​:

  • 数据安全:端到端加密,跨国传输无风险

  • 带宽优化:增量同步,日均传输量减少90%

  • 统一管理:总部统一监控所有分支备份状态

  • 合规性:满足数据跨境传输的合规要求

GitHub地址

项目地址​:https://github.com/nicotsx/zerobyte

项目信息​:

  • ⭐ Stars:3.5k+

  • 🍴 Forks:70+

  • 📄 许可证:AGPL-3.0

  • 💻 主要语言:TypeScript

  • 📅 最近更新:持续活跃,月更30+次

相关资源​:

  • 官方文档:项目README提供详细使用说明

  • 示例配置:提供docker-compose.yml示例文件

  • 社区讨论:GitHub Issues和Discussions

  • 贡献指南:欢迎提交PR和改进建议

快速开始​:

# 一键部署
git clone https://github.com/nicotsx/zerobyte.git
cd zerobyte
docker compose up -d
# 访问 http://localhost:4096

注意事项​:

  • 项目处于0.x早期阶段,生产环境建议保留保底备份方案

  • 定期执行恢复演练,验证备份可恢复性

  • 配置监控告警,避免"悄悄失败"

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐