Self-hosted OAuth 2.0 + OpenID Connect identity platform for multi-tenant SaaS.
1.0K
Self-hosted OAuth 2.0 + OpenID Connect identity platform for multi-tenant SaaS.
A ship-yourself alternative to Auth0 / Okta / Clerk that you fully own — your users' data never leaves your own infrastructure. Built with .NET 8, one image, no external services required to start.
docker run -d \
-p 5000:5000 -p 5443:5443 \
-v $(pwd)/App_Data:/app/App_Data \
--name loginlink \
websvcin/loginlink:latest
Open http://localhost:5000. Three demo accounts are seeded automatically on first boot:
| Surface | URL | Login |
|---|---|---|
| Platform admin | /admin/login | admin@local / Admin@123 |
| Tenant console | /console/login | acme@local / Acme@123 |
| End user | /login | user@local / User@123 |
Change these before exposing the container to the internet.
App_Data (mounted above) is the entire persistence story — host.db, platform.db, every tenant's own isolated tenant_<id>.db, and self-updating GeoLocation/IP-intelligence data all live under that one directory. Mount it once; nothing else needs to survive a restart.
client_credentials API keys per tenant for scripting users/roles/apps, plus SCIM for provisioning-tool sync.POST /api/v1/tenants) — useful when embedding LoginLink as another product's identity layer.| Tag | What it is |
|---|---|
latest | Most recent build off main |
1.0 | Latest build in the 1.0 series |
1.0.N | A specific, reproducible build |
An exact X.Y.Z | Built from a pushed vX.Y.Z git tag |
ghcr.io/websvcin/loginlinkSource-available; see the repository for current license status.
Content type
Image
Digest
sha256:8656a14ef…
Size
118.1 MB
Last updated
1 day ago
docker pull websvcin/loginlink