Docker
推奨される方法です。同梱の docker compose がハブと Postgres を一緒に起動します。
Lockatus は、ひとつの Docker イメージと Postgres データベースとして提供されます。初回起動時に RS256 署名鍵を生成し(データベースに暗号化して保存)、最初のスーパー管理者をシードします — そのため、ひとつの docker compose up で動作する identity ハブが手に入ります。
Docker
推奨される方法です。同梱の docker compose がハブと Postgres を一緒に起動します。
マスターキー
LOCKATUS_SECRET は TOTP シークレットを暗号化し、ハブセッションに署名します。32 バイトのランダムバイトを生成します。
到達可能な issuer URL
LOCKATUS_ISSUER はトークンが持つ公開 URL です — ブラウザと連携アプリの両方から到達可能でなければなりません。
git clone https://github.com/diegoparras/lockatus.git && cd lockatuscp .env.example .env # set POSTGRES_PASSWORD and LOCKATUS_SECRETdocker compose up -d --builddocker compose logs lockatus # the generated admin password is printed once here# → http://localhost:8081マスターキーは次のように生成します。
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"http://localhost:8081 を開き、ログに一度だけ表示されたパスワード(または LOCKATUS_ADMIN_PASS に設定したもの)で LOCKATUS_ADMIN_EMAIL としてサインインします。| Route | 用途 |
|---|---|
GET /health | サービスの稼働状況(およびデータベースの状態)。 |
GET /.well-known/openid-configuration | OIDC ディスカバリー用の issuer メタデータ。 |
GET /jwks.json | 公開鍵。アプリがトークンを オフライン で検証できるようにします。 |
| Variable | Default | 説明 |
|---|---|---|
POSTGRES_PASSWORD | (required) | データベースパスワード。 |
LOCKATUS_SECRET | (required) | マスターキー — TOTP シークレットを暗号化し、ハブセッションに署名します。 |
LOCKATUS_ISSUER | http://localhost:8081 | トークンに埋め込まれる公開 issuer URL。 |
LOCKATUS_ADMIN_EMAIL | admin@lockatus.local | 最初のスーパー管理者。 |
LOCKATUS_ADMIN_PASS | (empty) | 空 → 生成されてログに一度だけ表示されます。 |
LOCKATUS_SECURE_COOKIE | 0 | TLS の背後では 1 に設定します。 |
LOCKATUS_PORT | 8081 | ホストポート。 |