Docker
Run stubIdP as a container using the provided Dockerfile or a pre-built image. The server listens on port 8484.
Quick start
Section titled “Quick start”docker run --rm \ -p 8484:8484 \ -e STUBIDP_CLIENT_ID=web-app \ -e STUBIDP_CLIENT_SECRET=web-app-secret \ -e STUBIDP_REDIRECT_URI=http://localhost:8080/callback \ cerberauth/stubidpDiscovery URL: http://localhost:8484/.well-known/openid-configuration
Build from source
Section titled “Build from source”-
Clone the repository and build the image:
Terminal window git clone https://github.com/cerberauth/stubidp.gitcd stubidpdocker build -t stubidp . -
Run the container:
Terminal window docker run --rm \-p 8484:8484 \-e STUBIDP_REDIRECT_URI=http://localhost:8080/callback \stubidpSTUBIDP_CLIENT_IDandSTUBIDP_CLIENT_SECRETare optional. When omitted, a human-readable ID and a secure random secret are generated and printed in the startup log.
Docker Compose
Section titled “Docker Compose”Add stubIdP as a service alongside your application:
services: idp: image: cerberauth/stubidp ports: - '8484:8484' environment: STUBIDP_CLIENT_ID: web-app STUBIDP_CLIENT_SECRET: web-app-secret STUBIDP_REDIRECT_URI: http://localhost:8080/callback
app: build: . ports: - '8080:8080' environment: STUBIDP_ISSUER: http://idp:8484 STUBIDP_CLIENT_ID: web-app STUBIDP_CLIENT_SECRET: web-app-secret depends_on: - idpEnvironment variables
Section titled “Environment variables”All configuration options are available as environment variables:
| Variable | Description |
|---|---|
STUBIDP_CLIENT_ID | OAuth 2.0 client ID (auto-generated if omitted) |
STUBIDP_CLIENT_SECRET | OAuth 2.0 client secret (auto-generated if omitted) |
STUBIDP_REDIRECT_URI | Allowed redirect URI |
STUBIDP_ISSUER | Override the issuer URL (defaults to http://localhost:8484) |
STUBIDP_PORT | HTTP port to listen on (default: 8484) |
STUBIDP_DATABASE_DIALECT | sqlite or postgres (default: in-memory) |
STUBIDP_DATABASE_URL | Connection string for SQLite or PostgreSQL |
Persistent storage
Section titled “Persistent storage”By default stubIdP uses an in-memory store that is wiped on restart. To persist sessions and tokens across restarts, mount a volume and use SQLite:
docker run --rm \ -p 8484:8484 \ -v $(pwd)/data:/data \ -e STUBIDP_REDIRECT_URI=http://localhost:8080/callback \ -e STUBIDP_DATABASE_DIALECT=sqlite \ -e STUBIDP_DATABASE_URL=/data/stubidp.db \ cerberauth/stubidp