first commit
This commit is contained in:
+75
@@ -0,0 +1,75 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
ARG UBUNTU_VERSION=26.04
|
||||
FROM ubuntu:${UBUNTU_VERSION}
|
||||
|
||||
ARG OPENCODE_VERSION=1.18.32
|
||||
ARG NODE_VERSION=24.21.0
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive \
|
||||
HOME=/home/dev \
|
||||
EDITOR=nvim \
|
||||
VISUAL=nvim \
|
||||
PIP_CACHE_DIR=/home/dev/.cache/pip \
|
||||
NPM_CONFIG_CACHE=/home/dev/.npm
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get upgrade -y \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
bash \
|
||||
ca-certificates \
|
||||
curl \
|
||||
wget \
|
||||
git \
|
||||
openssh-client \
|
||||
neovim \
|
||||
jq \
|
||||
less \
|
||||
zip \
|
||||
unzip \
|
||||
tar \
|
||||
gzip \
|
||||
procps \
|
||||
ripgrep \
|
||||
fd-find \
|
||||
tree \
|
||||
build-essential \
|
||||
pkg-config \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-venv \
|
||||
python3-dev \
|
||||
openjdk-11-jdk \
|
||||
openjdk-17-jdk \
|
||||
maven \
|
||||
locales \
|
||||
xz-utils \
|
||||
file \
|
||||
util-linux \
|
||||
# && rm -rf /var/lib/apt/lists/* \
|
||||
&& update-alternatives --set java /usr/lib/jvm/java-17-openjdk-amd64/bin/java \
|
||||
&& update-alternatives --set javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac \
|
||||
&& echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen \
|
||||
&& locale-gen \
|
||||
&& useradd --create-home --shell /bin/bash dev \
|
||||
&& mkdir -p /workspace /home/dev/.config/opencode /home/dev/.local/share/opencode \
|
||||
/home/dev/.cache/opencode /home/dev/.cache/pip /home/dev/.npm /home/dev/.m2 \
|
||||
&& chown -R dev:dev /workspace /home/dev
|
||||
|
||||
RUN curl -fsSLO "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz" \
|
||||
&& tar -xJf "node-v${NODE_VERSION}-linux-x64.tar.xz" -C /usr/local --strip-components=1 \
|
||||
&& rm "node-v${NODE_VERSION}-linux-x64.tar.xz" \
|
||||
&& node --version \
|
||||
&& npm --version \
|
||||
&& npm install --global "opencode-ai@${OPENCODE_VERSION}" \
|
||||
&& opencode --version \
|
||||
&& npm cache clean --force
|
||||
|
||||
COPY entrypoint.sh /usr/local/bin/opencode-dev-entrypoint
|
||||
RUN chmod +x /usr/local/bin/opencode-dev-entrypoint
|
||||
|
||||
WORKDIR /workspace
|
||||
ENTRYPOINT ["/usr/local/bin/opencode-dev-entrypoint"]
|
||||
CMD ["bash"]
|
||||
Reference in New Issue
Block a user