Last active
February 15, 2026 20:08
-
-
Save james2doyle/3411c059ecd5c8569ec7fd54e57c95a5 to your computer and use it in GitHub Desktop.
A dockerfile image that sets up Opencode with Oh-My-Opencode alongside Bun and PNPM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Build the image with: docker build -t super-opencode . | |
| # Run the container with: docker run -it --volume="$PWD:/app" --workdir="/app" super-opencode | |
| # Use the official Node.js image based on Debian Bullseye (slim version for smaller size) | |
| FROM node:24.13.1-bullseye-slim | |
| # Set the working directory inside the container to /app | |
| WORKDIR /app | |
| # Install system dependencies required for building and running various tools | |
| # git: version control, curl: downloading files, make/g++: compiling native modules, unzip: extracting archives | |
| # ca-certificates: ensuring secure SSL connections | |
| # We clean up the apt cache afterwards to keep the image size small | |
| RUN apt-get update && apt-get install -y \ | |
| git \ | |
| curl \ | |
| make \ | |
| g++ \ | |
| unzip \ | |
| ca-certificates \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Install the Bun runtime using the official installation script | |
| RUN curl -fsSL https://bun.sh/install | bash | |
| # Enable Corepack to manage package managers like pnpm and yarn | |
| RUN corepack enable pnpm | |
| # Install the opencode-ai CLI globally via npm | |
| RUN npm i -g opencode-ai | |
| # Use bunx to run the oh-my-opencode installer with specific flags | |
| # This configures the environment and enables opencode-zen while disabling other providers | |
| RUN /root/.bun/bin/bunx oh-my-opencode install --no-tui --claude=no --gemini=no --copilot=no --opencode-zen=yes | |
| # Create the authentication configuration file for OpenRouter | |
| # Note: The API key here is a placeholder and should be replaced or managed via environment variables | |
| RUN echo "{\"openrouter\": {\"type\": \"api\",\"key\": \"sk-or-v1-...\"}}" > ~/.local/share/opencode/auth.json | |
| # Verify the installation by checking the version of opencode | |
| RUN opencode --version | |
| # You may need to run the install before starting opencode | |
| # RUN CI=true pnpm install | |
| # The entrypoint defines the command that will run when the container starts | |
| # In this case, it executes the 'opencode' binary | |
| # You may need a "opencode.json" and a ".opencode/oh-my-opencode.jsonc" to control settings | |
| ENTRYPOINT ["opencode"] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
| { | |
| "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", | |
| "agents": { | |
| "sisyphus": { | |
| "model": "openrouter/google/gemini-3-pro-preview" | |
| }, | |
| "oracle": { | |
| "model": "openrouter/google/gemini-3-flash-preview" | |
| }, | |
| "librarian": { | |
| "model": "openrouter/z-ai/glm-5" | |
| }, | |
| "explore": { | |
| "model": "openrouter/minimax/minimax-m2.5" | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment