
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
基于Alpine的轻量级容器,用于定时备份目录和数据库,支持保留策略、清理旧备份,并通过Nextcloud Talk Bot和邮件发送通知。
tar.gz格式).sql.gz格式)| 变量名 | 描述 | 是否必填 |
|---|---|---|
FILES_TO_BACKUP | 需备份文件夹的空格分隔列表 | ✅ |
BACKUP_DIR | 所有备份的根目录 | ✅ |
LOG_DIR | 日志文件位置 | ✅ |
RETENTION_DAYS | 旧备份保留天数 | ✅ |
CRON_SCHEDULE | Cron格式调度时间(如 0 * * * *) | ✅ |
STACK_NAME | 逻辑堆栈名称(用于标识) | ❌ |
BACKUP_NAME | 友好的容器/服务名称 | ❌ |
设置 DB_TYPE=postgres、mariadb、mysql 或 none(不备份数据库)
PostgreSQL:
| 变量名 | 描述 |
|---|---|
POSTGRES_HOST | 数据库主机 |
POSTGRES_PORT | 数据库端口(默认5432) |
POSTGRES_USER | 用户名 |
POSTGRES_PASSWORD | 密码 |
POSTGRES_DATABASE | 数据库名称 |
POSTGRES_EXTRA_OPTS | 额外选项 |
MariaDB:
| 变量名 | 描述 |
|---|---|
MARIADB_HOST | 数据库主机 |
MARIADB_PORT | 数据库端口(默认3306) |
MARIADB_USER | 用户名 |
MARIADBYSQL_PASSWORD | 密码 |
MARIADB_DATABASE | 数据库名称 |
MARIADB_EXTRA_OPTS | 额外选项 |
MySQL:
| 变量名 | 描述 |
|---|---|
MYSQL_HOST | 数据库主机 |
MYSQL_PORT | 数据库端口(默认3306) |
MYSQL_USER | 用户名 |
MYSQL_PASSWORD | 密码 |
MYSQL_DATABASE | 数据库名称 |
MYSQL_EXTRA_OPTS | 额外选项 |
| 变量名 | 描述 |
|---|---|
NC_TALK_NOTIFY=on | 启用Talk Bot通知 |
NC_TALK_URL | Nextcloud基础URL |
NC_TALK_BOT_CHANNEL | Bot ID或房间令牌(来自Talk或occ命令) |
NC_TALK_BOT_SECRET | 共享密钥(来自php occ talk:bot:install) |
| 变量名 | 描述 |
|---|---|
EMAIL_NOTIFY=on | 启用邮件通知 |
EMAIL_TO | 收件人*** |
EMAIL_FROM | 发件人*** |
SMTP_SERVER | SMTP服务器主机名/IP |
SMTP_PORT | 端口(默认:587) |
SMTP_USER | SMTP用户名(如需认证) |
SMTP_PASS | SMTP密码 |
SMTP_TLS=on | 启用STARTTLS(默认:启用) |
📦 使用内置的
msmtp发送邮件
docker-compose.ymlyamlversion: '3' services: backup: build: . environment: FILES_TO_BACKUP: "/data" BACKUP_DIR: "/backup" LOG_DIR: "/log" RETENTION_DAYS: 30 CRON_SCHEDULE: "0 * * * *" BACKUP_NAME: "web-backup-db" DB_TYPE: "postgres" POSTGRES_HOST: "postgres" POSTGRES_USER: "backupuser" POSTGRES_PASSWORD: "secret" POSTGRES_DATABASE: "myapp" NC_TALK_NOTIFY: "off" NC_TALK_URL: "https://cloud.example.com" NC_TALK_BOT_CHANNEL: "abc123" NC_TALK_BOT_SECRET: "your_shared_hmac_secret" EMAIL_NOTIFY: "off" EMAIL_TO: "alerts@example.com" EMAIL_FROM: "backup@host.local" SMTP_SERVER: "smtp.example.com" SMTP_PORT: 587 SMTP_USER: "smtp-user" SMTP_PASS: "smtp-pass" SMTP_TLS: "on" volumes: - ./data:/data - ./backup:/backup - ./log:/log
text/backup/ 2025-04/ files_data_2025-04-30_1400.tar.gz postgres_myapp_2025-04-30_1400.sql.gz /log/ backup_2025-04-30.log
自动删除超过 RETENTION_DAYS 天的备份,日志中会记录已删除的文件。
在Compose文件中添加以下配置以跟踪备份成功状态:
yamlhealthcheck: test: ["CMD", "/scripts/healthcheck.sh"] interval: 5m timeout: 10s retries: 3 start_period: 30s
备份脚本仅在成功时生成健康检查所需文件
MIT许可证 - 商业和私人使用均免费。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务