Update devcontainer and Docker setup with new LLM API configuration
Update devcontainer.json to set terminal shell and add empty features object Update docker-compose.yml to change port mapping and add environment variable for LOCAL_LLM_API Add new OpenCode configuration files for LLM settings and instructions Update Dockerfile to install additional tools and dependencies including Go, Rust, Node.js, and Python packages Modify docker-entrypoint.sh to handle MCP server initialization and shell configuration Update LM client readme to reflect new API endpoint configuration
This commit is contained in:
48
Dockerfile
48
Dockerfile
@@ -1,22 +1,40 @@
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
python3 python3-pip \
|
||||
golang-go rustc cargo \
|
||||
r-base \
|
||||
sqlite3 build-essential git curl wget \
|
||||
bash zsh \
|
||||
clang llvm-dev libclang-dev pkg-config build-essential git make curl nodejs npm \
|
||||
pylint black flake8 mypy isort logrotate sudo cmake libicu-dev zlib1g-dev \
|
||||
libcurl4-openssl-dev libssl-dev ruby-dev jq python3 python3-pip golang-go rustc cargo \
|
||||
r-base sqlite3 wget bash zsh libgit2-dev \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Installer jj
|
||||
RUN curl -LO https://github.com/martinvonz/jj/releases/latest/download/jj-x86_64-unknown-linux-gnu \
|
||||
&& chmod +x jj-x86_64-unknown-linux-gnu \
|
||||
&& mv jj-x86_64-unknown-linux-gnu /opt/bin/jj
|
||||
RUN echo "deb http://deb.debian.org/debian testing main" > /etc/apt/sources.list.d/testing.list
|
||||
|
||||
# Installer jj_lsp (si binaire séparé)
|
||||
RUN curl -LO https://github.com/martinvonz/jj/releases/latest/download/jj_lsp-x86_64-unknown-linux-gnu \
|
||||
&& chmod +x jj_lsp-x86_64-unknown-linux-gnu \
|
||||
&& mv jj_lsp-x86_64-unknown-linux-gnu /opt/bin/jj_lsp
|
||||
COPY tools/install_latest_go.sh /tmp/install_latest_go.sh
|
||||
RUN bash /tmp/install_latest_go.sh && \
|
||||
echo "PATH=/usr/local/go/bin:$PATH" >> /root/.bashrc
|
||||
ENV PATH=/usr/local/go/bin:$PATH
|
||||
|
||||
ENV RUSTUP_HOME=/usr/local/rustup
|
||||
ENV CARGO_HOME=/usr/local/cargo
|
||||
ENV PATH=/usr/local/cargo/bin:$PATH
|
||||
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable && \
|
||||
rustup install nightly && \
|
||||
rustup component add rustfmt clippy rust-src rust-docs && \
|
||||
cargo install cargo-edit cargo-watch cargo-outdated cargo-make cargo-binstall
|
||||
|
||||
RUN npm install -g typescript tsc @types/node eslint prettier
|
||||
|
||||
RUN cargo binstall --strategies crate-meta-data jj-cli
|
||||
|
||||
RUN cargo install --git https://github.com/nilskch/jj-lsp.git
|
||||
|
||||
RUN gem install github-linguist
|
||||
|
||||
RUN pip install --no-cache-dir --break-system-packages ruff fastmcp ipython
|
||||
|
||||
RUN curl -fsSL https://opencode.ai/install | bash && \
|
||||
mkdir -p /root/.config/opencode && \
|
||||
mv /root/.opencode/bin/opencode /usr/local/bin/
|
||||
|
||||
COPY opt/bin/ /opt/bin/
|
||||
COPY opt/dev-tools/ /opt/dev-tools/
|
||||
@@ -27,8 +45,8 @@ ENV PATH="/opt/bin:/opt/dev-tools:/opt/lm-client:${PATH}"
|
||||
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
|
||||
RUN groupadd --gid $USER_GID $USERNAME && \
|
||||
useradd --uid $USER_UID --gid $USER_GID -m $USERNAME
|
||||
|
||||
COPY docker-entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
|
||||
Reference in New Issue
Block a user