群晖相关
群晖 Docker 部署 MobaXterm Keygen:自动拉取更新,一次部署长期省心
群晖 Docker 部署 MobaXterm Keygen:自动拉取更新,一次部署长期省心
> 在线生成网站:👉 https://mobaxterm.freet.cc/(简体中文界面,打开即用)
MobaXterm 是 Windows 上非常好用的终端工具。本文把开源的 MobaXterm Keygen 项目(zarfadev/MobaXterm-Keygen)用 Docker 部署到群晖,做成一个随时可用的本地网页生成器,并且项目每次更新都会自动拉取最新版本,部署一次、长期省心。
一、方案原理
- web 容器(nginx):托管生成器网页,端口默认 8088;
- updater 容器(alpine/git):启动时把项目代码拉进
site-data卷,之后每隔一段时间自动fetch + reset一次,项目一更新就立即生效; - 生成器是纯静态站,无需重新构建,拉完即用。
二、准备两个文件
在群晖 File Station 创建目录
/volume1/docker/mobaxterm-keygen,放入下面两个文件。compose.yaml
services:
web:
image: nginx:alpine
container_name: mobaxterm-keygen-web
restart: unless-stopped
ports:
- "${PORT:-8088}:80"
volumes:
- site-data:/usr/share/nginx/html:ro
updater:
image: alpine/git:latest
container_name: mobaxterm-keygen-updater
restart: unless-stopped
entrypoint: /bin/sh
command: /updater.sh
environment:
TZ: Asia/Shanghai
REPO_URL: https://github.com/zarfadev/MobaXterm-Keygen.git
BRANCH: main
INTERVAL: "3600"
volumes:
- site-data:/site
- ./updater.sh:/updater.sh:ro
volumes:
site-data:
updater.sh
#!/bin/sh
REPO_URL="${REPO_URL:-https://github.com/zarfadev/MobaXterm-Keygen.git}"
BRANCH="${BRANCH:-main}"
INTERVAL="${INTERVAL:-3600}"
git config --global --add safe.directory /site 2>/dev/null || true
git config --global --add safe.directory '*' 2>/dev/null || true
echo "[updater] starting (interval=${INTERVAL}s)"
while true; do
if [ ! -d /site/.git ]; then
echo "[updater] initializing git repo in /site ..."
git init -q /site
fi
if ! git -C /site remote get-url origin >/dev/null 2>&1; then
echo "[updater] adding origin $REPO_URL"
git -C /site remote add origin "$REPO_URL"
fi
echo "[updater] fetching $BRANCH ..."
if git -C /site fetch --depth 1 origin "$BRANCH" && git -C /site reset --hard "origin/$BRANCH"; then
echo "[updater] synced at $(date)"
else
echo "[updater] sync failed, will retry in ${INTERVAL}s"
fi
sleep "$INTERVAL"
done
> 提示:
updater.sh 必须是 LF 换行(用 File Station 上传时保持原样即可,不要在 Windows 记事本里编辑保存)。三、部署(Container Manager)
mobaxterm-keygen,路径选 /volume1/docker/mobaxterm-keygen;compose.yaml,直接下一步 → 应用;site-data 卷,稍等几秒;http://群晖IP:8088(本文示例 http://192.168.1.100:8088),看到生成器界面即部署成功。四、自动更新说明
environment 里改 INTERVAL(如 300 = 5 分钟);PORT(或直接改 8088 那行);docker logs -f mobaxterm-keygen-updater,每行 synced 代表一次拉取成功。五、日常维护
cd /volume1/docker/mobaxterm-keygen
docker compose up -d # 启动 / 修改配置后重建
docker compose logs -f updater # 查看自动更新日志
docker compose down # 停止(数据保留)
restart: unless-stopped,群晖重启后自动恢复;docker compose down -v:-v 会删除 site-data 卷,下次启动会重新拉取(虽然不丢数据,但没必要);REPO_URL 换成可用的镜像源或代理。六、离线单文件版(可选)
如果需要在完全无外网的环境使用,也可以用项目生成的单文件版本(
MobaXterm-Keygen-local.html),双击即可打开。注意它是快照,不会自动更新;常驻使用建议以本文的 Docker 方案为准。七、文件下载
> 中文版说明:本部署包已内置简体中文界面(zh/ 覆盖层),部署后打开即为中文;updater 每次拉取上游更新后会自动应用中文版。
结语
这套方案全程使用群晖自带能力(Container Manager),无需额外安装面板。部署完成后,生成器网页本地可用,项目更新自动拉取,适合长期自用。
评论(0)