Skip to content

Chisel Ubuntu Axum

Shared chiseled Ubuntu 24.04 runtime base image for all KBVE Axum services.

Chisel is a tool from Canonical that slices Ubuntu packages into minimal filesystem layers. Instead of a full Ubuntu image (~80MB+), chisel extracts only the exact files needed — resulting in a scratch-based image with just the runtime libraries.

  • Chiseled Ubuntu 24.04 rootfs — minimal, no shell, no package manager
  • jemalloc — memory allocator pre-configured via LD_PRELOAD
  • libpq5 — PostgreSQL client library
  • CA certificates — for HTTPS/TLS connections
  • Non-root userappuser:10001

Service Dockerfiles reference this as their runtime base:

FROM ghcr.io/kbve/chisel-ubuntu-axum:24.04 AS runtime
COPY --from=builder --chown=10001:10001 /app/target/release/my-service /app/my-service
EXPOSE 4321
USER 10001:10001
ENTRYPOINT ["/app/my-service"]

This eliminates ~3 Docker stages (chisel + jemalloc + libpq) from each service Dockerfile, saving build time and disk space in CI.

ServiceStatus
axum-discordshplanned
axum-kbveplanned
axum-memesplanned
axum-herbmailplanned
axum-chuckrpgplanned
axum-cryptothroneplanned