A cloud-native Docker/OCI container registry built in Rust with multi-tenancy, zero-trust authentication, and pull-through caching.
docker run -d -p 5000:5000 bwalia/nebulacr:latest
Then push an image:
docker tag nginx:latest localhost:5000/myorg/nginx:latest
docker push localhost:5000/myorg/nginx:latest
| Tag | Description |
|---|---|
latest | Latest stable release |
vX.Y.Z | Specific version |
edge | Latest development build from main |
services:
registry:
image: bwalia/nebulacr:latest
command: ["nebula-registry"]
ports:
- "5000:5000"
- "9090:9090"
environment:
NEBULACR_STORAGE__BACKEND: filesystem
NEBULACR_STORAGE__ROOT: /var/lib/nebulacr/data
NEBULACR_AUTH__VERIFICATION_KEY_PATH: /etc/nebulacr/keys/public.pem
volumes:
- registry-data:/var/lib/nebulacr/data
See the full docker-compose.yml for a complete setup with auth and key generation.
helm install nebulacr oci://ghcr.io/bwalia/charts/nebulacr \
--namespace nebulacr --create-namespace
| Port | Service |
|---|---|
| 5000 | OCI Registry API |
| 5001 | Auth / Token service |
| 9090 | Prometheus metrics |
| Variable | Default | Description |
|---|---|---|
NEBULACR_STORAGE__BACKEND | filesystem | Storage backend (filesystem, s3, gcs, azure) |
NEBULACR_STORAGE__ROOT | /var/lib/nebulacr/data | Filesystem storage root |
NEBULACR_SERVER__LISTEN_ADDR | 0.0.0.0:5000 | Registry listen address |
NEBULACR_AUTH__VERIFICATION_KEY_PATH | -- | Path to JWT public key |
RUST_LOG | info | Log level |
Apache-2.0
Content type
Image
Digest
sha256:046ccc8ed…
Size
55.2 MB
Last updated
5 months ago
docker pull bwalia/nebulacr:1e4aea9