# StellaOps Authority Container Scaffold This directory provides a distroless Dockerfile and `docker-compose` sample for bootstrapping the Authority service alongside MongoDB (required) and Redis (optional). ## Prerequisites - Docker Engine 25+ and Compose V2 - .NET 10 preview SDK (only required when building locally outside of Compose) - Populated Authority configuration at `etc/authority.yaml` and plugin manifests under `etc/authority.plugins/` ## Usage ```bash # 1. Ensure configuration files exist (copied from etc/authority.yaml.sample, etc/authority.plugins/*.yaml) # 2. Build and start the stack docker compose -f ops/authority/docker-compose.authority.yaml up --build ``` `authority.yaml` is mounted read-only at `/etc/authority.yaml` inside the container. Plugin manifests are mounted to `/app/etc/authority.plugins`. Update the issuer URL plus any Mongo credentials in the compose file or via an `.env`. To run with pre-built images, replace the `build:` block in the compose file with an `image:` reference. ## Volumes - `mongo-data` – persists MongoDB state. - `redis-data` – optional Redis persistence (enable the service before use). - `authority-keys` – writable volume for Authority signing keys. ## Environment overrides Key environment variables (mirroring `StellaOpsAuthorityOptions`): | Variable | Description | | --- | --- | | `STELLAOPS_AUTHORITY__ISSUER` | Public issuer URL advertised by Authority | | `STELLAOPS_AUTHORITY__PLUGINDIRECTORIES__0` | Primary plugin binaries directory inside the container | | `STELLAOPS_AUTHORITY__PLUGINS__CONFIGURATIONDIRECTORY` | Path to plugin manifest directory | For additional options, see `etc/authority.yaml.sample`.