Skip to content

kevinlei195/opencode-docker

 
 

Repository files navigation

Opencode Docker

本项目提供了一个安全的隔离 Docker 环境,专门用于运行 Opencode AI 代理。功能完善,可通过安全的 Tailscale VPN 网格网络远程访问开发环境。

Opencode Docker 演示

功能特性

  • 安全隔离:基于 Ubuntu 的自包含容器环境
  • 远程访问:通过 Tailscale VPN 从任何地方安全访问,无需在公网开放端口
  • 持久化配置:工作区和配置(Neovim、Opencode)在重启后保持不变
  • GPU 支持:预配置 NVIDIA GPU 加速
  • 丰富工具:内置现代化 CLI 工具和开发运行时

快速开始

前置要求

安装与使用

  1. 克隆仓库:

    git clone <仓库URL>
    cd opencode-docker
  2. 配置环境变量: 在根目录创建 .env 文件(或在 shell 中设置):

    TAILSCALE_AUTHKEY=tskey-auth-xxxxx-xxxxxxxxx  # 你的 Tailscale 认证密钥
    USER_PASSWORD=secretpassword                  # ubuntu 用户的密码
  3. 启动容器:

    docker-compose up -d
  4. 通过 SSH 连接: 启动后,机器会以 opencode 的名称出现在 Tailscale 网络中:

    ssh ubuntu@opencode

    (或直接使用 Tailscale IP 地址)

包含的工具

核心与 Shell

  • Shell: bash + starship 提示符
  • 终端复用: tmux, byobu
  • 编辑器: neovim (NVIM), vim, nano
  • 文件管理器: superfile, mc (Midnight Commander)
  • 导航工具: zoxide (智能 cd), gum

开发运行时(通过 mise 管理)

  • 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 bash

许可证

MIT License - 详见 LICENSE 文件

About

Stop prompt injection catastrophe! Run your AI Agents in secure isolated environment now.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 66.9%
  • Lua 22.7%
  • Dockerfile 10.4%