本Docker容器专为Actual Budget(实际预算)应用设计,提供数据远程备份功能。基于Rclone实现与多种远程存储系统的集成,支持定时备份、自定义备份保留策略及灵活的文件命名规则,确保Actual Budget数据安全存储于远程位置。
重要提示:使用前请确保已阅读Actual Budget***文档并已部署运行Actual Budget实例。
适用于已部署Actual Budget实例的用户,需将财务数据定期备份至远程存储以防止本地数据丢失,尤其适合:
备份功能依赖Rclone配置,未配置将导致备份失败。
备份文件通过Rclone上传至远程存储系统,需先完成Rclone配置。不同存储系统的令牌获取方式不同,详见Rclone***文档。
通过以下命令生成Rclone配置(会启动交互式配置界面):
shelldocker run --rm -it \ --mount type=volume,source=actualbudget-rclone-data,target=/config/ \ rodriguestiago0/actualbudget-backup:latest \ rclone config
推荐配置:将远程存储名称设为
ActualBudgetBackup,若使用其他名称,需通过RCLONE_REMOTE_NAME环境变量指定。
配置完成后,通过以下命令检查配置是否生效:
shelldocker run --rm -it \ --mount type=volume,source=actualbudget-rclone-data,target=/config/ \ rodriguestiago0/actualbudget-backup:latest \ rclone config show
示例输出(OneDrive):
[ActualBudgetBackup] type = onedrive token = {"access_token":"xxx","token_type":"Bearer","refresh_token":"xxx","expiry":"2024-01-01T00:00:00Z"} drive_id = xxxxxxxx drive_type = personal
shell# 启动(后台运行) docker-compose up -d # 停止 docker-compose stop # 重启 docker-compose restart # 移除容器(保留数据卷) docker-compose down
默认配置下(每日0点执行备份)启动容器:
shelldocker run -d \ --restart=always \ --name actualbudget_backup \ --mount type=volume,source=actualbudget-rclone-data,target=/config/ \ -e ACTUAL_BUDGET_URL="[***]" \ -e ACTUAL_BUDGET_PASSWORD="your-actual-password" \ -e ACTUAL_BUDGET_SYNC_ID="your-sync-id" \ rodriguestiago0/actualbudget-backup:latest
| 变量名 | 说明 |
|---|---|
ACTUAL_BUDGET_URL | Actual Budget服务器URL,不带末尾斜杠(例:[***]) |
ACTUAL_BUDGET_PASSWORD | Actual Budget登录密码(特殊字符处理见下方说明) |
ACTUAL_BUDGET_SYNC_ID | Actual Budget同步ID,可在Web界面"设置 > 显示高级设置"中获取 |
密码特殊字符处理:若密码含单引号('),在docker-compose中需替换为两个单引号('')。例如密码为
Super'Pass,应写为ACTUAL_BUDGET_PASSWORD: 'Super''Pass'。
| 变量名 | 默认值 | 说明 |
|---|---|---|
RCLONE_REMOTE_NAME | ActualBudgetBackup | Rclone配置中的远程存储名称(需与rclone config中设置一致) |
RCLONE_REMOTE_DIR | /ActualBudgetBackup/ | 远程存储中备份文件的存放路径(以斜杠结尾) |
RCLONE_GLOBAL_FLAG | '' | Rclone全局参数(不可包含改变输出格式的参数,如-P) |
CRON | 0 0 * * * | 备份定时任务Cron表达式(默认每日0点执行,可通过crontab.guru验证) |
BACKUP_KEEP_DAYS | 0 | 备份保留天数(0表示保留所有备份,>0时自动删除超过该天数的旧备份) |
BACKUP_FILE_SUFFIX | %Y%m%d | 备份文件后缀格式(遵循date命令格式,例:%Y%m%d_%H%M%S表示添加时分秒) |
TIMEZONE | UTC | 容器时区(时区列表见***,例:Asia/Shanghai) |
| 变量名 | 默认值 | 说明 |
|---|---|---|
BACKUP_FILE_DATE | %Y%m%d | 备份文件日期前缀(已被BACKUP_FILE_SUFFIX替代,仅为兼容保留) |
BACKUP_FILE_DATE_SUFFIX | '' | 日期前缀后缀(已被BACKUP_FILE_SUFFIX替代,仅为兼容保留) |
若需通过文件管理环境变量,可将变量写入.env文件并挂载至容器/.env路径:
shelldocker run -d \ --mount type=volume,source=actualbudget-rclone-data,target=/config/ \ --mount type=bind,source=/path/to/your/.env,target=/.env \ rodriguestiago0/actualbudget-backup:latest
敏感信息(如密码)可通过Docker Secrets传递,只需在环境变量名后添加_FILE并指向密钥文件路径:
shelldocker run -d \ --mount type=volume,source=actualbudget-rclone-data,target=/config/ \ -e ACTUAL_BUDGET_PASSWORD_FILE=/run/secrets/actual-password \ --secret source=actual-password,target=/run/secrets/actual-password \ rodriguestiago0/actualbudget-backup:latest
环境变量加载顺序(从高到低):
-e参数)_FILE指向的文件内容(如PASSWORD_FILE=/run/secrets/pw).env文件中定义的_FILE变量.env文件中直接定义的环境变量本项目采用MIT许可证 - 详见LICENSE。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429