Initial release

Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
This commit is contained in:
2026-09-27 17:56:09 +01:00
parent e1074d6528
commit ba7f1634ce
3 changed files with 73 additions and 22 deletions
+69
View File
@@ -0,0 +1,69 @@
FROM debian:bookworm-slim AS base
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
# ─── Common CLI tools ───────────────────────────────────────────
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
jq \
less \
openssh-client \
procps \
sudo \
tar \
tzdata \
unzip \
wget \
xz-utils \
&& rm -rf /var/lib/apt/lists/*
# ─── Python 3 ---────────────────────────────────────────────────
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
python3-venv \
python3-dev \
python3-pip \
pipx \
libffi-dev \
&& pip install --break-system-packages pipenv uv \
&& rm -rf /var/lib/apt/lists/*
# ─── Node.js 22 LTS (NodeSource) ────────────────────────────────
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
apt-get install -y --no-install-recommends nodejs && \
rm -rf /var/lib/apt/lists/*
# ─── Go 1.26 ────────────────────────────────────────────────────
ARG GO_VERSION=1.26.8
ARG TARGETARCH=amd64
RUN case "$TARGETARCH" in \
amd64|arm64) GOOS="linux"; GOARCH="$TARGETARCH" ;; \
*) GOOS="linux"; GOARCH="amd64" ;; \
esac && \
curl -fsSL --retry 3 "https://go.dev/dl/go${GO_VERSION}.${GOOS}-${GOARCH}.tar.gz" \
-o /tmp/go.tar.gz && \
tar -C /usr/local -xzf /tmp/go.tar.gz && \
rm /tmp/go.tar.gz
ENV PATH="/usr/local/go/bin:/root/go/bin:/usr/local/bin:${PATH}"
RUN go version
# ─── Docker CLI ──────────────────────────────────────────────────
ARG DOCKER_CLI_VERSION=29.8.1
RUN case "$TARGETARCH" in \
amd64) DOCKER_ARCH="x86_64" ;; \
arm64) DOCKER_ARCH="aarch64" ;; \
*) DOCKER_ARCH="x86_64" ;; \
esac && \
curl -fsSL --retry 3 "https://download.docker.com/linux/static/stable/${DOCKER_ARCH}/docker-${DOCKER_CLI_VERSION}.tgz" \
-o /tmp/docker.tgz && \
tar -C /usr/local/bin -xzf /tmp/docker.tgz docker/docker && \
rm /tmp/docker.tgz
# ─── Cleanup ────────────────────────────────────────────────────
RUN rm -rf /var/lib/apt/lists/* \
/tmp/* \
/var/tmp/*
+1 -1
View File
@@ -1,6 +1,6 @@
.DEFAULT_GOAL := default
IMAGE ?= rg.fr-par.scw.cloud/averagemarcus-private/hermes-sandbox-image:latest
IMAGE ?= rg.fr-par.scw.cloud/averagemarcus/hermes-sandbox-image:latest
.PHONY: test # Run all tests, linting and format checks
test: lint check-format run-tests
+3 -21
View File
@@ -4,27 +4,9 @@ A backend sandbox image with tooling for use by Hermes agents
## Features
## Install
```sh
```
## Building from source
With Docker:
```sh
make docker-build
```
Standalone:
```sh
make build
```
## Resources
* Python
* NodeJS
* Golang
## Contributing