Files
hmbown--codewhale/docs/examples/Dockerfile.toolbox
T
wehub-resource-sync d68f003000
CI / Change detection (push) Has been cancelled
CI / Version drift (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Workflow RLM cache (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / npm wrapper smoke (push) Has been cancelled
CI / Mobile runtime smoke (push) Has been cancelled
CI / Workflow lint (push) Has been cancelled
CI / Documentation (push) Has been cancelled
Web Frontend / Lint & Type Check (push) Failing after 1s
Auto-close harvested PRs / close (push) Failing after 1s
cargo-deny / cargo-deny (bans licenses sources) (push) Failing after 1s
Security audit / cargo-audit (push) Failing after 1s
Sync to CNB / sync (push) Failing after 1s
Web Frontend / Deploy to Cloudflare (push) Waiting to run
cargo-deny / cargo-deny (advisories) (push) Failing after 3s
chore: import upstream snapshot with attribution
2026-07-13 12:08:23 +08:00

30 lines
1.1 KiB
Docker

# syntax=docker/dockerfile:1
#
# Opt-in CodeWhale toolbox image.
#
# The published ghcr.io/hmbown/codewhale:latest image intentionally stays
# minimal, non-root, and without passwordless sudo. Use this Dockerfile only for
# workspaces where you deliberately want package installation, custom CA setup,
# or project-specific build tools inside the container.
#
# Example:
# docker build -f docs/examples/Dockerfile.toolbox \
# --build-arg CODEWHALE_IMAGE=ghcr.io/hmbown/codewhale:vX.Y.Z \
# --build-arg TOOLBOX_PACKAGES="git openssh-client curl build-essential pkg-config python3 python3-pip nodejs npm" \
# -t codewhale-toolbox:my-project .
ARG CODEWHALE_IMAGE=ghcr.io/hmbown/codewhale:latest
FROM ${CODEWHALE_IMAGE}
USER root
ARG TOOLBOX_PACKAGES="git openssh-client curl build-essential pkg-config python3 python3-pip nodejs npm"
RUN apt-get update \
&& apt-get install -y --no-install-recommends sudo ${TOOLBOX_PACKAGES} \
&& rm -rf /var/lib/apt/lists/* \
&& printf '%s\n' 'codewhale ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/codewhale-nopasswd \
&& chmod 0440 /etc/sudoers.d/codewhale-nopasswd
USER codewhale
WORKDIR /workspace