A powerhouse Ubuntu 24.04 Docker image meticulously optimized for AI agents, developers, and automation workflows. It provides a "batteries-included" environment for the Hermes Agent and other Docker-based agent backends.
docker pull ghcr.io/nyrest/astrum-agent-runtime:latestAvailable image flavors:
ghcr.io/nyrest/astrum-agent-runtime:latest→ full image (same toolset as before)ghcr.io/nyrest/astrum-agent-runtime:full→ explicit full tagghcr.io/nyrest/astrum-agent-runtime:lite→ slimmer image without giant document/font toolchains like LibreOffice, LaTeX, and the extra font packs
Run the setup TUI to configure your environment:
hermes setup terminal- Select Docker as the backend.
- Use
ghcr.io/nyrest/astrum-agent-runtime:latestas the Docker image.
To mirror the production environment manually:
docker run --rm -it \
-v "$HOME/.hermes/sandboxes/docker/default/home:/root" \
-v "$HOME/.hermes/sandboxes/docker/default/workspace:/workspace" \
ghcr.io/nyrest/astrum-agent-runtime:latestOn Windows (PowerShell):
docker run --rm -it `
-v "${HOME}/.hermes/sandboxes/docker/default/home:/root" `
-v "${HOME}/.hermes/sandboxes/docker/default/workspace:/workspace" `
ghcr.io/nyrest/astrum-agent-runtime:latestThis repository now keeps the runtime's fast-moving package versions in checked-in manifests:
versions/tool-versions.env— pinned versions and SHA-256 digests for curl-downloaded toolsversions/bun-global-packages.txt— exact Bun-installed global npm packagesversions/npm-global-packages.txt— exact npm-installed global packagesversions/python-requirements.txt— exact Python package pins foruv pip install
The Docker build uses only pinned release URLs or SHA-verified downloads for Bun, uv, AWS CLI, cloudflared, DuckDB, yt-dlp, hadolint, websocat, and oxipng. The publish workflow also emits SBOM + provenance attestations and signs pushed images with Cosign.
Two image flavors are published from the same Dockerfile:
- full — the original batteries-included image with document suites, large font packs, and LaTeX tooling
- lite — keeps the core agent/dev/runtime stack but omits the heaviest document/font packages to reduce image size
The first table below describes the shared baseline available in both image flavors.
| Category | Key Tools & Packages |
|---|---|
| Runtimes | Node.js 24, Python 3.13 (uv), Bun, Go SDK |
| Package Managers | npm, pnpm, yarn, bun, uv, pip, pipx |
| Web & API CLIs | vercel, wrangler (Cloudflare), gemini (Google), gws (Google Workspace), lark-cli (Feishu), mermaid-cli (mmdc) |
| Python Libraries | requests, httpx, pydantic, pandas, numpy, beautifulsoup4, ruff, duckdb |
| Document Processing | pandoc, officecli, pypdf, pdfplumber, python-docx, openpyxl, python-pptx |
| Database Clients | PostgreSQL, MySQL, Redis, SQLite, DuckDB, Neon (neonctl) |
| Network Tools | curl, wget, aria2, nmap, cloudflared, HTTPie (http), websocat, socat, sshpass |
| Cloud & DevOps | aws-cli, gh (GitHub CLI), git-lfs, rclone, hadolint, shellcheck |
| Multimedia | ffmpeg, yt-dlp, ImageMagick, exiftool, oxipng |
| Text & Data Utils | jq, yq, rg (ripgrep), fd, mlr (miller), csvkit, tmux |
| Build Essentials | gcc, g++, clang, cmake, ninja, make, gdb, lldb, strace |
| Compression | zip, unzip, 7z, tar, zstd, unrar |
| Data Science & Viz | JupyterLab, Notebook, matplotlib, seaborn, scipy, pillow, imageio |
Full-only packages:
| Category | Key Tools & Packages |
|---|---|
| Office Suite | LibreOffice (Headless), libreoffice-writer, libreoffice-calc, libreoffice-impress |
| Java Runtime | Java (JRE Headless), libreoffice-java-common |
| Fonts | Noto CJK, Noto CJK Extra, Noto Color Emoji, Noto Core, Liberation, DejaVu, CMU, STIX, TeX Gyre |
| LaTeX & Academic | latexmk, biber, chktex, lacheck, pygmentize, lualatex, xelatex, pdflatex |
Optimized for the Hermes Agent Docker backend.
terminal:
backend: docker
docker_image: ghcr.io/nyrest/astrum-agent-runtime:latest
docker_forward_env:
- TZ
- GITHUB_TOKEN
- GEMINI_API_KEY
- OPENAI_API_KEY
- ANTHROPIC_API_KEYUse :latest/:full for the current batteries-included environment, or switch docker_image to ghcr.io/nyrest/astrum-agent-runtime:lite for a smaller base image.
Common variables to forward for specific use cases:
| Service | Variables |
|---|---|
| GitHub | GITHUB_TOKEN, GH_TOKEN |
| AI Providers | GEMINI_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY, HF_TOKEN |
| Cloud | VERCEL_TOKEN, CLOUDFLARE_API_TOKEN, AWS_ACCESS_KEY_ID |
| Databases | DATABASE_URL, PGPASSWORD, MYSQL_PWD |
- Base Image:
ubuntu:24.04 - Locales:
en_US.UTF-8 - Workdir:
/workspace - Browsers: Playwright is installed, but browser binaries (Chromium/Firefox) are not pre-included to keep image size manageable. Use
playwright installif needed at runtime. - License: MIT
docker build -t astrum-agent-runtime:full --build-arg RUNTIME_FLAVOR=full .
docker build -t astrum-agent-runtime:lite --build-arg RUNTIME_FLAVOR=lite .Run the built-in verification script to ensure all critical tools are operational:
docker run --rm astrum-agent-runtime:full verify-runtime
docker run --rm astrum-agent-runtime:lite verify-runtimeEvery push to main (excluding README changes) triggers a GitHub Actions workflow that builds and pushes both image flavors:
ghcr.io/nyrest/astrum-agent-runtime:latestandghcr.io/nyrest/astrum-agent-runtime:fullghcr.io/nyrest/astrum-agent-runtime:liteghcr.io/nyrest/astrum-agent-runtime:full-YYYYMMDD-shortshaghcr.io/nyrest/astrum-agent-runtime:lite-YYYYMMDD-shortsha
The published images are signed with Cosign and ship with BuildKit-generated provenance + SBOM attestations.