Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Base container images for Chaitin MonkeyCode developer workflows.

## Base image (bookworm)
- Dockerfile: `docker/base/bookworm/Dockerfile` (Debian bookworm-slim, git/curl/build-essential/python3/gh, en_US.UTF-8 locale, default user root).
- Dockerfile: `docker/base/bookworm/Dockerfile` (Debian bookworm-slim, git/git-lfs/curl/build-essential/python3/gh, Chaitin root CA, en_US.UTF-8 locale, default user root).
- Build locally: `STACK=base VERSION=bookworm ./scripts/build.sh`
- Push to GHCR: `PUSH=true REGISTRY=ghcr.io/chaitin/monkeycode-runner STACK=base VERSION=bookworm ./scripts/build.sh` (needs `docker login ghcr.io`).
- Override apt mirrors by setting `DEBIAN_MIRROR` / `DEBIAN_SECURITY_MIRROR` before building.
Expand All @@ -28,6 +28,7 @@ Base container images for Chaitin MonkeyCode developer workflows.
- **Node.js 22.22.0**: with Corepack (pnpm, yarn enabled)
- **Python 3.11**: with pip (PIP_BREAK_SYSTEM_PACKAGES enabled)
- Pre-installed packages: requests, flask, django, beautifulsoup4, scrapy
- **Git LFS**: inherited from the base image and available as `git-lfs`
- **Diagnostic tools**: htop, iputils-ping, iproute2, wget

### Example Usage:
Expand All @@ -39,6 +40,7 @@ docker run --rm -it -v $(pwd):/workspace ghcr.io/chaitin/monkeycode-runner/devbo
go version # Go 1.25.6
node --version # v22.22.0
python3 --version # 3.11.x
git-lfs --version
npm install # Works with Corepack enabled
python3 -c "import requests; print('requests:', requests.__version__)" # 2.32.5
python3 -c "import flask; print('flask:', flask.__version__)" # 3.1.2
Expand Down
3 changes: 3 additions & 0 deletions docker/base/bookworm/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ ARG DEBIAN_SECURITY_MIRROR="https://security.debian.org/debian-security"

COPY --from=base-ca /etc/ssl/certs/ /etc/ssl/certs/
COPY --from=base-ca /usr/share/ca-certificates/ /usr/share/ca-certificates/
COPY docker/base/bookworm/certs/chaitin-ltd-root-ca.crt /usr/local/share/ca-certificates/chaitin-ltd-root-ca.crt

RUN set -eux; \
printf 'deb %s bookworm main contrib non-free non-free-firmware\n' "${DEBIAN_MIRROR}" > /etc/apt/sources.list; \
Expand All @@ -30,6 +31,7 @@ RUN apt-get update \
locales \
curl \
git \
git-lfs \
gnupg \
build-essential \
pkg-config \
Expand Down Expand Up @@ -58,6 +60,7 @@ RUN apt-get update \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen \
&& update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 \
&& update-ca-certificates \
&& rm -rf /var/lib/apt/lists/*

RUN mkdir -p /workspace
Expand Down
37 changes: 37 additions & 0 deletions docker/base/bookworm/certs/chaitin-ltd-root-ca.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
-----BEGIN CERTIFICATE-----
MIIGfjCCBGagAwIBAgIJAKQholQQn3b0MA0GCSqGSIb3DQEBCwUAMIHLMQswCQYD
VQQGEwJDTjEQMA4GA1UECAwHQmVpamluZzEQMA4GA1UEBwwHQmVpamluZzEtMCsG
A1UECgwkQmVpamluZyBDaGFpdGluIFRlY2hub2xvZ3kgQ28uLCBMdGQuMSowKAYD
VQQLDCFTZXJ2aWNlIEluZnJhc3RydWN0dXJlIERlcGFydG1lbnQxHDAaBgNVBAMM
E0NoYWl0aW4gTHRkIFJvb3QgQ0ExHzAdBgkqhkiG9w0BCQEWEGluZm9AY2hhaXRp
bi5jb20wHhcNMTYwNzIyMDEyOTU2WhcNMzYwNzE3MDEyOTU2WjCByzELMAkGA1UE
BhMCQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxLTArBgNV
BAoMJEJlaWppbmcgQ2hhaXRpbiBUZWNobm9sb2d5IENvLiwgTHRkLjEqMCgGA1UE
CwwhU2VydmljZSBJbmZyYXN0cnVjdHVyZSBEZXBhcnRtZW50MRwwGgYDVQQDDBND
aGFpdGluIEx0ZCBSb290IENBMR8wHQYJKoZIhvcNAQkBFhBpbmZvQGNoYWl0aW4u
Y29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2dTYYnnhzTQOpzZj
OhVpRljaOE7IPfPtIH2Xeveb4q7tMvJ3yfvBe88hLVJGgClyGx8Z5O/N3W4/ruKz
e4zbPfNIj7klBF6tJQpbFCHw3AejVNidYcavf+hR9XJP4bbgIaVUUwAJcTWbxP74
sgkJkibW1g0TjO8nBSo/nu0+OIGpiTQaEadrq72UzfgBa82jmISn96NTJHAIog+g
5oe6Ji3ksXd2VlmesF+/1R+Y1xfxfPJl5VtG5bBZvmITg371F+ucOHJdxkozPQSV
DAmqCCZtkgi2W/5ThpW+OpsVR6MbCXEbr2wzelnnxFAL+oPwgzqh4JLBj/2AOTKW
8/c8h2zL/sZdQXD2j7N4avrLi6AM1ZG/RHxgETTzpLXRn2qRK8aTT2hLQGxi0/d6
YB5Y1LUXiZR6J+8YGAZbTX4bArGLhGpy4p0a+IZeG5sMyfFy4fE4iTWIDWPWznGX
n7E+GNr4jK/dDILWxyNv9fZnWXhYUZAb8s/ZSp89e+pnePAvy192jGGebCeN4s4w
p4i2pFIeaIxl0Prff/SjNFsqAVW3Kqoua4VmxpYRnspy1vIyrkubkuE2Oe8VQiLD
LxIAJTWRF4O/88b0n09ZFTVo07uNE6cE2Z08rAQDE+trQHfwHht56/AyMBGTBZU/
G1OR3exQ/A0iZJ43pCSZ9B6eU68CAwEAAaNjMGEwHQYDVR0OBBYEFBDCKLRt3Ocv
MwFeWxCHJJge8MRWMB8GA1UdIwQYMBaAFBDCKLRt3OcvMwFeWxCHJJge8MRWMA8G
A1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4IC
AQDKGNkvFONlQAyBJTb4UX3YgURP+kiM0yfOEIQwy2759kA2xTYNqhfcmCQ+oujI
Ljdj50H7cBCSHVOnTxRSd47rnPkF+/nkkutdTuhvdtcm2ZxnosnRRtLitZYrrUq7
OFgeaR1dApvV5mGmXDqJWwG91TVO/E9PjIux9QuITc1QH6SydZYgJvMzXv6qpwHg
LAw9kwTrIEgR/o1u+Ej7UjHUXXD14VBBMEE66TbJz61zqPcmFPiAHvxVrTqQxU8U
xFqcZpgWx3iSEPd7X+CRNaRhltSZkJshh2hRT2F3UyCYqONJh2oNO7rI6u+Knj5O
IiRNfb5DPR+xqHJ7tk8oQT53qWo3yiKoS6qIYIZscq+8g4zhDEhzHEFmT0eW7KSZ
h1qmGP/ipo34P3su66sjhfzcq3jWOGl430ZiuchGK59P00rtnWBXY8ROI1RqF4r1
rbxL61ncmZxFH/k/wdxeJIMLpSeXVcK6CylkvR1SB0wpT0LCx/F6bHyAi/J2+3tA
T4toQr/IuS282wEZNrIXGb6H3+1ua/FbCXexj/wG1UAy+Wp+mkc3JqvuJ4+B+bx1
P59JfuJhu47Fi0HIXmlrCxn76D0VNniWNwYnqjR4jpkZiy7NyVMAuJTiXgHGnI6e
IN/bXNXf9TdIzad4Wg2/FUY5C3UEdLa4DzcgWl8d1F8AMw==
-----END CERTIFICATE-----
Loading