Getting Started
O2ID is the control plane for modern identity. From sign-in and session management to OAuth 2.0, OpenID Connect, users, applications, agents, and resource access, O2ID brings identity together in a single programmable platform. Own your identity stack, customize every journey, and evolve continuously without vendor lock-in or disruptive upgrade projects.
Installation
Install the latest o2id release for your platform (Linux and macOS, amd64 and arm64) with:
curl -fsSL https://o2identity.pages.dev/install.sh | sh
This downloads the latest release — an o2id-<os>-<arch>.zip bundling the
o2id binary, a default o2id.toml, and a run.sh launcher — and unzips it.
Alternatively, run O2ID as a Docker container instead.
Start the server
Run the following from the directory where you extracted the release archive:
./run.sh
The server starts on port 8080 by default. pass along -addr server flag to run on a different port, e.g. ./run.sh --addr :9090.
Setting up the platform admin
The very first time O2ID runs against an empty database, it prompts for a username and password for the platform admin user, creates that user, and assigns them a seeded Platform Admin role with the * scope.
No users found — set up the platform admin account.
Username: admin@example.com
Password:
Created platform admin admin@example.com
See Managing Roles for how to create more limited roles, and the API Reference for what each scope grants.
Verify the service is running
Verify that the service is running by invoking the /health endpoint:
curl http://localhost:8080/health
You should see the following response:
{"status":"ok"}
Next steps
- Setting up O2ID CLI — Configure the O2ID management CLI to manage your running O2ID instance
- Create Your First User — create and list users with
o2idctlCLI - Create Your First Application — register your applications in O2ID with
o2idctlCLI