# MCR Metacircular Container Registry -- an OCI Distribution Spec-compliant container registry for the Metacircular platform. MCR stores and serves container images with authentication delegated to MCIAS and a local policy engine for fine-grained access control. Metadata is stored in SQLite; blobs are stored as content-addressed files on the filesystem. ## Quick Start Build the binaries: ```bash make all ``` This produces three binaries: | Binary | Purpose | |--------|---------| | `mcrsrv` | Registry server (OCI + admin REST + gRPC) | | `mcr-web` | Web UI (htmx, communicates with mcrsrv via gRPC) | | `mcrctl` | Admin CLI | Copy and edit the example configuration: ```bash cp deploy/examples/mcr.toml /srv/mcr/mcr.toml # Edit TLS paths, database path, storage paths, MCIAS URL ``` Run the server: ```bash ./mcrsrv server --config /srv/mcr/mcr.toml ``` The server starts two listeners: | Port | Protocol | Purpose | |------|----------|---------| | 8443 | TCP | HTTPS -- OCI Distribution endpoints + admin REST API | | 9443 | TCP | gRPC admin API (TLS, MCIAS auth) | Run the web UI: ```bash ./mcr-web server --config /srv/mcr/mcr.toml ``` | Port | Protocol | Purpose | |------|----------|---------| | 8080 | TCP | HTTP -- web UI (repository browsing, policy management) | ## Documentation - [ARCHITECTURE.md](ARCHITECTURE.md) -- full technical specification, OCI compliance details, database schema, policy engine, and security model. - [RUNBOOK.md](RUNBOOK.md) -- operational procedures, health checks, backup/restore, incident response, and MCP deployment. - [CLAUDE.md](CLAUDE.md) -- context for AI-assisted development.