Skip to content

Yuri-NagaSaki/docker_sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Sync

一个自动化的 Docker 镜像同步工具,支持将 Docker Hub 上的镜像同步到华为云 SWR 容器镜像服务,配合 Telegram Bot 实现便捷的镜像管理和同步操作。

特性

  • 🔄 自动同步 Docker Hub 镜像到华为云 SWR
  • 🤖 Telegram Bot 交互界面
  • 📝 智能化的镜像同步
  • 🔒 管理员权限控制
  • ⏱️ 智能判断镜像更新

安装

  1. 克隆仓库:
cd /root/docker_sync
  1. 安装依赖:
pip3 install -r requirements.txt
  1. 配置编辑配置文件:
cp env-example.env .env
vim .env
  1. 设置权限:
chmod +x docker_sync.sh
chmod 666 config.sh

配置 supervisor

  1. 安装 supervisor:
apt-get install supervisor
  1. 配置 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
  1. 启动服务:
supervisorctl reload
supervisorctl update

使用方法

Telegram Bot 使用

在 Telegram 中搜索并添加机器人:

  1. 直接发送镜像名称即可添加同步任务:
jxxghp/moviepilot
  1. 支持的命令:
  • /list - 显示当前同步列表
  • /sync - 立即执行同步任务
  • /add <镜像名> - 添加镜像同步
  • /remove <镜像名> - 删除镜像同步

查看运行状态

# 查看运行状态
supervisorctl status docker-sync-bot

# 查看运行日志
supervisorctl tail docker-sync-bot

# 重启服务
supervisorctl restart docker-sync-bot

配置说明

编辑 .env 文件:

Telegram Bot 配置

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

注意事项

  1. 确保有足够的磁盘空间用于镜像同步
  2. 请妥善保管华为云 SWR 的登录凭证
  3. 建议定期检查同步日志
  4. 使用 Telegram Bot 时请确保 Bot Token 安全
  5. 确保系统防火墙允许外网访问

许可证

本项目采用 MIT 许可证。查看 LICENSE 文件了解更多信息。

About

华为云镜像同步

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published