别再折腾软路由了!用OpenWrt 23.05 + Docker Compose,5分钟搞定青龙面板全家桶

张开发
2026/4/21 13:42:13 15 分钟阅读
别再折腾软路由了!用OpenWrt 23.05 + Docker Compose,5分钟搞定青龙面板全家桶
OpenWrtDocker Compose5分钟打造高可用青龙面板自动化平台家里闲置的OpenWrt设备还在当普通路由器用那可就太浪费了。今天我要分享的这套方案能让你的R2S、R4S或x86软路由变身全能家庭服务器特别是对喜欢折腾自动化脚本的朋友来说简直是打开了新世界的大门。想象一下每天自动签到领积分、定时抢购限量商品、自动完成各种平台任务——这些操作全部交给青龙面板来打理而你只需要喝着咖啡看结果。传统部署方式需要逐条输入命令既容易出错又难以维护。而我们将采用Docker Compose方案所有配置通过一个YAML文件搞定升级迁移只需几分钟。更妙的是OpenWrt的低功耗特性让这套系统可以7×24小时稳定运行电费几乎可以忽略不计。下面我就带大家一步步实现这个高效能的家庭自动化中心。1. 环境准备与基础配置在开始之前确保你的OpenWrt设备满足以下条件已刷入OpenWrt 23.05或更新版本存储空间≥4GB推荐8GB以上内存≥1GB运行多个容器建议2GB存储检查命令df -h | grep overlay free -m如果空间不足可以考虑挂载外部存储。我的R4S通过USB3.0连接了一个128GB的U盘速度完全够用mkdir -p /mnt/usb mount /dev/sda1 /mnt/usb提示建议将Docker数据目录设置在外部存储避免占用系统分区空间安装Docker引擎和Compose插件opkg update opkg install docker docker-compose luci-app-dockerman /etc/init.d/dockerd start /etc/init.d/dockerd enable验证安装是否成功docker --version docker-compose --version2. Docker Compose编排青龙生态传统方式需要记忆大量docker run参数而Compose方案将所有配置可视化。创建qinglong-docker-compose.yml文件version: 3.8 services: qinglong: image: whyour/qinglong:latest container_name: qinglong hostname: qinglong restart: always network_mode: host volumes: - /mnt/usb/ql/config:/ql/config - /mnt/usb/ql/log:/ql/log - /mnt/usb/ql/db:/ql/db - /mnt/usb/ql/scripts:/ql/scripts - /mnt/usb/ql/repo:/ql/repo - /mnt/usb/ql/raw:/ql/raw - /mnt/usb/ql/jbot:/ql/jbot environment: - ENABLE_HANGUPtrue - ENABLE_TG_BOTtrue - ENABLE_WEB_PANELtrue启动服务只需一条命令docker-compose -f qinglong-docker-compose.yml up -d访问http://你的OpenWrtIP:5700即可进入青龙面板。首次登录需要设置管理员账号建议开启双重验证提高安全性。3. 青龙面板高级配置技巧基础功能部署完成后我们需要优化几个关键设置环境变量配置QL_DIR: 脚本根目录QL_UPDATE_PROXY: 设置国内镜像加速QL_LANG: 切换中英文界面定时任务模板# 每小时执行一次 0 * * * * task example.js # 每天凌晨3点执行 0 3 * * * task daily.js常用脚本仓库推荐仓库名称地址特点京东系列https://github.com/xxx.git包含全自动签到、农场等阿里系列https://github.com/xxx.git淘宝天猫自动化通用工具https://github.com/xxx.git各类网站签到添加仓库命令示例docker exec -it qinglong ql repo https://github.com/xxx.git 脚本描述 匹配规则 依赖文件4. 运维管理与故障排查这套系统的优势在于易维护性。需要升级时docker-compose -f qinglong-docker-compose.yml pull docker-compose -f qinglong-docker-compose.yml up -d常见问题解决方案问题1脚本执行报错Module not founddocker exec -it qinglong bash -c cd scripts npm install png-js问题2面板无法访问docker logs qinglong netstat -tulnp | grep 5700问题3存储空间不足docker system prune docker volume prune性能监控命令docker stats docker exec -it qinglong top5. 扩展应用场景除了青龙面板OpenWrtDocker还能跑很多实用服务AdGuard Home- 全网广告过滤services: adguard: image: adguard/adguardhome ports: - 53:53/tcp - 53:53/udp - 3000:3000/tcp volumes: - /mnt/usb/adguard/work:/opt/adguardhome/work - /mnt/usb/adguard/conf:/opt/adguardhome/confHomeAssistant- 智能家居中枢services: homeassistant: image: homeassistant/home-assistant volumes: - /mnt/usb/ha/config:/config network_mode: hostJellyfin- 家庭媒体中心services: jellyfin: image: jellyfin/jellyfin devices: - /dev/dri:/dev/dri volumes: - /mnt/usb/jellyfin/config:/config - /mnt/media:/media把这些服务都编排在同一个Compose文件中就能用一条命令管理所有家庭服务。我的R4S目前稳定运行着7个容器平均负载不到0.5温度始终保持在50℃以下。这套方案最让我满意的是它的可移植性——上周搬家时我只需要备份Compose文件和数据卷到新家后10分钟就恢复了全部服务。如果你也在寻找一个低功耗、高可用的家庭自动化方案不妨试试这个OpenWrtDocker Compose的组合。

更多文章