FROM coder-devbox-base-config:latest AS base-default USER root RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends -qqq software-properties-common RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends -qqq php-fpm php-cli php-mbstring php-xml php-mysql php-imap php-curl psmisc mariadb-client RUN apt-get clean; USER coder # intelephense for Kilo's "lsp": true config — php itself is already on PATH # system-wide via apt, but the PHP LSP is a separate npm package. RUN npm install -g intelephense USER root RUN ln -sf "$NVM_DIR/versions/node/active/bin/intelephense" /usr/local/bin/intelephense USER coder # Claude Code's equivalent of the "lsp": true config above — intelephense is # already on PATH from the install above, this just registers the plugin. # Codex gets the same plugin from the same marketplace — see base-config's # Dockerfile for why this works. RUN "$HOME/.local/bin/claude" plugin install php-lsp@claude-plugins-official \ && codex plugin add php-lsp@claude-plugins-official