Sign inSign up

smanx/opencode

By smanx

Updated about 3 hours ago

An out-of-the-box Docker image for running `opencode web` on Ubuntu

Image
6

100K+

smanx/opencode repository overview

OpenCode Web (Docker)

An out-of-the-box Docker image for running opencode web on Ubuntu. It installs OpenCode via the official installer and starts the web service on 0.0.0.0:4096 by default. Host and port can be customized via environment variables.

API Information

ItemValue
Base URLhttps://openai.good.hidns.vip/v1
API Keysk-B882bCwUweSeMRscoNwxZw4vxpjXmvWTLBxO5aXC7WAYhfwa

This API key is publicly shared. Do not rely on it for production workloads or other critical use cases.

Run

docker run -itd --name opencode -p 4096:4096 \
  -v opencode-config:/root/.config/opencode \
  -v opencode-data:/root/.local/share/opencode \
  smanx/opencode

To use your project directory as the workspace:

docker run -itd --name opencode -p 4096:4096 \
  -v opencode-config:/root/.config/opencode \
  -v opencode-data:/root/.local/share/opencode \
  -v "$(pwd)":/workspace \
  smanx/opencode

Persistence

Required (recommended to persist):

  • Config: /root/.config/opencode (contains opencode.jsonc)
  • Data: /root/.local/share/opencode (contains auth.json, opencode.db, log/, storage/)

Optional:

  • State: /root/.local/state/opencode
  • Cache: /root/.cache/opencode

Optional with Docker named volumes:

docker run -itd --name opencode -p 4096:4096 \
  -v opencode-config:/root/.config/opencode \
  -v opencode-data:/root/.local/share/opencode \
  -v opencode-state:/root/.local/state/opencode \
  -v opencode-cache:/root/.cache/opencode \
  smanx/opencode

Open:

  • http://localhost:4096

Port / Host

Defaults:

  • OPENCODE_HOSTNAME=0.0.0.0
  • OPENCODE_PORT=4096

Custom port example:

docker run -itd --name opencode -p 8080:8080 \
  -e OPENCODE_PORT=8080 \
  smanx/opencode

Custom hostname example:

docker run -itd --name opencode -p 4096:4096 \
  -e OPENCODE_HOSTNAME=0.0.0.0 \
  smanx/opencode

Web Options

All extra arguments are forwarded to opencode web.

Supported flags (same as the upstream docs):

--port <number>
--hostname <string>
--mdns
--mdns-domain <string>
--cors <origin>        # can be provided multiple times
--log-level <level>    # DEBUG|INFO|WARN|ERROR
--print-logs

Examples:

docker run -itd --name opencode -p 4096:4096 \
  smanx/opencode --mdns
docker run -itd --name opencode -p 4096:4096 \
  smanx/opencode --cors https://example.com
docker run -itd --name opencode -p 4096:4096 \
  smanx/opencode --hostname 0.0.0.0 --port 4096 --mdns --mdns-domain myproject.local \
  --cors https://example.com --cors https://foo.example \
  --log-level INFO --print-logs

You can also configure these via environment variables:

docker run -itd --name opencode -p 4096:4096 \
  -e OPENCODE_MDNS=true \
  -e OPENCODE_MDNS_DOMAIN=myproject.local \
  -e OPENCODE_CORS=https://example.com,https://foo.example \
  -e OPENCODE_LOG_LEVEL=INFO \
  -e OPENCODE_PRINT_LOGS=true \
  smanx/opencode
docker run -itd --name opencode -p 4096:4096 \
  -e OPENCODE_SERVER_USERNAME=opencode \
  -e OPENCODE_SERVER_PASSWORD=secret \
  smanx/opencode

OpenCode Web (Docker)

一个开箱即用的 opencode Web 容器镜像:基于 Ubuntu,通过官方安装脚本安装 opencode,容器启动后默认在 0.0.0.0:4096 运行 opencode web,并支持通过环境变量自定义监听地址和端口。

接口信息

配置项
API 地址https://openai.good.hidns.vip/v1
API Keysk-B882bCwUweSeMRscoNwxZw4vxpjXmvWTLBxO5aXC7WAYhfwa

该 Key 为公开共享用途,请勿用于生产环境中的强依赖场景

运行

docker run -itd --name opencode -p 4096:4096 \
  -v opencode-config:/root/.config/opencode \
  -v opencode-data:/root/.local/share/opencode \
  smanx/opencode

把当前项目目录作为工作区:

docker run -itd --name opencode -p 4096:4096 \
  -v opencode-config:/root/.config/opencode \
  -v opencode-data:/root/.local/share/opencode \
  -v "$(pwd)":/workspace \
  smanx/opencode

持久化

必须映射(建议持久化):

  • 配置:/root/.config/opencode(包含 opencode.jsonc,provider/model 配置等)
  • 数据:/root/.local/share/opencode(包含 auth.jsonopencode.dblog/storage/

可选项(按需):

  • state:/root/.local/state/opencode
  • cache:/root/.cache/opencode

可选项示例(使用 Docker volume):

docker run -itd --name opencode -p 4096:4096 \
  -v opencode-config:/root/.config/opencode \
  -v opencode-data:/root/.local/share/opencode \
  -v opencode-state:/root/.local/state/opencode \
  -v opencode-cache:/root/.cache/opencode \
  smanx/opencode

浏览器打开:

  • http://localhost:4096

端口 / Host

默认值:

  • OPENCODE_HOSTNAME=0.0.0.0
  • OPENCODE_PORT=4096

自定义端口示例:

docker run -itd --name opencode -p 8080:8080 \
  -e OPENCODE_PORT=8080 \
  smanx/opencode

自定义 Host 示例:

docker run -itd --name opencode -p 4096:4096 \
  -e OPENCODE_HOSTNAME=0.0.0.0 \
  smanx/opencode

Web 参数

镜像名后面的参数会原样转发给 opencode web

支持的参数(与官方文档一致):

--port <number>
--hostname <string>
--mdns
--mdns-domain <string>
--cors <origin>        # 可多次传入
--log-level <level>    # DEBUG|INFO|WARN|ERROR
--print-logs

示例:

docker run -itd --name opencode -p 4096:4096 \
  smanx/opencode --mdns
docker run -itd --name opencode -p 4096:4096 \
  smanx/opencode --cors https://example.com
docker run -itd --name opencode -p 4096:4096 \
  smanx/opencode --hostname 0.0.0.0 --port 4096 --mdns --mdns-domain myproject.local \
  --cors https://example.com --cors https://foo.example \
  --log-level INFO --print-logs

也可以通过环境变量配置:

docker run -itd --name opencode -p 4096:4096 \
  -e OPENCODE_MDNS=true \
  -e OPENCODE_MDNS_DOMAIN=myproject.local \
  -e OPENCODE_CORS=https://example.com,https://foo.example \
  -e OPENCODE_LOG_LEVEL=INFO \
  -e OPENCODE_PRINT_LOGS=true \
  smanx/opencode

认证(建议开启)

docker run -itd --name opencode -p 4096:4096 \
  -e OPENCODE_SERVER_USERNAME=opencode \
  -e OPENCODE_SERVER_PASSWORD=secret \
  smanx/opencode

Tag summary

Content type

Image

Digest

sha256:87da2bd0c

Size

114.4 MB

Last updated

about 3 hours ago

docker pull smanx/opencode