forked from Hmbown/CodeWhale
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.toolbox
More file actions
29 lines (25 loc) · 1.14 KB
/
Copy pathDockerfile.toolbox
File metadata and controls
29 lines (25 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 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