OAuth 2.0 / OpenID Connect provider and identity management with Hydra and Kratos
CIS Level 1 hardened Ubuntu 24.04 LTS image by Lynxroute · unique credentials at first boot · CVE-scanned · SBOM and CIS report inside
| Cloud | Version | Software price | Last build | |
|---|---|---|---|---|
| AWS Marketplace EC2 AMI · all commercial regions | 26.2.0 | $0.05/hr Recommended instance: t3.large · 5-day free trial | 2026-09-04 | Listing ↗ |
| Azure Marketplace VM image · plan payg-gen2 · Gen2 | 26.2.0 | $0.028/vCPU/hr Recommended VM: Standard_D2s_v3 | 2026-08-07 | Listing ↗ |
Software price only; cloud infrastructure is billed separately by the provider. Prices in USD.
| Base OS | Ubuntu 24.04 LTS |
| Hardening | CIS Level 1, Ubuntu 24.04 LTS (tailored) |
| License | Apache-2.0 |
| Upstream | Ory Corp |
| Machine-readable | product.json · catalog.json |
Ory is an open-source identity stack. This image runs two of its servers wired together so they behave as one product. Ory Hydra is an OpenID Certified OAuth 2.0 and OpenID Connect provider written in Go: it issues access, refresh and ID tokens for your applications and supports the authorization code, client credentials, refresh, device and token-exchange flows, publishing a standard discovery document and JWKS. Hydra holds no user accounts of its own by design. Ory Kratos supplies them - registration, login, account settings, TOTP two-factor, recovery codes and session management, all API-first. The official Ory reference user interface renders the login, registration, settings and consent screens for both, so an application points at one discovery URL and is done. Accounts, OAuth2 clients, tokens and sessions persist in a bundled PostgreSQL 17, with a separate database and role per service. Apache-2.0 license, no vendor lock-in.
Security hardening:
OS hardening (CIS Level 1):
Compliance artifacts:
SIGN-IN METHODS
On by default: passwords, authenticator-app two-factor and single-use recovery codes.
Passkeys and WebAuthn are enabled by the included ory-set-domain command once you point a
domain name at the instance - the WebAuthn standard requires a domain and does not accept an
IP address. Email login codes, account recovery and email verification need an SMTP server of
your own; social sign-in needs your own provider credentials.
Credentials are generated at first boot and written to /root/ory-credentials.txt.
# subscribe once on the AWS Marketplace listing, then:
aws ec2 run-instances \
--image-id resolve:ssm:/aws/service/marketplace/prod-sjqmgip53oypm/latest \
--instance-type t3.large --key-name my-key --security-group-ids sg-xxxxxxxx# accept the plan terms once, then:
az vm image terms accept --publisher lynxroute --offer ory --plan payg-gen2
az vm create -g my-rg -n ory --size Standard_D2s_v3 \
--image lynxroute:ory:payg-gen2:latest --admin-username azureuser --generate-ssh-keys
The most recent release with notes; the full release history is in product.json.