一个自动化的 Docker 镜像同步工具,支持将 Docker Hub 上的镜像同步到华为云 SWR 容器镜像服务,配合 Telegram Bot 实现便捷的镜像管理和同步操作。
- 🔄 自动同步 Docker Hub 镜像到华为云 SWR
- 🤖 Telegram Bot 交互界面
- 📝 智能化的镜像同步
- 🔒 管理员权限控制
- ⏱️ 智能判断镜像更新
- 克隆仓库:
cd /root/docker_sync- 安装依赖:
pip3 install -r requirements.txt- 配置编辑配置文件:
cp env-example.env .env
vim .env- 设置权限:
chmod +x docker_sync.sh
chmod 666 config.sh- 安装 supervisor:
apt-get install supervisor- 配置 supervisor:
cat > /etc/supervisor/conf.d/docker-sync-bot.conf << 'EOL'
[program:docker-sync-bot]
directory=/root/docker_sync
command=python3 bot.py
user=root
autostart=true
autorestart=true
stderr_logfile=/var/log/docker-sync-bot.err.log
stdout_logfile=/var/log/docker-sync-bot-out.log
environment=PYTHONUNBUFFERED=1
EOL- 启动服务:
supervisorctl reload
supervisorctl update在 Telegram 中搜索并添加机器人:
- 直接发送镜像名称即可添加同步任务:
jxxghp/moviepilot
- 支持的命令:
/list- 显示当前同步列表/sync- 立即执行同步任务/add <镜像名>- 添加镜像同步/remove <镜像名>- 删除镜像同步
# 查看运行状态
supervisorctl status docker-sync-bot
# 查看运行日志
supervisorctl tail docker-sync-bot
# 重启服务
supervisorctl restart docker-sync-bot编辑 .env 文件:
TG_BOT_TOKEN=your_bot_token # Bot Token
ADMIN_USER_IDS=your_user_id # 管理员ID,多个用逗号分隔
CONFIG_FILE=/root/docker-sync/config.sh
SYNC_SCRIPT=/root/docker-sync/docker_sync.sh
LOG_LEVEL=INFO
- 确保有足够的磁盘空间用于镜像同步
- 请妥善保管华为云 SWR 的登录凭证
- 建议定期检查同步日志
- 使用 Telegram Bot 时请确保 Bot Token 安全
- 确保系统防火墙允许外网访问
本项目采用 MIT 许可证。查看 LICENSE 文件了解更多信息。