Claude Code Plugins

Community-maintained marketplace

Feedback

Docker本番環境デプロイ

@Takashi-Matsumura/box-frame
0
0

Docker Composeでの本番デプロイ、PostgreSQL設定、LDAP認証設定。本番環境構築、デプロイ作業時に使用。

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name Docker本番環境デプロイ
description Docker Composeでの本番デプロイ、PostgreSQL設定、LDAP認証設定。本番環境構築、デプロイ作業時に使用。

Docker本番環境デプロイガイド

対象サーバー

デプロイ手順

1. 環境変数の設定

# .env
AUTH_SECRET=<openssl rand -base64 32で生成>
AUTH_URL=http://172.16.2.222

# LDAP Configuration
LDAP_URL=ldap://ldap.es.occ.co.jp:389
LDAP_SEARCH_BASE=ou=Users,dc=occ,dc=co,dc=jp
LDAP_SEARCH_FILTER=(uid={username})
LDAP_BIND_DN=cn=admin,dc=occ,dc=co,dc=jp
LDAP_BIND_PASSWORD=

# Module Configuration
NEXT_PUBLIC_ENABLE_HR_EVALUATION=true
NEXT_PUBLIC_ENABLE_BACKOFFICE=false

2. 本番イメージのビルドと起動

# ビルド
docker-compose -f docker-compose.prod.yml build

# 起動
docker-compose -f docker-compose.prod.yml up -d

# 状態確認
docker-compose -f docker-compose.prod.yml ps

3. OpenLDAP設定

OpenLDAPの設定は管理画面から行えます:

  1. 管理画面へアクセス: http://172.16.2.222/admin/openldap?tab=settings
  2. 設定項目:
    • サーバーURL(例: ldap://ldap.example.com:389
    • ベースDN(例: ou=Users,dc=example,dc=com
    • バインドDN・パスワード(オプション)
    • 有効/無効トグル

設定はデータベースに保存され、環境変数を使わずに本番環境で変更可能です。

旧方式:スクリプトによる初期化(非推奨)

docker exec box1-nextjs-prod npx tsx /app/scripts/init-ldap-config.ts

4. ヘルスチェック

curl -I http://172.16.2.222/
docker-compose -f docker-compose.prod.yml logs nextjs | tail -60

確認メッセージ:

  • ✅ "All migrations have been successfully applied."
  • ✅ "✅ Database seeded successfully!"
  • ✅ "✓ Ready in XXms"

運用コマンド

# ログ確認(リアルタイム)
docker-compose -f docker-compose.prod.yml logs -f nextjs

# 再起動
docker-compose -f docker-compose.prod.yml restart

# 停止
docker-compose -f docker-compose.prod.yml down

# Prisma Studio
docker exec -it box1-nextjs-prod npx prisma studio

データベース

環境 データベース 接続先
開発 PostgreSQL 16 localhost:5432 (Docker)
本番 PostgreSQL 16 postgres:5432 (Docker)

開発環境セットアップ

docker-compose -f docker-compose.dev.yml up -d postgres
npx prisma db push
npm run db:seed

トラブルシューティング

OpenLDAP認証が動かない

  1. 管理画面で設定確認: /admin/openldap?tab=settings

    • サーバーURLが正しいか確認
    • 「接続テスト」ボタンで接続確認
    • 有効/無効トグルがONになっているか確認
  2. ログ確認:

docker-compose -f docker-compose.prod.yml logs nextjs | grep -i ldap
  1. データベース設定の確認:
docker exec -it box1-nextjs-prod npx prisma studio
# OpenLdapConfigテーブルを確認

PostgreSQL接続できない

docker-compose -f docker-compose.prod.yml logs postgres
docker-compose -f docker-compose.prod.yml restart postgres

管理者アカウント

Email: admin@example.com
Password: password
Role: ADMIN

重要: 本番環境では初回ログイン後にパスワードを変更してください。