LibWRT 路由器 1Panel 部署前置准备指南适用场景新装路由器 / 重装系统后 / 1Panel 升级空间不足后重建设备京东云亚瑟 AX1800 ProMT7981LibWRT文档版本2026-09-25核心理念先把存东西的地方指向数据盘再装应用。1Panel 安装应用时会写 /optDocker 装完会有>前置工作按顺序执行共 18 步Step 1确认数据盘已挂载df-h/mnt/data_mmcblk0p27# 确认有 100GB 可用Step 2/opt bind mount 到数据盘关键必须在装 1Panel 前做# 创建目标目录mkdir-p/mnt/data_mmcblk0p27/opt# 复制现有数据已有数据的话cp-a/opt/* /mnt/data_mmcblk0p27/opt/# 立即 bind mountmount--bind/mnt/data_mmcblk0p27/opt /opt# 写入 fstab 使其持久化UUID 换成你数据盘的实际 UUIDuciaddfstabmountucisetfstab.mount[-1].enabled1ucisetfstab.mount[-1].uuid03111150-XXXX-XXXX-XXXX-XXXXXXXXXXXXucisetfstab.mount[-1].target/optucisetfstab.mount[-1].optionbinducisetfstab.mount[-1].fstypenoneuci commit fstab验证df -h /opt应显示 /dev/mmcblk0p27数据盘。Step 3/overlay/upper bind mount 到数据盘防止 overlay 空间爆# 创建目标目录mkdir-p/mnt/data_mmcblk0p27/overlay_upper# 复制现有数据已有数据的话cp-a/overlay/upper/* /mnt/data_mmcblk0p27/overlay_upper/# 立即 bind mountmount--bind/mnt/data_mmcblk0p27/overlay_upper /overlay/upper# 写入 fstab 使其持久化UUID 换成你数据盘的实际 UUIDuciaddfstabmountucisetfstab.mount[-1].enabled1ucisetfstab.mount[-1].uuid03111150-XXXX-XXXX-XXXX-XXXXXXXXXXXXucisetfstab.mount[-1].target/overlay/upperucisetfstab.mount[-1].optionbinducisetfstab.mount[-1].fstypenoneuci commit fstab验证df -h /overlay/upper应显示 /dev/mmcblk0p27数据盘。Step 4确认 Swap 开启可选但建议swapon/dev/mmcblk0p26 uciaddfstab swap ucisetfstab.swap[-1].enabled1ucisetfstab.swap[-1].device/dev/mmcblk0p26uci commit fstabStep 5装 1Panel# 运行 1Panel 安装脚本从官网复制# 安装时选择数据盘目录Step 6重启验证 bind mountreboot重启后 SSH 登录执行df-h/opt /overlay/upper# 两个都应显示数据盘 /dev/mmcblk0p27Step 7装 Docker1Panel UI在 1Panel web 界面里点安装 Docker。Step 8Docker>cat/etc/docker/daemon.jsonEOF { data-root: /mnt/data_mmcblk0p27/docker, registry-mirrors: [ https://docker.m.daocloud.io, https://docker.1panel.live, https://hub.1panel.dev, https://docker.1ms.run ] } EOF# 重启 Docker/etc/init.d/dockerd restartStep 9重启验证reboot重启后dockerps# 确认 Docker 正常Step 10装 node / npm / Pythonopkg宿主机用opkg update opkginstallnodenpmpython3Step 11装 MySQL1Panel通过 1Panel web 界面安装 MySQL 8.x。注意装完后需要删除 compose.yml 中的 /etc/localtime 挂载与宿主机 symlink 冲突sed-i/etc\/localtime/d/opt/1panel/apps/mysql/mysql/docker-compose.ymldockercompose up-dStep 12手动建库 ghost_k4djjjdockerexec1Panel-mysql-Xsby mysql-uroot -p[MYSQL_PASSWORD]-e\CREATE DATABASE ghost_k4djjj CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;Step 13装 Ghost1Panel通过 1Panel web 界面安装 Ghost 6.65.0选择 MySQL 数据库。注意GHOST_URL 设为http://192.168.1.1:2368不要用 https会导致 SSL 错误。Step 14Ghost 初始化访问http://192.168.1.1:2368/ghost/#/setup完成管理员账号创建。管理后台地址http://192.168.1.1:2368/ghost/#/postsStep 15配 tunnel 映射cloudflare / cpolar在 1Panel 里配置 cloudflare tunnel或单独安装配置 cpolar将 Ghost 2368 端口映射到外网。Step 16花生壳内网穿透单独安装花生壳软件配置映射 2368 端口到外网。Step 17部署 cpolar 同步脚本如需# 上传脚本到 /tmp/sync_cpolar_links.js# 写入 croncrontab-e# 添加30 * * * * /usr/bin/node /tmp/sync_cpolar_links.js /tmp/sync_cpolar_links.log 21Step 18装 cpolar如需# 下载 cpolarcurl-Lhttps://github.com/cpolar/cpolar/releases/download/v3.x.x/cpolar-linux-arm64-o/usr/bin/cpolarchmodx /usr/bin/cpolar# 配置 authtokencpolar authtoken[YOUR_TOKEN]# 后台运行cpolar http8080完整部署架构装完后的状态/dev/mmcblk0p27数据盘111GB ├── /docker # Docker>已知坑点速查#问题解决11Panel 升级报空间不足做 Step 2 /opt bind mount2Ghost 迁移锁崩溃TRUNCATE migrations_lock 重建数据库3Ghost ERR_SSL_PROTOCOL_ERRORGHOST_URL 改为 http://192.168.1.1:23684MySQL localtime 挂载冲突删除 compose.yml 中的 /etc/localtime 行5Docker 与 nftables 警告不影响功能忽略6Ghost 管理界面无中文admin 始终英文只有前台可切中文7iCan 已关闭2026-09-21只用 SAP 数据源凭证汇总装完后修改服务地址账号密码1Panel:10086admin[重装后自己设]MySQL:3306root[重装后自己设]Ghost:2368[Web设置][Web设置]cpolar:920031494327qq.com[cpolar账户密码]相关文件路径本文档~/router_setup_notes.mdcpolar 同步脚本/tmp/sync_cpolar_links.js部署后才有attendance-portal-v2~/ClaudeCode/attendance-portal-v2/v2 plist~/Library/LaunchAgents/ai.openclaw.attendance-portal-v2.plist