打包 /opt 下的所有应用
只读cd /opt && tar -czf ~/apps-$(date +%F).tar.gz $(ls -d npm zoraxy komari uptime-kuma diun rustdesk 2>/dev/null)跑完应看到: 想让数据库备份完全一致,先停掉对应应用(见下方各应用)。
03 / AFTER INSTALLATION
每个应用都放在 /opt/<应用名>,加入 Docker 网络 proxy。下面是打开方式、绑定域名、备份、更新和卸载的命令。
以 Nginx Proxy Manager 为例,Zoraxy 的填法相同(新建 HTTP 代理规则,目标填容器名:端口)。反向代理和应用都在 proxy 网络里,所以直接写容器名,不写 IP。
| 应用 | Forward Hostname | Port | Websockets |
|---|---|---|---|
| Komari | komari | 25774 | 开启 |
| Uptime Kuma | uptime-kuma | 3001 | 开启 |
容器应用的数据都在 /opt/<应用名> 下,一条命令就能全部打包。
cd /opt && tar -czf ~/apps-$(date +%F).tar.gz $(ls -d npm zoraxy komari uptime-kuma diun rustdesk 2>/dev/null)跑完应看到: 想让数据库备份完全一致,先停掉对应应用(见下方各应用)。
scp root@YOUR_SERVER_IP:~/apps-*.tar.gz .跑完应看到: 在你自己的电脑上运行。和服务器放在同一块盘上的备份,重装后就没了。
怎么打开:没有界面。确认引擎在运行,看看镜像占了多少磁盘。
docker info --format "{{.ServerVersion}}"
docker system df跑完应看到: 打印出版本号说明引擎在运行。Alpine 上可用 rc-service docker status 查看服务。
apt-get update
apt-get install --only-upgrade -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin跑完应看到: 设置了 restart: unless-stopped 的容器会在引擎重启后自动恢复。
dnf upgrade -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginapk update
apk upgrade docker docker-cli-compose
rc-service docker restartdocker image prune -a跑完应看到: 删除前会确认。只删没有容器在用的镜像。
怎么打开:管理界面在 127.0.0.1:81。在你的电脑上运行 ssh -L 81:127.0.0.1:81 root@服务器IP,然后打开 http://127.0.0.1:81。
docker compose -f /opt/npm/compose.yaml ps
docker logs --tail 50 npm跑完应看到: 容器状态是 running / Up。日志里的报错通常直接说明了原因。
docker compose -f /opt/npm/compose.yaml stop
tar -czf ~/npm-$(date +%F).tar.gz -C /opt npm
docker compose -f /opt/npm/compose.yaml start跑完应看到: 先停再打包,SQLite 数据库才是一致的。备份文件记得下载到别的地方。
docker compose -f /opt/npm/compose.yaml pull
docker compose -f /opt/npm/compose.yaml up -d
docker image prune -f跑完应看到: 先看上游更新说明并备份。只有镜像变了的容器会重启。
docker compose -f /opt/npm/compose.yaml down跑完应看到: 数据仍在 /opt/npm。确定不要了再删除这个目录。
怎么打开:管理界面在 127.0.0.1:8000。运行 ssh -L 8000:127.0.0.1:8000 root@服务器IP,然后打开 http://127.0.0.1:8000。
docker compose -f /opt/zoraxy/compose.yaml ps
docker logs --tail 50 zoraxy跑完应看到: 容器状态是 running / Up。日志里的报错通常直接说明了原因。
docker compose -f /opt/zoraxy/compose.yaml stop
tar -czf ~/zoraxy-$(date +%F).tar.gz -C /opt zoraxy
docker compose -f /opt/zoraxy/compose.yaml start跑完应看到: 先停再打包,SQLite 数据库才是一致的。备份文件记得下载到别的地方。
docker compose -f /opt/zoraxy/compose.yaml pull
docker compose -f /opt/zoraxy/compose.yaml up -d
docker image prune -f跑完应看到: 先看上游更新说明并备份。只有镜像变了的容器会重启。
docker compose -f /opt/zoraxy/compose.yaml down跑完应看到: 数据仍在 /opt/zoraxy。确定不要了再删除这个目录。
怎么打开:初始账号在 docker logs komari 里。先按下方方法绑定域名,再在面板里添加服务器,复制它给出的 Agent 一行命令到每台机器上执行。 反向代理目标:komari:25774
docker compose -f /opt/komari/compose.yaml ps
docker logs --tail 50 komari跑完应看到: 容器状态是 running / Up。日志里的报错通常直接说明了原因。
docker compose -f /opt/komari/compose.yaml stop
tar -czf ~/komari-$(date +%F).tar.gz -C /opt komari
docker compose -f /opt/komari/compose.yaml start跑完应看到: 先停再打包,SQLite 数据库才是一致的。备份文件记得下载到别的地方。
docker compose -f /opt/komari/compose.yaml pull
docker compose -f /opt/komari/compose.yaml up -d
docker image prune -f跑完应看到: 先看上游更新说明并备份。只有镜像变了的容器会重启。
docker compose -f /opt/komari/compose.yaml down跑完应看到: 数据仍在 /opt/komari。确定不要了再删除这个目录。
怎么打开:先用 ssh -L 3001:127.0.0.1:3001 root@服务器IP 打开 http://127.0.0.1:3001 创建管理员。第一个访问者会成为管理员。 反向代理目标:uptime-kuma:3001
docker compose -f /opt/uptime-kuma/compose.yaml ps
docker logs --tail 50 uptime-kuma跑完应看到: 容器状态是 running / Up。日志里的报错通常直接说明了原因。
docker compose -f /opt/uptime-kuma/compose.yaml stop
tar -czf ~/uptime-kuma-$(date +%F).tar.gz -C /opt uptime-kuma
docker compose -f /opt/uptime-kuma/compose.yaml start跑完应看到: 先停再打包,SQLite 数据库才是一致的。备份文件记得下载到别的地方。
docker compose -f /opt/uptime-kuma/compose.yaml pull
docker compose -f /opt/uptime-kuma/compose.yaml up -d
docker image prune -f跑完应看到: 先看上游更新说明并备份。只有镜像变了的容器会重启。
docker compose -f /opt/uptime-kuma/compose.yaml down跑完应看到: 数据仍在 /opt/uptime-kuma。确定不要了再删除这个目录。
怎么打开:没有网页界面。Diun 每 6 小时检查一次镜像,有新版本就通知你。收到通知后,用本页对应应用的“更新到最新镜像”步骤去更新。
docker exec diun diun notif test跑完应看到: Telegram 或 ntfy 上会收到一条消息。收不到就检查 Token 或主题,重新生成方案再运行。
docker exec diun diun image listdocker compose -f /opt/diun/compose.yaml ps
docker logs --tail 50 diun跑完应看到: 容器状态是 running / Up。日志里的报错通常直接说明了原因。
docker compose -f /opt/diun/compose.yaml stop
tar -czf ~/diun-$(date +%F).tar.gz -C /opt diun
docker compose -f /opt/diun/compose.yaml start跑完应看到: 先停再打包,SQLite 数据库才是一致的。备份文件记得下载到别的地方。
docker compose -f /opt/diun/compose.yaml pull
docker compose -f /opt/diun/compose.yaml up -d
docker image prune -f跑完应看到: 先看上游更新说明并备份。只有镜像变了的容器会重启。
docker compose -f /opt/diun/compose.yaml down跑完应看到: 数据仍在 /opt/diun。确定不要了再删除这个目录。
怎么打开:在每个 RustDesk 客户端:设置 → 网络 → ID 服务器填服务器 IP 或域名,Key 填下面打印的公钥。
cat /opt/rustdesk/data/id_ed25519.pubdocker compose -f /opt/rustdesk/compose.yaml ps
docker logs --tail 50 hbbs跑完应看到: 容器状态是 running / Up。日志里的报错通常直接说明了原因。
docker compose -f /opt/rustdesk/compose.yaml stop
tar -czf ~/rustdesk-$(date +%F).tar.gz -C /opt rustdesk
docker compose -f /opt/rustdesk/compose.yaml start跑完应看到: 先停再打包,SQLite 数据库才是一致的。备份文件记得下载到别的地方。
docker compose -f /opt/rustdesk/compose.yaml pull
docker compose -f /opt/rustdesk/compose.yaml up -d
docker image prune -f跑完应看到: 先看上游更新说明并备份。只有镜像变了的容器会重启。
docker compose -f /opt/rustdesk/compose.yaml down跑完应看到: 数据仍在 /opt/rustdesk。确定不要了再删除这个目录。
怎么打开:输入 zsh 进入,或设为登录 shell。
chsh -s "$(command -v zsh)"跑完应看到: 下次登录生效。
zsh -ic uninstall_oh_my_zsh跑完应看到: 有备份时会恢复原来的 ~/.zshrc。
怎么打开:运行 1pctl user-info 查看地址、安全入口和账号。云安全组需要放行面板端口。
1pctl user-info
1pctl status1pctl uninstall跑完应看到: 交互式。看清每个提示,面板里装的应用会受影响。