···14511451- `SPINDLE_SERVER_LISTEN_ADDR`: The address the server listens on (default: `"0.0.0.0:6555"`).
14521452- `SPINDLE_SERVER_DB_PATH`: The path to the SQLite database file (default: `"spindle.db"`).
14531453- `SPINDLE_SERVER_HOSTNAME`: The hostname of the server (required).
14541454+- `SPINDLE_SERVER_ADMIN_PASSWORD`: The password for the `/admin` endpoints used by `spindle admin allow|block` to manage members. When unset, the `/admin` endpoints are not mounted at all (default: `""`).
14541455- `SPINDLE_SERVER_JETSTREAM_ENDPOINT`: The endpoint of the Jetstream server (default: `"wss://jetstream1.us-west.bsky.network/subscribe"`).
14551456- `SPINDLE_SERVER_DEV`: A boolean indicating whether the server is running in development mode (default: `false`).
14561457- `SPINDLE_SERVER_INVITE_ONLY`: A boolean indicating whether only members of this spindle may register repos. When `false`, the spindle accepts repos from anyone on the network (default: `true`).
···15401541 ```
1541154215421543Spindle will now start, connect to the Jetstream server, and begin processing pipelines.
15441544+15451545+### Managing members
15461546+15471547+An invite-only spindle (the default, see `SPINDLE_SERVER_INVITE_ONLY`) only
15481548+accepts repos whose owner is a member. Members are managed over the `/admin`
15491549+endpoints, which authenticate with `SPINDLE_SERVER_ADMIN_PASSWORD`:
15501550+15511551+```shell
15521552+export SPINDLE_SERVER_ADMIN_PASSWORD="your-admin-password"
15531553+spindle admin --url http://localhost:6555 allow did:plc:examplemember
15541554+spindle admin --url http://localhost:6555 block did:plc:examplemember
15551555+```
15561556+15571557+Blocking keeps the DID on record and denies it, so a blocked DID stays blocked
15581558+until you allow it again.
15591559+15601560+If `SPINDLE_SERVER_ADMIN_PASSWORD` is unset the spindle still starts, but the
15611561+`/admin` endpoints are not mounted (they return 404) and `spindle admin` cannot
15621562+be used, so set it if you run an invite-only spindle.
1543156315441564### Running microVM workflows
15451565
···299299 description = ''
300300 Additional environment file as defined in {manpage}`systemd.exec(5)`.
301301302302- Sensitive secrets such as {env}`AWS_SECRET_ACCESS_KEY`,
302302+ Sensitive secrets such as {env}`SPINDLE_SERVER_ADMIN_PASSWORD`
303303+ (without it the `/admin` member management endpoints are not mounted),
304304+ {env}`AWS_SECRET_ACCESS_KEY`,
303305 {env}`AWS_ACCESS_KEY_ID`, {env}`AWS_REGION`
304306 may be passed to the service
305307 without making them world readable in the nix store.