本项目提供了一个安全的隔离 Docker 环境,专门用于运行 Opencode AI 代理。功能完善,可通过安全的 Tailscale VPN 网格网络远程访问开发环境。
- 安全隔离:基于 Ubuntu 的自包含容器环境
- 远程访问:通过 Tailscale VPN 从任何地方安全访问,无需在公网开放端口
- 持久化配置:工作区和配置(Neovim、Opencode)在重启后保持不变
- GPU 支持:预配置 NVIDIA GPU 加速
- 丰富工具:内置现代化 CLI 工具和开发运行时
-
克隆仓库:
git clone <仓库URL> cd opencode-docker
-
配置环境变量: 在根目录创建
.env文件(或在 shell 中设置):TAILSCALE_AUTHKEY=tskey-auth-xxxxx-xxxxxxxxx # 你的 Tailscale 认证密钥 USER_PASSWORD=secretpassword # ubuntu 用户的密码
-
启动容器:
docker-compose up -d
-
通过 SSH 连接: 启动后,机器会以
opencode的名称出现在 Tailscale 网络中:ssh ubuntu@opencode
(或直接使用 Tailscale IP 地址)
- Shell:
bash+starship提示符 - 终端复用:
tmux,byobu - 编辑器:
neovim(NVIM),vim,nano - 文件管理器:
superfile,mc(Midnight Commander) - 导航工具:
zoxide(智能 cd),gum
- Node.js
- Go
- Python(也支持
uv) - Rust
- Opencode CLI
- 搜索:
fzf,rg(ripgrep),fd(fd-find) - Git:
git,lazygit,gh(GitHub CLI) - 系统:
htop,iotop,ncdu,fastfetch - 归档:
tar,zip,unzip - 网络:
curl,wget,nmap,iperf,dnsutils,ping - 现代替代:
bat(cat 替代),eza(ls 替代) - 安全:
age,gnupg,openssh-server - 构建:
build-essential,cmake,ninja-build
以下目录映射到主机,确保数据持久化:
| 主机目录 | 容器内目录 | 说明 |
|---|---|---|
./workspace |
/home/ubuntu/workspace |
主工作目录 |
./config/opencode |
/home/ubuntu/.config/opencode |
Opencode 配置 |
./config/nvim |
/home/ubuntu/.config/nvim |
Neovim 配置 |
# 启动所有服务
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
# 重新构建镜像
docker-compose build --no-cache
# 进入容器
docker exec -it opencode bashMIT License - 详见 LICENSE 文件
