ref: refactored scripts
This commit is contained in:
+17
-28
@@ -9,10 +9,6 @@ ARG OPENCODE_VERSION=2.0.3
|
||||
ARG DEV_UID=1000
|
||||
ARG DEV_GID=1000
|
||||
|
||||
# Move the pre-existing ubuntu user/group away from 1000:1000
|
||||
RUN groupmod --gid 1234 ubuntu \
|
||||
&& usermod --uid 1234 --gid 1234 ubuntu
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
@@ -53,37 +49,35 @@ RUN apt-get update \
|
||||
zip \
|
||||
&& 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 \
|
||||
# && rm -rf /var/lib/apt/lists/*
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen \
|
||||
&& locale-gen
|
||||
&& locale-gen \
|
||||
&& ln -s "$(command -v fdfind)" /usr/local/bin/fd
|
||||
|
||||
COPY ./certs /usr/local/share/ca-certificates
|
||||
RUN update-ca-certificates
|
||||
ENV NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
# Runtime user
|
||||
RUN groupadd --gid "${DEV_GID}" dev \
|
||||
&& useradd \
|
||||
--uid "${DEV_UID}" \
|
||||
--gid "${DEV_GID}" \
|
||||
--create-home \
|
||||
--shell /bin/bash dev
|
||||
# Remove ubuntu user and create the dev one
|
||||
RUN (userdel -r ubuntu 2>/dev/null || true) \
|
||||
&& (groupdel ubuntu 2>/dev/null || true) \
|
||||
&& groupadd --gid "${DEV_GID}" dev \
|
||||
&& useradd --uid "${DEV_UID}" --gid "${DEV_GID}" --create-home --shell /bin/bash dev
|
||||
|
||||
# Node.js + OpenCode
|
||||
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" \
|
||||
RUN f="node-v${NODE_VERSION}-linux-x64.tar.xz" \
|
||||
&& curl -fsSLO "https://nodejs.org/dist/v${NODE_VERSION}/${f}" \
|
||||
&& curl -fsSLO "https://nodejs.org/dist/v${NODE_VERSION}/SHASUMS256.txt" \
|
||||
&& grep " ${f}\$" SHASUMS256.txt | sha256sum -c - \
|
||||
&& tar -xJf "node-v${NODE_VERSION}-linux-x64.tar.xz" -C /usr/local --strip-components=1 \
|
||||
&& rm -f "${f}" SHASUMS256.txt \
|
||||
&& echo -n "node version: " && node --version \
|
||||
&& echo -n "npm version: " && npm --version \
|
||||
&& npm install -g "@opencode/cli@${OPENCODE_VERSION}" \
|
||||
&& echo -n "opencode version: " && opencode --version \
|
||||
&& npm cache clean --force
|
||||
|
||||
# User directories
|
||||
# User directories and dot expansion
|
||||
RUN mkdir -p \
|
||||
/workspace \
|
||||
/home/dev/.config/opencode \
|
||||
@@ -92,11 +86,8 @@ RUN mkdir -p \
|
||||
/home/dev/.cache/pip \
|
||||
/home/dev/.npm \
|
||||
/home/dev/.m2 \
|
||||
&& chown -R dev:dev \
|
||||
/workspace \
|
||||
/home/dev
|
||||
|
||||
RUN printf '%s\n' 'shopt -s dotglob' >> /etc/bash.bashrc
|
||||
&& chown -R dev:dev /workspace /home/dev \
|
||||
&& printf '%s\n' 'shopt -s dotglob' >> /etc/bash.bashrc
|
||||
|
||||
# Runtime
|
||||
USER dev
|
||||
@@ -107,8 +98,6 @@ ENV HOME=/home/dev \
|
||||
PIP_CACHE_DIR=/home/dev/.cache/pip \
|
||||
NPM_CONFIG_CACHE=/home/dev/.npm
|
||||
|
||||
RUN echo 'for f in /host-bash/*; do [ -r "$f" ] && source "$f"; done' >> ~/.bashrc
|
||||
|
||||
WORKDIR /workspace
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/opencode-dev-entrypoint"]
|
||||
|
||||
Reference in New Issue
Block a user