Guide

Getting Started

Deploy Idenplane in 30 seconds with Docker Compose, or build from source for full control.

Idenplane is a self-hosted, open-source identity and access management (IAM) server. This guide gets you from zero to a running instance two ways: the Docker Compose quick start (recommended — about 30 seconds) or a build from source for full control. The quick start needs only Docker and Docker Compose; building from source also needs Node.js 22+ and PostgreSQL 16+. Once it’s up you’ll have the admin console, standards-compliant OAuth 2.0 / OIDC / SAML endpoints, and health and metrics endpoints ready to use.

Docker Quick Start

Recommended

The fastest way to get Idenplane running. Requires only Docker and Docker Compose.

Terminal
# Download the docker-compose file
curl -o docker-compose.yml \
  https://raw.githubusercontent.com/idenplane/idenplane/main/docker-compose.yml

# Start Idenplane
docker compose up -d

That's it! Idenplane will start with PostgreSQL and be ready in about 30 seconds.

Verify your installation

Confirm the server is healthy, then sign in to the admin console:

Terminal
# Health check — returns HTTP 200 with a JSON status payload
curl http://localhost:3000/health

# Then open the admin console in your browser
open http://localhost:3000/console

Sign in with the default admin / admin credentials, then change the password immediately (see Configuration). If the health check fails, head to Troubleshooting.

Available Endpoints

Once running, these endpoints are available on your server:

URL Description
http://localhost:3000/console Admin Console
http://localhost:3000/api Swagger API Docs
http://localhost:3000/health Health Check
http://localhost:3000/metrics Prometheus Metrics

Default Credentials

Change these before exposing Idenplane to the internet.

Field Default Value
Username admin
Password admin
API Key ADMIN_API_KEY from your .env

Build from Source

Prerequisites

Node.js 22+ PostgreSQL 16+
Terminal
# Clone the repository
git clone https://github.com/idenplane/idenplane.git
cd Idenplane

# Install dependencies
npm install
cd admin-ui && npm install && cd ..

# Configure environment
cp .env.example .env
# Edit .env with your DATABASE_URL

# Setup database
npm run prisma:generate
npm run prisma:migrate
npm run prisma:seed   # Optional: sample data

# Build & start
npm run build:all
npm run start:prod

Database Helper Commands

Command Description
npm run prisma:generate Regenerate Prisma client
npm run prisma:migrate Apply pending migrations
npm run prisma:seed Seed with test data
npm run db:setup Generate + migrate + seed (all-in-one)

Troubleshooting

  • Port already in use: another process is on port 3000 — stop it, or change Idenplane’s port in your .env / compose file.
  • Database connection errors: make sure PostgreSQL is reachable and DATABASE_URL is correct before the server starts.
  • Console not loading: give the container a few seconds to finish database migrations, then retry the health check.
Full troubleshooting guide