Skip to main content

Install

IdentSphere ships in three forms. Pick what matches your stack.

cargo add the crates directly:

# Cargo.toml
[dependencies]
identsphere-core = "0.1"
identsphere-axum = "0.1"

If you're publishing your own service, also pull in tokio + axum:

axum = "0.7"
tokio = { version = "1", features = ["full"] }
sqlx = { version = "0.8", features = ["postgres", "runtime-tokio"] }

::: tip Rust version Minimum supported Rust version is 1.85. :::

Option B — Docker image (any backend language)

The identsphere-server image is a self-contained sidecar:

docker pull ghcr.io/identsphere/server:0.1

Run it:

docker run --rm \
-e DATABASE_URL=postgres://user:pw@host/db \
-e IDENTSPHERE_JWT_SECRET=$(openssl rand -hex 32) \
-e IDENTSPHERE_PUBLIC_BASE_URL=https://auth.example.com \
-e IDENTSPHERE_FROM_EMAIL=no-reply@example.com \
-p 4000:4000 \
ghcr.io/identsphere/server:0.1

Your Python / Node / Ruby / PHP / Java app then proxies auth requests to http://identsphere:4000 and validates JWTs against the published JWKS.

See the Integrations section for per-language recipes.

Option C — React frontend SDK

The TypeScript / React client lives on npm:

npm install @identsphere/react @tanstack/react-query
# or
pnpm add @identsphere/react @tanstack/react-query
# or
yarn add @identsphere/react @tanstack/react-query

@identsphere/react is a peer dep on @tanstack/react-query v5 — the included hooks return React Query results.

Prerequisites

ComponentVersionNotes
Postgres14+Required. The schema namespacing model uses Postgres-specific features.
Node20+Required only if you're using @identsphere/react.
Redisany recentOptional. Improves session-cache performance.
S3 / R2 / GCSOptional. Local FS works for development.

Next steps