On this page
Running
Prerequisites
CockroachDB, RabbitMQ, and MinIO must be reachable before the service is useful. The service retries database migrations on startup with exponential backoff, so it tolerates a briefly unavailable database.
These dependencies are managed by stand-infra. Run
docker compose upthere first.
Development
Requires .NET 8 SDK.
Create an appsettings.local.json file at the project root (see Configuration) then run:
dotnet run --project src/JobSvc
The API listens on http://localhost:5000 by default (configurable via ASPNETCORE_URLS).
Docker
Images are published to the GitHub Container Registry on each release.
docker pull ghcr.io/association-ephemere/job-svc:latest
docker run \
-e ConnectionStrings__Postgres="Host=<host>;Port=26257;Database=photostand;Username=root;SSL Mode=Disable" \
-e RabbitMq__Uri="amqp://guest:guest@<host>:5672" \
-e MinIO__Endpoint="<host>:9000" \
-e MinIO__AccessKey=<access-key> \
-e MinIO__SecretKey=<secret-key> \
-e MinIO__Bucket=photostand \
-p 8080:8080 \
ghcr.io/association-ephemere/job-svc:latest
On Windows with Docker Desktop, use host.docker.internal to reach services running on the host machine:
-e ConnectionStrings__Postgres="Host=host.docker.internal;Port=26257;..."
Run tests
dotnet test