
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本项目为BookStack提供轻量级容器化备份解决方案,支持导出为PDF格式、上传至Nextcloud WebDAV文件夹(可选),并可通过Nextcloud Talk和邮件发送告警通知(可选)。
yamlversion: "3.9" services: bookstack-backup: image: docker.xuanyuan.run/bookstack-backup:latest container_name: bookstack-backup volumes: - /etc/timezone:/etc/timezone:ro # 挂载时区配置,确保时间同步 - /etc/localtime:/etc/localtime:ro # 挂载本地时间,确保时间同步 - ./logs:/logs # 日志存储目录 - ./backup:/backup # 备份文件存储目录 environment: CRON_SCHEDULE: "0 0 * * *" # cron调度表达式,默认每天凌晨执行 EXPORT_FORMAT: "pdf" # 导出格式,目前仅支持pdf RETENTION_DAYS: 30 # 备份保留天数,超过自动清理 BACKUP_DIR: "/backup" # 本地备份目录 LOG_DIR: "/logs" # 日志目录 # 配置BookStack服务器列表,每行一个服务器,格式:服务器名称|URL|token_id|token_secret BOOKSTACK_SERVERS: | server1|https://bookstack1.example.com|token_id_1|token_secret_1 server2|https://bookstack2.example.com|token_id_2|token_secret_2 NC_WEBDAV_UPLOAD: "off" # 是否启用Nextcloud WebDAV上传,on/off NC_WEBDAV_URL: "https://cloud.example.com/remote.php/dav/files/USERNAME/BookStackBackups" # WebDAV地址 NC_USER: "USERNAME" # Nextcloud用户名 NC_PASSWORD: "APP_PASSWORD" # Nextcloud应用密码 NC_TALK_NOTIFY: "off" # 是否启用Nextcloud Talk通知,on/off NC_TALK_URL: "https://cloud.example.com" # Nextcloud服务器地址 NC_TALK_BOT_CHANNEL: "channel_id" # Talk通知频道ID NC_TALK_BOT_SECRET: "secret" # Talk机器人密钥 EMAIL_NOTIFY: "off" # 是否启用邮件通知,on/off EMAIL_TO: "admin@example.com" # 收件人邮箱 EMAIL_FROM: "bookstack-backup@example.com" # 发件人邮箱 SMTP_SERVER: "smtp.example.com" # SMTP服务器 SMTP_PORT: 587 # SMTP端口 SMTP_USER: "smtp-user" # SMTP用户名 SMTP_PASS: "smtp-pass" # SMTP密码 SMTP_TLS: "on" # 是否启用TLS,on/off healthcheck: test: ["CMD", "/app/healthcheck.sh"] # 健康检查命令 interval: 5m # 检查间隔 timeout: 10s # 超时时间 retries: 3 # 重试次数 start_period: 30s # 启动等待时间
/api/books 和 /api/books/:id/export/pdf 端点的权限NC_WEBDAV_UPLOAD=onNC_WEBDAV_URL(格式示例:https://cloud.example.com/remote.php/dav/files/USERNAME/BookStackBackups)NC_TALK_NOTIFY=onNC_TALK_URL(Nextcloud服务器地址)、NC_TALK_BOT_CHANNEL(目标频道ID)和 NC_TALK_BOT_SECRET(机器人密钥)EMAIL_NOTIFY=onSMTP_SERVER、SMTP_PORT、SMTP_USER、SMTP_PASS 等,以及发件人(EMAIL_FROM)和收件人(EMAIL_TO)***如需启用Nextcloud Talk通知,需先创建机器人:
bash# 配置参数 BOT_NAME="BookStack" # 机器人显示名称 BOT_SECRET=$(openssl rand -hex 40) # 生成随机密钥 BOT_BASE_URL="https://cloud.example.com/ocs/v2.php/apps/spreed/api/v1/bot" # 机器人API基础URL # 处理名称(小写,移除空格) BOT_NAME_LOWER=$(echo "$BOT_NAME" | tr '[:upper:]' '[:lower:]' | tr -cd 'a-z0-9_-') BOT_URL="${BOT_BASE_URL}/${BOT_NAME_LOWER}" # 完整机器人URL # 注册机器人 php occ talk:bot:install \ --feature message \ "$BOT_NAME" \ "$BOT_SECRET" \ "$BOT_URL" \ && echo "✅ 机器人安装成功" echo "🔑 机器人密钥: $BOT_SECRET" echo "🌐 机器人URL: $BOT_URL"
将 NC_TALK_BOT_SECRET 环境变量设置为上述命令中生成的 $BOT_SECRET 值。
/logs/backup_YYYY-MM-DD.log(按日期命名)/backup/<server_name>/YYYY-MM-DD/*.pdf(按服务器名称和日期组织)MIT许可证 - 允许商业和私人免费使用。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务