操作
バグ #433
未完了gufu.jp 商用環境移行プロジェクト(改善版仕様)
ステータス:
新規
優先度:
急いで
担当者:
-
開始日:
2025-06-10
期日:
進捗率:
0%
予定工数:
説明
プロジェクト概要¶
目的: call2arm.comからシンプルな商用環境をgufu.jpドメインで納品
期間: 5日間 + 検証・調整期間
工数見積: 40時間
改善された移行仕様¶
ドメイン構成(修正版)¶
- gufu.jp → Redmine本体(メインサービス)
- task.gufu.jp → カスタムWEBUI(AI+RAG機能)
移行対象¶
-
call2arm.com (Redmine本体) → gufu.jp
- データベース移行 + 設定調整
- カスタムプラグイン・テーマ移行
- 管理者権限設定
-
task.call2arm.com → task.gufu.jp
- AI+RAG機能完全移行
- API設定調整(Claude API等)
- カスタムUI機能移行
移行対象外¶
- search/facty/manage/html/dev/task2.call2arm.com(開発・別系統サービス)
技術仕様¶
ネットワーク設計¶
- 外部アクセス: HTTPS:443のみ(Nginx SNI)
- 内部ポート: 4000-4006(Docker)
- データベース: PostgreSQL:5434(内部専用)
- SSL: *.gufu.jp ワイルドカード証明書
セキュリティ設計¶
- 認証: Redmine内蔵認証 + セッション管理
- API: API Key認証 + Rate Limiting
- 通信: HTTPS強制 + HSTS
- ヘッダー: CSP, X-Frame-Options, X-XSS-Protection等
ユーザー設計¶
-
admin: システム管理者(全権限)
- Redmine管理、Task管理、システム設定
-
wwwuser: 一般利用者(制限付き)
- プロジェクト参加、タスク操作、レポート閲覧
運用設計¶
- バックアップ: 日次DB + 設定ファイル自動保存
- 監視: ヘルスチェック + ログ監視
- メンテナンス: ローリングアップデート対応
- 災害復旧: 完全復旧手順書作成
重要な事前確認事項¶
🔍 技術調査必須項目¶
-
AI+RAG機能の依存関係
- Claude API等の外部API設定確認
- 環境変数・設定ファイル詳細調査
-
データベース移行方式
- 既存データ引き継ぎ有無の顧客要件確認
- 本番データ vs クリーンインストール
-
Redmineカスタマイズ内容
- プラグイン一覧確認
- カスタムテーマ・設定確認
-
SSL証明書取得準備
- DNS設定権限確認
- ワイルドカード証明書DNS認証準備
-
運用サポート範囲
- 納品後保守・サポート契約
- SLA(Service Level Agreement)定義
作業フェーズ¶
Phase 1: 事前準備・要件確認¶
- 顧客要件詳細確認
- AI+RAG機能技術調査
- DNS設定・SSL証明書準備
- 移行元環境詳細調査
Phase 2: 基盤構築¶
- *.gufu.jp SSL証明書取得
- Docker Compose環境構築
- PostgreSQL独立インスタンス構築
- Nginx設定作成・テスト
Phase 3: Redmine移行¶
- gufu.jp環境構築
- データベース移行(方式確定後)
- プラグイン・テーマ移行
- admin/wwwuser アカウント作成
Phase 4: カスタムUI移行¶
- task.gufu.jp環境構築
- AI+RAG機能移行
- API設定調整
- 統合テスト
Phase 5: 総合テスト・納品¶
- 機能・統合・セキュリティテスト
- 運用マニュアル作成
- 顧客引き渡し・サポート体制確立
リスク管理¶
高リスク¶
- AI機能依存関係: 外部API設定移行失敗
- SSL証明書: DNS認証・ワイルドカード取得遅延
中リスク¶
- データ移行: 既存データ不整合・移行失敗
- カスタマイズ: プラグイン・テーマ互換性問題
低リスク¶
- ポート競合: 事前チェックで回避可能
- 設定混同: 明確な分離で回避可能
成功基準¶
- 全サービス正常稼働(99.9%稼働率)
- SSL証明書A+評価取得
- 応答時間2秒以内
- セキュリティスキャン合格
- ユーザーアクセステスト合格
- バックアップ・リストア成功
次のアクション¶
- 事前確認事項の詳細調査実施
- 顧客要件・制約事項の明確化
- 技術詳細調査(AI+RAG機能、API設定等)
- 作業計画詳細化・スケジュール確定
Redmine Admin さんが11日前に更新
ドメイン構成修正・仕様確定¶
📝 ドメイン構成変更¶
修正前: gufu.jp (Redmine) + task.gufu.jp (カスタムUI)
修正後: redmine.gufu.jp (Redmine) + gufu.jp (カスタムUI)
🎯 最終確定仕様¶
ドメイン・サービス構成¶
-
redmine.gufu.jp: Redmine本体(call2arm.com より移行)
- チケット管理・プロジェクト管理・ユーザー管理・レポート機能
-
gufu.jp: カスタムWEBUI(task.call2arm.com より移行)
- AI+RAG機能・RedmineカスタムUI・Claude API統合
技術仕様¶
- SSL: *.gufu.jp ワイルドカード証明書
-
アクセス: HTTPS:443 → Nginx SNI → 内部ポート
- redmine.gufu.jp → 4000
- gufu.jp → 4005/4006
- DB: PostgreSQL:5434(独立インスタンス)
- 分離: 既存環境から完全独立
ユーザー権限設計¶
-
admin(システム管理者):
- redmine.gufu.jp: 全管理権限
- gufu.jp: カスタムUI管理・AI機能設定
-
wwwuser(一般利用者):
- redmine.gufu.jp: プロジェクト参加・チケット操作
- gufu.jp: カスタムUI・AI機能利用
✅ 仕様確定・作業開始準備完了¶
この構成で事前調査→環境構築を開始します。
Redmine Admin さんが11日前に更新
📋 Phase 1: 事前調査完了報告¶
🖥️ VPS基本状況¶
- 稼働状況: 16日17時間連続稼働(安定)
- システム負荷: 0.16(低負荷・良好)
- リソース: ディスク24GB/774GB(4%)、メモリ2.9GB/23GB
- Docker環境: v27.5.1、docker-compose v1.29.2(移行作業可能)
🎯 移行対象サービス詳細確認¶
call2arm.com (Redmine本体)¶
- コンテナ: redmine-prod(2週間安定稼働)
-
データベース: redmine-prod-db(PostgreSQL 13)
- DB: redmine_prod、User: redmine_prod
- 状態: ✅ 正常稼働中
task.call2arm.com (カスタムUI)¶
- API: task-news-api(port 3005)⚠️ unhealthy
- UI: task-news-ui(port 3006)正常
-
データベース: task-news-db(PostgreSQL 15、9日稼働)
- DB: task_news、User: postgres
- 状態: ⚠️ API unhealthy要修復
📊 ポート競合・修正事項¶
修正されたポート設計¶
- redmine.gufu.jp: 4000(空き確認済み)
- gufu.jp API: 4005(空き確認済み)
- gufu.jp UI: 4006(空き確認済み)
- PostgreSQL: 5435(5434使用中のため変更)
使用中ポート(3000番台)¶
3001, 3002, 3005, 3006, 3007, 3008, 3009, 3010
🌐 DNS・SSL状況¶
現状¶
- ✅ gufu.jp: 85.131.243.51設定済み
- ❌ redmine.gufu.jp: 未設定(要追加)
- ❌ *.gufu.jp SSL: 未取得(要新規作成)
⚠️ 重要な発見事項・要対応¶
-
🔧 前提作業必須
- redmine.gufu.jp DNS設定追加
- *.gufu.jp SSL証明書取得(DNS認証)
- task-news-api unhealthy状態修復
-
📝 技術仕様修正
- PostgreSQLポート: 5434→5435変更
- 4000番台ポート使用(競合なし)
-
✅ 移行環境準備完了
- VPS環境安定・リソース十分
- Nginx設定参考ファイル豊富
- Docker環境構築準備完了
🎯 Phase 2: 次のアクション¶
-
DNS・SSL準備(最優先)
- redmine.gufu.jp DNS設定
- *.gufu.jp SSL証明書取得
-
移行元修復
- task-news-api unhealthy状態調査・修復
-
環境構築開始
- Docker Compose環境作成
- PostgreSQL独立インスタンス構築
調査完了 - Phase 2移行準備開始可能
操作