🛒もぐTechおすすめ!「まずはNASを手に入れよう」
モグラ先生:今回の掘削作業は、SynologyのNASがあることが大前提だよ!もしまだ持ってないなら、ぼくがおすすめするモデルを紹介するね。🐾
- 手軽にスタート!1ベイモデル(最安クラス)
👉 Synology DiskStation DS120j(Amazonリンク) - 容量も安心!2ベイモデル(バランス型)
👉 Synology DiskStation DS223j(Amazonリンク)
👉 Synology DiskStation DS223(Amazonリンク)
モグラ先生:2ベイのほうがRAIDも組めるから、データをより安全に掘り出せるよ~⛏️✨
今回掘るテーマ
モグラ先生:今日はぼくが愛用する “つるはし⛏️” を持って、Synology NAS の地下をずんずん掘り進み、最新 Growi サーバーを起動するよ!古い手順じゃ石がゴロゴロ出てくるから、最新 DSM 7.2 の地層に合わせてルートを掘り直そう。
NAS に Container Manager(旧 Docker パッケージ)を導入し、Wiki がサクッと動くところまで一気にガイドします。途中の難所は “小さな穴掘りポイント” でフォローするので安心してね🪹
1️⃣ 前提装備をチェック
道具 | バージョン目安 | ひと言メモ |
---|---|---|
Synology DSM | 7.2 以降 | DSM 7.2 から Docker パッケージは Container Manager に改名。名前で迷子にならないで! |
Container Manager | Compose v2 同梱 | GUI の [プロジェクト] タブは Compose ファイルをそのまま読めるよ。 |
Growi | v7.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.yml
のports:
行を書き換えるだけ。「127.0.0.1:3000:3000」を「3000:3000」にすれば外部 PC からも掘り当てられるよ。
3️⃣ GUI で楽ちん派:Container Manager の [プロジェクト] タブ
- DSM メインメニュー → Container Manager → プロジェクト → インポート
- 先ほどの
growi/docker-compose.yml
を指定 - 画面の指示に従って起動
モグラ先生: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 マスター!次はどんな技術ネタを掘り当てようか?また一緒に掘りまくろうぜ~🐾