| # debian.sh --arch 'amd64' out/ 'trixie' '@1765152000' |
| COPY docker-entrypoint.sh /usr/local/bin # buildkit |
| COPY /usr/local/bin/bun /usr/local/bin/bun # buildkit |
| RUN /bin/sh -c mkdir -p /usr/local/bun-node-fallback-bin && ln -s /usr/local/bin/bun /usr/local/bun-node-fallback-bin/node # buildkit |
| ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bun-node-fallback-bin |
| ARG BUN_RUNTIME_TRANSPILER_CACHE_PATH=0 |
| ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=0 |
| ARG BUN_INSTALL_BIN=/usr/local/bin |
| ENV BUN_INSTALL_BIN=/usr/local/bin |
| RUN |2 BUN_RUNTIME_TRANSPILER_CACHE_PATH=0 BUN_INSTALL_BIN=/usr/local/bin /bin/sh -c groupadd bun --gid 1000 && useradd bun --uid 1000 --gid bun --shell /bin/sh --create-home && ln -s /usr/local/bin/bun /usr/local/bin/bunx && which bun && which bunx && bun --version # buildkit |
| WORKDIR /home/bun/app |
| ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] |
| CMD ["/usr/local/bin/bun"] |
| LABEL role=leader |
| LABEL description=The orchestrator of the agent ecosystem |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends bash less curl git jq tree make ca-certificates ripgrep && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c curl -sL https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -o /usr/local/bin/yq && chmod +x /usr/local/bin/yq # buildkit |
| RUN /bin/sh -c bun install -g @ast-grep/cli && ln -sf $(which ast-grep) /usr/local/bin/sg # buildkit |
| ENV BUN_INSTALL=/root/.bun |
| ENV PATH=/root/.bun/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bun-node-fallback-bin |
| RUN /bin/sh -c bun install -g opencode-ai && echo "=== OpenCode CLI installed ===" && which opencode && opencode --version # buildkit |
| ARG OH_MY_OPENCODE_REPO=https://git.app.flexinit.nl/oussamadouhou/oh-my-opencode-free-fork.git |
| ARG OH_MY_OPENCODE_BRANCH=release |
| RUN |2 OH_MY_OPENCODE_REPO=https://git.app.flexinit.nl/oussamadouhou/oh-my-opencode-free-fork.git OH_MY_OPENCODE_BRANCH=release /bin/sh -c mkdir -p /tmp/oh-my-opencode && cd /tmp/oh-my-opencode && git clone --depth 1 --branch ${OH_MY_OPENCODE_BRANCH} ${OH_MY_OPENCODE_REPO} . && bun install && bun run build && bun install -g . && echo "=== oh-my-opencode installed from fork (branch: ${OH_MY_OPENCODE_BRANCH}) ===" && rm -rf /tmp/oh-my-opencode # buildkit |
| WORKDIR /workspace |
| RUN |2 OH_MY_OPENCODE_REPO=https://git.app.flexinit.nl/oussamadouhou/oh-my-opencode-free-fork.git OH_MY_OPENCODE_BRANCH=release /bin/sh -c mkdir -p /shared/config /shared/claude /shared/skills /shared/commands /shared/agents /data/artifacts /data/reports /data/logs # buildkit |
| ENV XDG_CONFIG_HOME=/shared/config |
| ENV HOME=/root |
| ENV NODE_ENV=development |
| ENV OH_MY_OPENCODE_ENABLED=true |
| RUN |2 OH_MY_OPENCODE_REPO=https://git.app.flexinit.nl/oussamadouhou/oh-my-opencode-free-fork.git OH_MY_OPENCODE_BRANCH=release /bin/sh -c echo "alias opencode='opencode attach http://localhost:8080'" >> /root/.bashrc # buildkit |
| COPY docker/shared-config/ /shared/config/ # buildkit |
| SHELL [/bin/bash -c] |
| RUN |2 OH_MY_OPENCODE_REPO=https://git.app.flexinit.nl/oussamadouhou/oh-my-opencode-free-fork.git OH_MY_OPENCODE_BRANCH=release /bin/bash -c echo "=== DEBUG: Final Plugin Verification ===" && echo "OpenCode location:" && which opencode && echo "OpenCode version:" && opencode --version && echo "ripgrep version:" && rg --version | head -1 && echo "ast-grep version:" && sg --version && echo "Configuration check:" && cat /shared/config/opencode.jsonc | jq '.plugin' 2>/dev/null || echo "Config not readable" && echo "Plugin directory check:" && ls -la /shared/config/ 2>/dev/null || echo "Config dir not accessible" && echo "Testing basic OpenCode functionality:" && timeout 5 opencode --help >/dev/null 2>&1 && echo "OpenCode CLI working" || echo "OpenCode CLI issue" && echo "=== DEBUG: Verification complete ===" # buildkit |
| EXPOSE [8080/tcp] |
| CMD ["sh" "-c" "echo '=== Starting OpenCode Server ===' && echo 'Server will be available at http://localhost:8080' && opencode serve --hostname 0.0.0.0 --port 8080 --mdns 2>&1 | tee /var/log/opencode.log"] |