Enhance Docker setup with new tools and configurations
Update Dockerfile to install additional tools (orla, rust-analyzer), configure user permissions, and set up bash completion. Update docker-entrypoint.sh to export new environment variables and configure MCP language servers for multiple languages (Go, Python, Rust, TypeScript) with proper workspace and LSP settings. Add new documentation file AGENTS.md with development guidelines and security rules. Add pyproject.toml for Python project configuration with dependencies and dev tools. Add src/PMOCrazyCoder.py as a new MCP server implementation with example tools.
This commit is contained in:
23
Dockerfile
23
Dockerfile
@@ -38,23 +38,36 @@ RUN curl -fsSL https://opencode.ai/install | bash && \
|
||||
|
||||
ENV GOPATH=/usr/local/go
|
||||
ENV GOBIN=/usr/local/go/bin
|
||||
RUN go install golang.org/x/tools/gopls@latest
|
||||
RUN go install github.com/isaacphi/mcp-language-server@latest
|
||||
RUN go install golang.org/x/tools/gopls@latest \
|
||||
&& go install github.com/isaacphi/mcp-language-server@latest \
|
||||
&& go install github.com/dorcha-inc/orla/cmd/orla@latest
|
||||
|
||||
RUN mkdir -p /etc/bash_completion.d \
|
||||
&& orla completion bash > /etc/bash_completion.d/orla \
|
||||
&& jj util completion bash > /etc/bash_completion.d/jj
|
||||
|
||||
RUN rustup component add rust-analyzer --toolchain nightly
|
||||
|
||||
ARG USERNAME=devuser
|
||||
ARG USER_UID=1000
|
||||
ARG USER_GID=1000
|
||||
RUN groupadd --gid $USER_GID $USERNAME && \
|
||||
useradd --uid $USER_UID \
|
||||
--gid $USER_GID \
|
||||
-m $USERNAME \
|
||||
--shell /bin/bash
|
||||
--gid $USER_GID \
|
||||
-m $USERNAME \
|
||||
--shell /bin/bash && \
|
||||
echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/$USERNAME && \
|
||||
chmod 440 /etc/sudoers.d/$USERNAME
|
||||
|
||||
COPY docker-entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
RUN mkdir -p /home/${USERNAME}/.config \
|
||||
&& chown -R ${USERNAME}:${USERNAME} /home/${USERNAME}/.config
|
||||
COPY --chown=${USERNAME}:${USERNAME} opencode /home/${USERNAME}/.config/opencode
|
||||
|
||||
USER $USERNAME
|
||||
WORKDIR /workspace
|
||||
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||
CMD ["/bin/bash"]
|
||||
|
||||
Reference in New Issue
Block a user