Synology NASで Growi を動かす完全ガイド

IT

🛒もぐTechおすすめ!「まずはNASを手に入れよう」

モグラ先生:今回の掘削作業は、SynologyのNASがあることが大前提だよ!もしまだ持ってないなら、ぼくがおすすめするモデルを紹介するね。🐾

モグラ先生:2ベイのほうがRAIDも組めるから、データをより安全に掘り出せるよ~⛏️✨

今回掘るテーマ

モグラ先生:今日はぼくが愛用する “つるはし⛏️” を持って、Synology NAS の地下をずんずん掘り進み、最新 Growi サーバーを起動するよ!古い手順じゃ石がゴロゴロ出てくるから、最新 DSM 7.2 の地層に合わせてルートを掘り直そう。

NAS に Container Manager(旧 Docker パッケージ)を導入し、Wiki がサクッと動くところまで一気にガイドします。途中の難所は “小さな穴掘りポイント” でフォローするので安心してね🪹


1️⃣ 前提装備をチェック

道具バージョン目安ひと言メモ
Synology DSM7.2 以降DSM 7.2 から Docker パッケージは Container Manager に改名。名前で迷子にならないで!
Container ManagerCompose v2 同梱GUI の [プロジェクト] タブは Compose ファイルをそのまま読めるよ。
Growiv7.1.9 (最新安定版)2025-02-03 時点の最新版。 (Releases · weseek/growi – GitHub)
SSH有効化必須CLI 派はこれで NAS に潜入!

モグラ先生:DSM の「端末と SNMP」で SSH を有効 & ポート番号をメモしよう。トンネル入口はしっかり確保だよ。


2️⃣ Container Manager で Growi を掘り当てる

2-1. プロジェクト用フォルダを作成

ssh admin@<NAS_IP>
mkdir -p /volume1/docker/growi
cd /volume1/docker
git clone https://github.com/weseek/growi-docker-compose.git growi

ポイント

  • DSM 7.2 以降は docker compose(半角スペース!)が標準。docker-compose コマンドはレガシー扱いです。

2-2. 設定をサクッと編集

growi/.env で最低限ここだけ決めれば OK(例):

PASSWORD_SEED=ChangeMePlz123!
FILE_UPLOAD=local
MATHJAX=1

モグラ先生PASSWORD_SEED はハッシュ生成の種。ここをテキトーにすると深~い落とし穴!

2-3. 起動!

cd growi
docker compose up -d

ブラウザで http://<NAS_IP>:3000 へアクセスし、インストーラ画面が出れば成功🎉
詳しいオプションは公式「docker-compose インストール手順」を参照。 (docker-compose | GROWI Docs)

小さな穴掘りポイント
モグラ先生:ポート変更は docker-compose.ymlports: 行を書き換えるだけ。「127.0.0.1:3000:3000」を「3000:3000」にすれば外部 PC からも掘り当てられるよ。


3️⃣ GUI で楽ちん派:Container Manager の [プロジェクト] タブ

  1. DSM メインメニュー → Container Managerプロジェクトインポート
  2. 先ほどの growi/docker-compose.yml を指定
  3. 画面の指示に従って起動

モグラ先生:GUI で作ったプロジェクトは裏で docker compose が走ってるだけ。CLI と同じ穴につながってるから安心してね。


4️⃣ “掘った宝” を守れ!自動バックアップ

Growi 公式推奨は weseek/mongodb-awesome-backup コンテナを追加する方法。 (MongoDB Auto Backup | GROWI Docs)

4-1. 追加用 docker-compose.override.yml

services:
  backup:
    image: weseek/mongodb-awesome-backup:latest
    environment:
      - MONGODB_HOST=mongo
      - CRONMODE=true
      - CRON_EXPRESSION=0 4 * * *
      - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
      - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
      - S3_TARGET_BUCKET_URL=s3://my-growi-backup/
    restart: unless-stopped
docker compose up -d

午前 4:00 に自動で S3 へバックアップ!ローカル保存派は volumes:/backup をホストにマウントするだけで OK。

小さな穴掘りポイント
モグラ先生:Synology 独自の Hyper Backup/volume1/docker/growi を丸ごとスナップショットする手もあるよ。二重の安全帽で掘り進もう🛡️


5️⃣ 復元トンネルの掘り方

# 例:S3 から取得した mongodb.archive を同じディレクトリに置く
docker compose stop
docker cp mongodb.archive growi-mongo-1:/
docker exec -it growi-mongo-1 mongorestore --drop --archive=/mongodb.archive
docker compose start

モグラ先生:復元後は Growi 管理画面 → 検索 > Rebuild ES Index を忘れずに。索道が崩れてると検索穴が見つからないよ!


6️⃣ お片付け(コンテナ & データ掃除)

docker compose down          # コンテナ停止+ネットワーク削除
docker system prune -a       # 使わないイメージも一気に削除

モグラ先生:「‐a」は慎重に! 宝物データまで捨てないように volume は残しておこう。


まとめ

  • DSM 7.2 以降は Container Manager。Compose v2 でコマンドも GUI もスッキリ。
  • Growi v7.1.9 は MongoDB 6 系で快調。 .env で最低限のシード設定を。
  • バックアップは公式 awesome-backup コンテナ が楽。Hyper Backup との併用で鉄壁。
  • モグラ先生流「掘って見つけた!」コツを使って、家庭や社内の情報共有トンネルをガンガン拡張してね💡

モグラ先生:これで君も地下 Wiki マスター!次はどんな技術ネタを掘り当てようか?また一緒に掘りまくろうぜ~🐾

タイトルとURLをコピーしました