Skip to content
🔒 この区画はログインが必要な社内向けエリアです。

Pocket-ID(ログイン基盤)障害復旧手順

This content is not available in your language yet.

社内のログイン基盤 Pocket-IDhttps://ai241-auth.as-link.com)が停止・異常動作した場合の復旧手順です。 Smart Record・Smart Expense など Pocket-ID でログインする全サービスの「新規ログイン」に影響します。

  • Slack #ai-ops-critical に Uptime-Kuma から通知が届きます(監視名 Pocket-ID (auth)、60秒間隔・リトライ2回 = 停止から約3分で通知)
  • 手動確認: https://ai241-auth.as-link.com/healthz をブラウザで開く(正常 = 白画面 / HTTP 204。エラー画面や応答なし = 異常)
対象影響
ログイン済みの利用者影響なし。各アプリのセッションはアプリ側で保持しており(Smart Record は使い続ける限り14日延長)、Pocket-ID 停止中も通常どおり使えます
新規ログイン・別端末・ログアウト後❌ 不可(ログイン画面が開けない)
招待メールのリンク❌ 不可(復旧後に再送不要でそのまま使える場合もあるが、期限切れなら再招待)

対象サービス: Smart Record(record.cloud / beta / dev)、Smart Expense、OpenWebUI、AnythingLLM、Langfuse、iDempiere SSO ログイン等。 業務データは失われません(各アプリのデータは Pocket-ID とは別に保存されています)。

項目
コンテナaslink-pocket-id(ai241、再起動ポリシー unless-stopped = クラッシュ時は自動復帰)
compose 定義/opt/as-link-ai-platform/compose/edge/pocket-id.yml
データ実体Postgresaslink-postgres コンテナ内の DB pocketid_db)— ユーザー・パスキー・OIDC クライアント設定はすべてここ
画像類volume aslink-edge_pocket_id_data(プロフィール/アプリ画像のみ)
バックアップ毎日 03:00 に pg_dump/var/backups/aslink-postgres/pocketid_db_*.dump、7世代)→ Backrest(repo aslink-local、plan postgres-dumps)+ MinIO。画像 volume は plan pocket-id-data

ai241 で:

Terminal window
docker ps --format '{{.Names}}\t{{.Status}}' | grep -E 'pocket|postgres'
curl -s -o /dev/null -w '%{http_code}\n' https://ai241-auth.as-link.com/healthz
  • 両コンテナが Up (healthy) で healthz が 204 → 復旧済み(自動再起動が効いた可能性。Step 4 の検証へ)
  • aslink-postgres が落ちている → 原因は Postgres 側。先に Postgres を復旧(他サービスにも影響が出ているはず)

Step 2: 再起動(まずはこれ・1分)

Section titled “Step 2: 再起動(まずはこれ・1分)”
Terminal window
docker restart aslink-pocket-id

30秒ほど待って healthz が 204 に戻れば完了(Step 4 へ)。戻らない場合はログを確認:

Terminal window
docker logs aslink-pocket-id --since 15m 2>&1 | tail -30
  • connection refused / DB 系エラー → docker restart aslink-postgres 後に再度 Pocket-ID を再起動
  • 設定エラー(環境変数等)→ 直前に compose や .env を変更していないか確認し、変更を戻して docker compose -f /opt/as-link-ai-platform/compose/edge/pocket-id.yml up -d

Step 3: データ復元(DB 破損時のみ・要 ai241 Claude Code 推奨)

Section titled “Step 3: データ復元(DB 破損時のみ・要 ai241 Claude Code 推奨)”

再起動で直らず、ログに DB 破損・データ不整合が疑われる場合のみ。前日 03:00 時点に巻き戻ります(それ以降に登録したユーザー・パスキーは消えるため、実行前に要判断):

Terminal window
# 最新の dump を確認(毎日 03:00 取得・7世代)
ls -t /var/backups/aslink-postgres/pocketid_db_*.dump | head -3
# Pocket-ID を止めて DB を巻き戻し → 起動
docker stop aslink-pocket-id
docker exec -i aslink-postgres pg_restore -U postgres -d pocketid_db --clean --if-exists \
< /var/backups/aslink-postgres/pocketid_db_YYYYMMDD-030001.dump
docker start aslink-pocket-id

ローカル 7世代より古い時点が必要な場合は Backrest(repo aslink-local / plan postgres-dumps)から dump ファイルを取り出して同様に restore。

  1. https://ai241-auth.as-link.com/healthz → 204
  2. 実ログイン確認: シークレットウィンドウで https://record.cloud.as-link.com/ を開き、Pocket-ID のログイン画面が表示 → ログインできること
  3. Slack #ai-ops-critical の Uptime-Kuma 通知が Up に変わること

既存利用者はログイン済みのまま使えるため、サービス全停止ではありません。「新しくログインできない」旨を利用者へ案内し、復旧を優先します。パスワード方式の裏口ログインは(解約遮断を迂回してしまうため)設けない方針です。

  • 監視: Uptime-Kuma(https://ai241.as-link.com 配下の監視画面)に Pocket-ID (auth) / Smart Record (prod) を登録済み(2026-07-09)
  • Pocket-ID のバージョンアップは事前にバックアップ確認のうえ計画的に実施(v2 系は設定 API の仕様変更が多いため)
  • 認証情報(管理者アカウント等)は Bitwarden で管理。本ページには記載しません