| # debian.sh --arch 'amd64' out/ 'trixie' '@1785715200' |
| 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 procps && 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 |
| ARG HELM_VERSION KUBECTL_VERSION OPENBAO_VERSION TEA_VERSION YQ_VERSION |
| |5 HELM_VERSION=v3.16.3 KUBECTL_VERSION=v1.31.4 OPENBAO_VERSION=2.5.3 TEA_VERSION=0.9.2 YQ_VERSION=v4.44.3 /bin/sh -c curl -fsSL -o /tmp/openbao.deb "https://github.com/openbao/openbao/releases/download/v${OPENBAO_VERSION}/openbao_${OPENBAO_VERSION}_linux_amd64.deb" && dpkg-deb --fsys-tarfile /tmp/openbao.deb | tar -x -C / ./usr/bin/bao && rm -f /tmp/openbao.deb && chmod 0755 /usr/bin/bao && bao version |
| COPY file:29ddfdf294b08432224c7593cb5310fd3406bcf963b3d949fd9c6a07c4ac950c in /usr/local/bin/agent |
| COPY file:539f9746f2bc16b5064f88efdcb00c7143468d3161fd348fb41a564b0284b558 in /usr/local/bin/card-runner |
| COPY file:78decc205a8413be6397829097741029620ab044119e6219160f4e9399a10302 in /usr/local/bin/bao-login |
| COPY file:7c35126dc03736d48b8c58b725d6c62766a49b9bcb50e56e0dff19808a07fbf6 in /usr/local/bin/agent-key |
| COPY file:bab0fbe20b1062710cd266d7eaa63c02d125794b6f94dff9b4ef0baccff3aa95 in /usr/local/bin/agent-creds |
| COPY file:2147cc2d7524ce6daa7723408980a37f6f7de1abddfae4f8de8f65462b36c683 in /usr/local/bin/apply-editor-policy |
| COPY file:7c65729f58b0bd6631bcfce2404cf066544f794254968b3b6d5b05e32a24bddd in /usr/local/bin/seed-claude-onboarding |
| COPY multi:59d0ee6e373001934e21a73bb1ab1031f3e14e925fa6fa0b9d079be0884440a7 in /usr/local/share/justshipit/ |
| |5 HELM_VERSION=v3.16.3 KUBECTL_VERSION=v1.31.4 OPENBAO_VERSION=2.5.3 TEA_VERSION=0.9.2 YQ_VERSION=v4.44.3 /bin/sh -c chmod 0755 /usr/local/bin/agent /usr/local/bin/card-runner /usr/local/bin/bao-login /usr/local/bin/agent-key /usr/local/bin/agent-creds /usr/local/bin/apply-editor-policy /usr/local/bin/seed-claude-onboarding |
| ENV TMUX_TMPDIR=/home/coder/.tmux |
| COPY file:a4527298e0293288e0924ca470015d5e5c2b102002064521a36a805f866cf339 in /tmp/bashrc-hook.sh |
| |5 HELM_VERSION=v3.16.3 KUBECTL_VERSION=v1.31.4 OPENBAO_VERSION=2.5.3 TEA_VERSION=0.9.2 YQ_VERSION=v4.44.3 /bin/sh -c cat /tmp/bashrc-hook.sh >> /etc/bash.bashrc && rm /tmp/bashrc-hook.sh |
| COPY file:cafe9282a9754b38c3f5361fca41adbbc85c7ecb83f468ad0a2f6abcabf370c2 in /opt/skel/.tmux.platform.conf |
| COPY file:b1be994bc59dc335d3142fe6c729e59e080511855edc27e0798cb6530e4ebf58 in /opt/skel/.tmux.conf |
| COPY file:a90f6fc508eb8552caf9ee25ac54b61950f1dc61fd65fd09725027b36194cdb4 in /opt/skel/.local/share/code-server/User/settings.json |
| COPY file:033226b93dc4864dbdf91e072c9c166cb3c16875bbd923317042e33a48b5783d in /usr/local/share/justshipit/code-server-policy.json |
| |5 HELM_VERSION=v3.16.3 KUBECTL_VERSION=v1.31.4 OPENBAO_VERSION=2.5.3 TEA_VERSION=0.9.2 YQ_VERSION=v4.44.3 /bin/sh -c chown -R 1000:1000 /opt/skel |
| ARG HELM_VERSION KUBECTL_VERSION OPENBAO_VERSION TEA_VERSION TMUX_RECONNECT_VERSION YQ_VERSION |
| |6 HELM_VERSION=v3.16.3 KUBECTL_VERSION=v1.31.4 OPENBAO_VERSION=2.5.3 TEA_VERSION=0.9.2 TMUX_RECONNECT_VERSION=0.3.0 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 |