| # 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 - multi-stage build |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends bash less curl jq tree ca-certificates ripgrep && rm -rf /var/lib/apt/lists/* # 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 |
| COPY /root/.bun /root/.bun # buildkit |
| COPY /usr/local/bin/yq /usr/local/bin/yq # buildkit |
| COPY /usr/local/bin/sg /usr/local/bin/sg # buildkit |
| RUN /bin/sh -c ln -sf $(which ast-grep) /usr/local/bin/sg 2>/dev/null || true # buildkit |
| WORKDIR /workspace |
| RUN /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 /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 /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 (XDG_CONFIG_HOME/opencode/):" && cat /shared/config/opencode/opencode.jsonc | jq '.plugin' 2>/dev/null || echo "Config not readable" && echo "oh-my-opencode config:" && cat /shared/config/opencode/oh-my-opencode.json | jq '.name' 2>/dev/null || echo "oh-my-opencode config not readable" && echo "Plugin directory check:" && ls -la /shared/config/opencode/ 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 |
| HEALTHCHECK &{["CMD-SHELL" "curl -f http://localhost:8080/ || exit 1"] "30s" "10s" "40s" "0s" '\x03'} |
| EXPOSE [8080/tcp] |
| CMD ["opencode" "serve" "--hostname" "0.0.0.0" "--port" "8080" "--mdns" "--print-logs"] |