| # debian.sh --arch 'amd64' out/ 'trixie' '@1783900800' |
| RUN /bin/sh -c apt-get update && apt-get install -y curl dumb-init git git-lfs htop locales lsb-release man-db nano openssh-client procps sudo vim-tiny wget zsh && git lfs install && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c sed -i "s/# en_US.UTF-8/en_US.UTF-8/" /etc/locale.gen && locale-gen # buildkit |
| ENV LANG=en_US.UTF-8 |
| RUN /bin/sh -c if grep -q 1000 /etc/passwd; then userdel -r "$(id -un 1000)"; fi && adduser --gecos '' --disabled-password coder && echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd # buildkit |
| RUN /bin/sh -c ARCH="$(dpkg --print-architecture)" && curl -fsSL "https://github.com/boxboat/fixuid/releases/download/v0.6.0/fixuid-0.6.0-linux-$ARCH.tar.gz" | tar -C /usr/local/bin -xzf - && chown root:root /usr/local/bin/fixuid && chmod 4755 /usr/local/bin/fixuid && mkdir -p /etc/fixuid && printf "user: coder\ngroup: coder\n" > /etc/fixuid/config.yml # buildkit |
| COPY ci/release-image/entrypoint.sh /usr/bin/entrypoint.sh # buildkit |
| RUN /bin/sh -c dpkg -i /tmp/packages/code-server*$(dpkg --print-architecture).deb # buildkit |
| ENV ENTRYPOINTD=/entrypoint.d |
| EXPOSE map[8080/tcp:{}] |
| USER 1000 |
| ENV USER=coder |
| WORKDIR /home/coder |
| ENTRYPOINT ["/usr/bin/entrypoint.sh" "--bind-addr" "0.0.0.0:8080" "."] |
| USER root |
| /bin/sh -c apt-get update && apt-get install -y --no-install-recommends git openssh-client curl ca-certificates ripgrep jq less vim-tiny tmux git-lfs build-essential python3 python3-pip python3-venv postgresql-client redis-tools && rm -rf /var/lib/apt/lists/* |
| /bin/sh -c curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && apt-get install -y --no-install-recommends nodejs && rm -rf /var/lib/apt/lists/* && npm install -g @anthropic-ai/claude-code @openai/codex opencode-ai && npm cache clean --force |
| ARG YQ_VERSION |
| |1 YQ_VERSION=v4.44.3 /bin/sh -c curl -fsSL -o /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64" && chmod 0755 /usr/local/bin/yq |
| ARG TEA_VERSION YQ_VERSION |
| |2 TEA_VERSION=0.9.2 YQ_VERSION=v4.44.3 /bin/sh -c curl -fsSL -o /usr/local/bin/tea "https://gitea.com/gitea/tea/releases/download/v${TEA_VERSION}/tea-${TEA_VERSION}-linux-amd64" && chmod 0755 /usr/local/bin/tea |
| ARG KUBECTL_VERSION TEA_VERSION YQ_VERSION |
| ARG HELM_VERSION KUBECTL_VERSION TEA_VERSION YQ_VERSION |
| |4 HELM_VERSION=v3.16.3 KUBECTL_VERSION=v1.31.4 TEA_VERSION=0.9.2 YQ_VERSION=v4.44.3 /bin/sh -c curl -fsSL -o /usr/local/bin/kubectl "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl" && chmod 0755 /usr/local/bin/kubectl && curl -fsSL "https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz" | tar -xz -C /tmp linux-amd64/helm && mv /tmp/linux-amd64/helm /usr/local/bin/helm && chmod 0755 /usr/local/bin/helm && rm -rf /tmp/linux-amd64 |
| COPY file:29ddfdf294b08432224c7593cb5310fd3406bcf963b3d949fd9c6a07c4ac950c in /usr/local/bin/agent |
| |4 HELM_VERSION=v3.16.3 KUBECTL_VERSION=v1.31.4 TEA_VERSION=0.9.2 YQ_VERSION=v4.44.3 /bin/sh -c chmod 0755 /usr/local/bin/agent |
| COPY file:08958dd63a512232664e87ca0d057c319cc7510d04d70968679fba07c477b74a in /opt/skel/.tmux.conf |
| |4 HELM_VERSION=v3.16.3 KUBECTL_VERSION=v1.31.4 TEA_VERSION=0.9.2 YQ_VERSION=v4.44.3 /bin/sh -c chown -R 1000:1000 /opt/skel |
| ARG HELM_VERSION KUBECTL_VERSION TEA_VERSION TMUX_RECONNECT_VERSION YQ_VERSION |
| |5 HELM_VERSION=v3.16.3 KUBECTL_VERSION=v1.31.4 TEA_VERSION=0.9.2 TMUX_RECONNECT_VERSION=0.2.8 YQ_VERSION=v4.44.3 /bin/sh -c mkdir -p /opt/vsix && curl -fsSL -o "/opt/vsix/tmux-reconnect-${TMUX_RECONNECT_VERSION}.vsix" "https://github.com/arthurzinck/vscode-tmux-reconnect/releases/download/v${TMUX_RECONNECT_VERSION}/tmux-reconnect-${TMUX_RECONNECT_VERSION}.vsix" && chown -R 1000:1000 /opt/vsix |
| USER 1000 |