This repository includes a Community Applications-ready Docker template at:
unraid/templates/opencode-plus.xml
- Publish public container images for
ghcr.io/datbird/opencode-plus. - Keep
:devas the default Unraid template tag unless a smaller default is intentionally chosen. - Use the
Publish ImagesGitHub Actions workflow to publish:devand:latestwithout handling local PATs. - After the first GHCR publish, make the package public in GitHub package settings before submitting to Community Applications.
- Verify the template XML points at public URLs for
TemplateURL,Icon,Project,Registry, andSupport. - Create an Unraid forum support thread if Community Applications requires one, then replace the GitHub Issues
SupportURL with that thread. - Keep deployment-specific hostnames, emails, tokens, appdata paths, Cloudflare tunnel URLs, and private publishing runbooks out of the XML.
Community Applications can index public GitHub-hosted templates. If a separate templates repository is preferred, copy these files into that repository without changing the public URLs until the target repo path is final:
unraid/templates/opencode-plus.xml
unraid/opencode-plus.svg
Then update TemplateURL and Icon in the XML to the raw URLs in the final template repository.
- WebUI: gateway on
4097. - Direct OpenCode: advanced port
4096. - SSH: host
2222to container22. - Appdata:
/mnt/user/appdata/opencode-plusto/config. - Workspace:
/mnt/user/appdata/opencode-workspaceto/root/workspace. - Repositories:
/mnt/user/gitreposto/root/repos. - Docker socket: included as advanced and optional.
- OpenCode Plus enhancement mode: enabled.
- Gateway/UI: enabled by default.
- Cloudflare Access enforcement: disabled by default for first-run local usability; users can enable it in OpenCode Plus or set
OPENCODE_PLUS_CLOUDFLARE_AUTH_DEFAULT=truebefore first start.
Before submitting, validate locally:
python3 -m xml.etree.ElementTree unraid/templates/opencode-plus.xml
grep -R "crossmojonation\|/home/robert\|gmail.com\|172\.25\." unraid docs README.mdAfter publishing the template, install it through Unraid Apps rather than a manual docker run so Docker Manager labels and template metadata stay attached to the container.
The template defaults were smoke-tested with a locally built opencode-plus:ca-test image. Expected first-run behavior:
opencode-cf-auth-proxy,opencode-plus-quota,opencode-server, andsshdare running under supervisor.GET /__opencode-plus/healthon port4097returnsok:true.- With
OPENCODE_PLUS_CLOUDFLARE_AUTH_DEFAULT=false, the gateway passes through to OpenCode's own Basic Auth instead of requiring a Cloudflare Access JWT on first run. - Authenticated requests to
/return the OpenCode page with/__opencode-plus/drawer.jsinjected.