之前 opencode 的网页端跑在终端里,关掉窗口或者 SSH 断开就没了。这次用 systemd 用户服务把它做成常驻后台,开机自启、崩溃自动恢复。
确认 opencode 路径
opencode 提供了 opencode serve 命令,以 headless 模式启动 Web 服务器,不打开浏览器,适合后台服务场景:
写入服务文件
把下面的配置贴到终端:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| mkdir -p ~/.config/systemd/user
cat <<'EOF' > ~/.config/systemd/user/opencode-web.service [Unit] Description=OpenCode Web Interface After=network-online.target Wants=network-online.target
[Service] Type=simple ExecStart=/root/.opencode/bin/opencode serve --hostname 0.0.0.0 --port 32999 Restart=on-failure RestartSec=5
[Install] WantedBy=default.target EOF
|
启动并启用开机自启
1 2
| systemctl --user daemon-reload systemctl --user enable --now opencode-web.service
|
验证
1
| systemctl --user status opencode-web.service
|
看到 active (running) 就对了。再确认端口在监听:
1
| ss -tlnp | grep ':32999'
|
管理命令备忘
1 2 3 4 5 6 7 8
| systemctl --user status opencode-web
systemctl --user restart opencode-web.service
systemctl --user disable --now opencode-web.service
|
注意事项
--hostname 0.0.0.0 允许外部网络访问,如果需要限制为本机,改为 127.0.0.1
- 如果
OPENCODE_SERVER_PASSWORD 环境变量未设置,服务器无认证保护,生产环境建议设置密码
- 修改端口后执行
systemctl --user daemon-reload && systemctl --user restart opencode-web.service