跳到主要内容

Linux 进阶配置

本页介绍交互式安装、Cloudflare Tunnel、修改目录和端口、服务管理器、NexusDock 和二进制安装。

Alpine 与极简系统

统一入口 install.sh 需要 POSIX Shell、Bash、CA 证书,以及 curl 或 wget。缺少时先安装:

apk add --no-cache bash curl ca-certificates

然后继续运行下方相同的 install.sh 命令,不再提供单独的 bootstrap 安装器。

交互式安装

不设置 AGENTDOCK_NONINTERACTIVE 时,安装器会逐项询问配置:

curl -fsSL https://github.com/uvwt/agentdock/releases/latest/download/install.sh \
-o /tmp/install-agentdock.sh
sh /tmp/install-agentdock.sh

普通部署保持 binary 即可。sourceauto 只用于开发或预编译产物不可用的调试场景。

Cloudflare Tunnel

交互式安装会询问是否有已接入 Cloudflare 的域名:

用户回答安装器模式结果
有域名固定(named稳定 HTTPS 地址,适合长期客户端和 OAuth
没有域名临时(quick自动生成 trycloudflare.com 地址,适合立即体验

使用固定模式时,先按 固定域名配置教程 完成 Cloudflare 侧设置,再在安装器提示时填写得到的 HTTPS 公网地址和 Tunnel Token。

临时模式会启动 cloudflared,从服务日志读取生成的地址,写入 AGENTDOCK_SERVER_URL,启用 OAuth,然后重启 AgentDock。两种模式都会生成或复用:

  • AGENTDOCK_AUTH_TOKEN
  • AGENTDOCK_OAUTH_PASSWORD
  • AGENTDOCK_OAUTH_TOKEN_SECRET

完成框会显示公网地址、MCP 地址、Bearer Token 和 OAuth 登录密码。OAuth 签名密钥不会显示。Tunnel Token 只写入 root-only 的 /etc/agentdock/cloudflared.env,不会写入 agentdock.env、传给 AgentDock,也不会出现在 cloudflared 命令行中。

临时地址变化后,重新运行同一个安装脚本即可。现有监听地址、端口、高级配置、Bearer Token、OAuth 密码、签名密钥和 NexusDock 配置都会保留;安装器会自动回写新地址并重启 AgentDock。客户端仍需替换旧 MCP URL,并重新完成 OAuth 授权。

默认 Tunnel 服务名是 agentdock-cloudflared

# systemd
sudo systemctl status agentdock-cloudflared --no-pager
sudo journalctl -u agentdock-cloudflared -n 100 --no-pager

# OpenRC
sudo rc-service agentdock-cloudflared status
sudo tail -n 100 /var/log/agentdock-cloudflared.log \
/var/log/agentdock-cloudflared.err

非交互安装默认保持本机访问;需要临时 Tunnel 时必须显式指定:

sudo env \
AGENTDOCK_NONINTERACTIVE=true \
AGENTDOCK_TUNNEL_MODE=quick \
sh /tmp/install-agentdock.sh

固定模式设置 AGENTDOCK_TUNNEL_MODE=namedAGENTDOCK_SERVER_URLAGENTDOCK_CLOUDFLARE_TUNNEL_TOKENAGENTDOCK_OAUTH_PASSWORDAGENTDOCK_OAUTH_TOKEN_SECRET 只在需要覆盖首次生成值时提供;否则由安装器自动生成。密钥应来自受保护环境或密钥管理器。

默认目录

安装目录 /opt/agentdock
运行数据目录 /srv/agentdock
环境文件 /etc/agentdock/agentdock.env
服务用户 agentdock
监听地址 127.0.0.1:8765

典型 systemd 安装会生成:

/opt/agentdock/bin/agentdock
/srv/agentdock/.agentdock
/srv/agentdock/AgentDock
/etc/agentdock/agentdock.env
/etc/systemd/system/agentdock.service

OpenRC 会改为创建 /etc/init.d/agentdock

非交互配置

自动化部署时可以通过环境变量覆盖默认值:

sudo env \
AGENTDOCK_NONINTERACTIVE=true \
AGENTDOCK_RELEASE_VERSION=latest \
AGENTDOCK_PORT=8765 \
sh /tmp/install-agentdock.sh

常用变量:

变量用途
AGENTDOCK_RELEASE_VERSIONlatestvX.Y.Z
AGENTDOCK_SOURCE_DIR二进制安装根目录
AGENTDOCK_DATA_DIR状态和工作目录根目录
AGENTDOCK_ENV_FILE服务环境文件
AGENTDOCK_SERVICE_NAMEsystemd/OpenRC 服务名
AGENTDOCK_SERVICE_USER低权限运行用户
AGENTDOCK_SERVICE_MANAGERautosystemdopenrcnone
AGENTDOCK_HOST监听地址
AGENTDOCK_PORT监听端口
AGENTDOCK_AUTH_TOKEN自定义 Bearer Token
AGENTDOCK_NEXUS_ENDPOINTNexusDock 地址
AGENTDOCK_NEXUS_TOKENNexusDock Token
AGENTDOCK_TUNNEL_MODEnonequicknamed
AGENTDOCK_SERVER_URLNamed Tunnel 和 OAuth 使用的固定 HTTPS Origin
AGENTDOCK_CLOUDFLARE_TUNNEL_TOKENNamed Tunnel Token,只保存在 cloudflared.env
AGENTDOCK_CLOUDFLARED_INSTALL_PATH自定义 cloudflared 二进制路径

不要把真实 Token 写进仓库。未提供 AGENTDOCK_AUTH_TOKEN 时,安装器会自动生成并写入 root-only 环境文件。

只安装二进制

不希望注册系统服务时:

sudo env \
AGENTDOCK_NONINTERACTIVE=true \
AGENTDOCK_SERVICE_MANAGER=none \
sh /tmp/install-agentdock.sh

这种模式不会自动启动 AgentDock,需要手动运行 /opt/agentdock/bin/agentdock

修改端口或 Token

编辑环境文件:

sudoedit /etc/agentdock/agentdock.env

修改后重启服务:

sudo systemctl restart agentdock
sudo systemctl status agentdock --no-pager

OpenRC 使用:

sudo rc-service agentdock restart
sudo rc-service agentdock status

查看日志

systemd:

sudo journalctl -u agentdock -n 100 --no-pager
sudo journalctl -u agentdock -f

OpenRC:

sudo tail -n 100 /var/log/agentdock.log /var/log/agentdock.err

更新

重新运行安装器即可替换二进制。运行数据和环境文件会保留。固定版本时设置:

sudo env \
AGENTDOCK_NONINTERACTIVE=true \
AGENTDOCK_RELEASE_VERSION=vX.Y.Z \
sh /tmp/install-agentdock.sh

需要完全自行维护 systemd、环境文件、反向代理和 OAuth 时,阅读 Linux 手动部署