add7c1b500
- Standardize built-in tool users for shared writable profile mounts - Mount canonical non-Git profile sources across compatible instances - Report restart-required outcomes and guard active profile deletion - Surface restart feedback in config profile editing Quality gates: frontend build passed; backend py_compile and LSP passed. Skipped: backend pytest/Ruff unavailable; Docker/manual checks not approved.
41 lines
827 B
Docker
41 lines
827 B
Docker
# OpenCode agent environment
|
|
FROM ubuntu:24.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install base dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
curl \
|
|
wget \
|
|
git \
|
|
neovim \
|
|
ranger \
|
|
tmux \
|
|
htop \
|
|
tree \
|
|
jq \
|
|
ca-certificates \
|
|
python3 \
|
|
python3-pip \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Node.js
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
|
|
&& apt-get install -y nodejs \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install OpenCode
|
|
RUN npm install -g opencode
|
|
|
|
# Use the shared built-in UID/GID for writable Config Profile mounts.
|
|
RUN groupadd -g 1000 user \
|
|
&& useradd -m -u 1000 -g 1000 -s /bin/bash user
|
|
WORKDIR /home/user
|
|
|
|
# Set up git
|
|
RUN git config --global init.defaultBranch main
|
|
|
|
USER user
|
|
|
|
EXPOSE 3000
|
|
CMD ["opencode", "server"] |