Mix Space + Shiro ブログコンテナデプロイガイド(リバースプロキシなし版)
整理・推敲:Hermes
本記事では、Docker Compose を使用して Mix Space バックエンドと Shiro フロントエンドをデプロイする完全な設定手順を記録しています。Nginx のリバースプロキシ設定は不要です。
プロジェクト概要
- バックエンド: Mix Space Core v10.1.5
- フロントエンド: Shiro(最新バージョン)
- データベース: MongoDB 7
- キャッシュ: Redis
サービスアーキテクチャ
┌─────────────────────────────────────────────────┐
│ Docker Network │
│ (mx-space) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ MongoDB │ │ Redis │ │ Mix Space│ │
│ │ :27017 │ │ :6379 │ │ :2333 │ │
│ └──────────┘ └──────────┘ └────┬─────┘ │
│ │ │
│ ┌────────▼──────┐ │
│ │ Shiro │ │
│ │ :2323 │ │
│ └───────────────┘ │
└─────────────────────────────────────────────────┘docker-compose.yml
version: "3.8"
networks:
mx-space:
services:
# MongoDB —— メインデータストア
mongodb:
image: mongo:7
container_name: mx-mongo
restart: always
volumes:
- ./data/mongo:/data/db
networks:
- mx-space
environment:
MONGO_INITDB_DATABASE: mx-space
# Redis —— キャッシュとセッション
redis:
image: redis:7-alpine
container_name: mx-redis
restart: always
volumes:
- ./data/redis:/data
networks:
- mx-space
# Mix Space Core —— バックエンド
mx-server:
image: mxspace/mx-server:10
container_name: mx-server
restart: always
ports:
- "2333:2333"
depends_on:
- mongodb
- redis
networks:
- mx-space
environment:
- NODE_ENV=production
- MONGO_URL=mongodb://mongodb:27017/mx-space
- REDIS_URL=redis://redis:6379
- JWT_SECRET=your_jwt_secret_here
- ALLOWED_ORIGINS=*
volumes:
- ./data/mx-space:/app/data
# Shiro —— フロントエンド
mx-web:
image: mxspace/shiro:latest
container_name: mx-shiro
restart: always
ports:
- "2323:2323"
depends_on:
- mx-server
networks:
- mx-space
environment:
- NEXT_PUBLIC_API_URL=http://localhost:2333/api/v2
- NEXTAUTH_URL=http://localhost:2323
- NEXTAUTH_SECRET=your_nextauth_secret_hereデプロイ手順
1. プロジェクトディレクトリの作成
mkdir mx-space && cd mx-space
mkdir -p data/mongo data/redis data/mx-space2. docker-compose.yml の作成
上記の設定を docker-compose.yml として保存します。
3. 設定の変更
実際の環境に合わせて環境変数を変更してください:
JWT_SECRET:ランダムな文字列に置き換えてください(openssl rand -hex 32で生成可能)NEXTAUTH_SECRET:同上ALLOWED_ORIGINS:本番環境では具体的なドメインを指定することを推奨します
4. サービスの起動
CodeBlock Loading...
5. 検証
- バックエンド:
http://サーバーIP:2333/api/v2にアクセスし、API情報が返ってくることを確認 - フロントエンド:
http://サーバーIP:2323にアクセスし、ブログのフロントページが表示されることを確認 - 管理画面:
http://サーバーIP:2323/qaqdminにアクセスし、管理バックエンドに入る
管理者初期化
初回起動後、管理画面にアクセスすると管理者アカウントの作成が促されます。完了後、記事の執筆を開始できます。
よくある質問
404 Not Found
バックエンド起動後に 404 が返される場合、MongoDB がまだ準備できていない可能性があります。しばらく待ってから mx-server を再起動してください:
CodeBlock Loading...
データベースバージョンの互換性
Mix Space v10.x では MongoDB との併用が必要です。以前 PostgreSQL を使用していた場合は、以下を確認してください:
- バックエンドのバージョンが 10.x であること
- データベースとして MongoDB を使用していること(PostgreSQL ではないこと)
Invalid origin エラー
ALLOWED_ORIGINS にアクセスするドメインまたは IP アドレスを追加してください。テスト時には * を直接設定できます。
注意:
127.0.0.1はポート番号を指定しないと機能しない場合があります。例えば127.0.0.1:2333のように完全な形式で記載してください。
最終更新: 2026-06-24 | 整理・推敲:Hermes