Public container images built with signed, reproducible CI.
Every image is built by GitHub Actions, signed with
cosign (keyless OIDC), and published
with SLSA build provenance + SBOM to
ghcr.io/aris1009/<image>.
| Image | Contents |
|---|---|
caddy |
Caddy with caddy-dns/cloudflare and mholt/caddy-ratelimit plugins baked in. |
claude-runner |
node:22-slim + @anthropic-ai/claude-code CLI; non-root node user; ENTRYPOINT ["claude"]. |
file-scanner |
Alpine + clamav (clamdscan client) + inotify-tools + generic watcher script; pairs with a separate clamd container. |
gluetun |
VPN client rebuilt from pinned qdm12/gluetun source; mirrors upstream runtime verbatim (alpine + openvpn 2.5/2.6 dual install). |
spiderfoot |
OSINT scanner rebuilt from pinned smicallef/spiderfoot source (no official registry image). |
<upstream-version>— floating; tracks the most recent build onmainfor that upstream version.<upstream-version>-r<N>— immutable per build;Nisgithub.run_number, monotonic across the whole repo. Shared across matrix jobs in a run, socaddy:2.11.2-r150andgluetun:3.41.1-r150were built together.sha-<short>— immutable; for forensics.latest— most recent build onmain(convenience only; pin by digest for production).
Images are multi-arch (linux/amd64, linux/arm64); the tag resolves to a manifest list. cosign sign --recursive signs both the index and the per-platform sub-manifests.
Always consume images by digest:
ghcr.io/aris1009/<image>:<tag>@sha256:<digest>
Renovate can track and auto-bump these pins.
- On push to
mainwhen files under<image>/change (path-filtered matrix). - Weekly cron (base-image + CVE refresh).
- On demand via
workflow_dispatch(choose image orall).
<image>/
Dockerfile
VERSION # Renovate-tracked upstream version (also passed as --build-arg VERSION)
VERSION=$(grep -v '^\s*#' <image>/VERSION | tr -d ' \n')
podman build --build-arg VERSION="$VERSION" -t <image>:dev <image>/cosign verify ghcr.io/aris1009/<image>@sha256:<digest> \
--certificate-identity-regexp 'https://github.com/aris1009/images/.+' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com