Skip to main content
Version: Latest (v0.0.1)

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