An out-of-the-box Docker image for running `opencode web` on Ubuntu
100K+
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.
| Item | Value |
|---|---|
| Base URL | https://openai.good.hidns.vip/v1 |
| API Key | sk-B882bCwUweSeMRscoNwxZw4vxpjXmvWTLBxO5aXC7WAYhfwa |
This API key is publicly shared. Do not rely on it for production workloads or other critical use cases.
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
Required (recommended to persist):
/root/.config/opencode (contains opencode.jsonc)/root/.local/share/opencode (contains auth.json, opencode.db, log/, storage/)Optional:
/root/.local/state/opencode/root/.cache/opencodeOptional 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:4096Defaults:
OPENCODE_HOSTNAME=0.0.0.0OPENCODE_PORT=4096Custom 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
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 容器镜像:基于 Ubuntu,通过官方安装脚本安装 opencode,容器启动后默认在 0.0.0.0:4096 运行 opencode web,并支持通过环境变量自定义监听地址和端口。
| 配置项 | 值 |
|---|---|
| API 地址 | https://openai.good.hidns.vip/v1 |
| API Key | sk-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.json、opencode.db、log/、storage/)可选项(按需):
/root/.local/state/opencode/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默认值:
OPENCODE_HOSTNAME=0.0.0.0OPENCODE_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
镜像名后面的参数会原样转发给 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
Content type
Image
Digest
sha256:87da2bd0c…
Size
114.4 MB
Last updated
about 3 hours ago
docker pull smanx/opencode