Docker Images
Stout implements the full OCI Distribution spec.
Push source, get a signed container image. Works with docker pull.
Configure Your Client
Log in to your Stout instance:
# Production
docker login registry.stout.io -u token -p $STOUT_TOKEN
# Local development (insecure registry)
docker login localhost:7888 -u token -p $STOUT_TOKEN
For local development, add localhost:7888 to the
insecure-registries list in your Docker daemon config.
Pull an Image
docker pull registry.stout.io/myorg/my-image:1.2.0 Publish an Image
Stout builds images from source — you don't push pre-built images. Submit a build via the API:
curl -X POST https://registry.stout.io/api/v1/builds \
-H "Authorization: Bearer $STOUT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"format": "oci",
"repo": "https://github.com/myorg/my-image",
"version": "1.2.0"
}' Stout clones the repo, builds with the Dockerfile, scans for vulnerabilities, signs with Sigstore, generates an SBOM, and pushes the manifest to the registry.
Authentication
Docker stores credentials after docker login. For CI environments,
use the --password-stdin flag:
echo $STOUT_TOKEN | docker login registry.stout.io -u token --password-stdin Endpoints
| Method | Path | Description |
|---|---|---|
GET | /v2/ | API version check |
GET | /v2/{name}/manifests/{ref} | Fetch manifest by tag or digest |
GET | /v2/{name}/blobs/{digest} | Download layer blob |
GET | /v2/{name}/tags/list | List tags |