OpenCode 服务器部署与运维指南(仅供参考)

August 21, 2026 · View on GitHub

English | 简体中文

一、 安装与环境配置

  1. 安装 OpenCode

    curl -fsSL https://opencode.ai/install | bash
    
  2. 重新加载环境变量

    source ~/.bashrc
    
  3. 获取绝对路径

    which opencode
    

    说明:获取到的路径(例如 /home/ubuntu/.opencode/bin/opencode)需填入下方 systemd 服务配置的 ExecStart 中。


二、 配置 Systemd 后台服务

  1. 创建/编辑服务配置文件

    sudo nano /etc/systemd/system/opencode.service
    
  2. 服务配置文件内容

    [Unit]
    Description=OpenCode Web Server
    After=network.target
    
    [Service]
    Type=simple
    User=ubuntu
    # 在服务中安全定义环境变量(设置服务密码)
    Environment="OPENCODE_SERVER_PASSWORD=YOUR_PASSWORD"
    # 启动命令(自动绑定公网 0.0.0.0 并监听 4097 端口)
    ExecStart=/home/ubuntu/.opencode/bin/opencode serve --hostname 0.0.0.0 --port 4097
    Restart=always
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target
    

    (保存并退出编辑器提示:按 Ctrl + O -> Enter -> Ctrl + X)

  3. 加载并启动服务

    # 1. 重新加载系统服务配置
    sudo systemctl daemon-reload
    
    # 2. 设置开机自启动
    sudo systemctl enable opencode
    
    # 3. 立即启动 OpenCode 后台服务
    sudo systemctl start opencode
    

三、 项目管理与注意事项

  1. 新建项目目录

    mkdir new_project
    
  2. 路径要求 添加项目时必须使用绝对路径(例如 /home/用户名/new_project),否则无法成功创建对话。


四、 防火墙与端口开放

1. 第一层:云厂商控制台 (安全组 / 安全清单)

以 Oracle Cloud (甲骨文云) 为例:

  1. 进入控制台 -> 网络 (Networking) -> 虚拟云网络 (VCN) -> 子网 (Subnets)
  2. 点击当前服务器关联的 安全清单 (Security Lists)
  3. 点击 添加入站规则 (Add Ingress Rules)
    • 源 CIDR0.0.0.0/0 (如需更高安全性,可改为本地公网 IP/32)
    • IP 协议TCP
    • 目的地端口范围4097 (与 systemd 配置中的 --port 保持一致)
  4. 点击保存。

2. 第二层:Ubuntu 内部系统防火墙 (iptables)

甲骨文官方 Ubuntu 镜像默认内置了严格的 iptables 规则,需要在服务器终端中手动穿透:

# 1. 强行在内核防火墙头部插入 4097 端口 TCP 放行规则
sudo iptables -I INPUT -p tcp --dport 4097 -j ACCEPT

# 3. 将规则持久化保存,防止服务器重启后丢失
sudo netfilter-persistent save

五、 常用运维与排错命令

功能需求执行命令
查看实时日志 (排错最常用)sudo journalctl -u opencode -f
重启服务 (修改配置后生效)sudo systemctl restart opencode
停止服务sudo systemctl stop opencode
重新加载服务配置 (修改 .service 文件后)sudo systemctl daemon-reload
查看 4097 端口监听状态sudo ss -tuln | grep 4097