Install
IdentSphere ships in three forms. Pick what matches your stack.
Option A — Rust crate (recommended for Rust backends)
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
| Component | Version | Notes |
|---|---|---|
| Postgres | 14+ | Required. The schema namespacing model uses Postgres-specific features. |
| Node | 20+ | Required only if you're using @identsphere/react. |
| Redis | any recent | Optional. Improves session-cache performance. |
| S3 / R2 / GCS | — | Optional. Local FS works for development. |
Next steps
- Configure AppConfig + AuthServiceConfig.
- Run migrations to create the schema.
- Quick start walks through a complete setup.