3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Synology(DS3622xs+)でGROWIをDocker構築する方法

Last updated at Posted at 2026-01-01

はじめに

こんにちは、piyovateです。
社内Wiki用途として GROWI を Synology NAS 上に構築しました。
本記事では Synology Container Manager(GUI)を使って、GROWI・MongoDB・Elasticsearch をそれぞれ Docker コンテナとして構築する手順をまとめます。

Docker や GROWI に詳しくない状態から試行錯誤しながら構築した内容なので、
これから Synology 上で GROWI を動かしたい人の参考になれば幸いです。

注意

※ 本記事の内容は 社内 LAN 内での利用を前提とした検証環境の構成です。
インターネットから直接アクセス可能な構成ではありません。


構築環境

ハードウェア / OS

  • Synology NAS:DS3622xs+
  • DSM:Container Manager 利用

使用イメージ / バージョン

  • GROWI:weseek/growi:latest
  • MongoDB:mongo:5.0
  • Elasticsearch:elasticsearch:8.14.0

xxx.xxx.xx.xx は Synology の IP アドレス
※ ローカルポートはすべて任意のポート番号を使用しています


全体構成

今回の構成は以下の3コンテナです。

  • GROWI(アプリ本体)
  • MongoDB(データベース)
  • Elasticsearch(全文検索)

すべて Container Manager の GUI から個別にコンテナを作成しています。


事前準備:ボリューム用ディレクトリ作成

Synology 上に以下のディレクトリを作成します(永続化用)。

/docker/growi/data
/docker/growi/mongo
/docker/growi/es

MongoDB コンテナの作成

イメージ

mongo:5.0

ポート

  • ローカルポート:任意
  • コンテナポート:27017

ボリューム

ローカル コンテナ
/docker/growi/mongo /data/db

※ 今回は 社内 LAN 内での検証用途のため、MongoDB の認証設定は行っていません。
※ 外部公開する場合は必ず認証を有効化してください。


Elasticsearch コンテナの作成

イメージ

elasticsearch:8.14.0

ポート

  • ローカルポート:任意(1ポートのみ公開)
  • コンテナポート:9200

ボリューム

ローカル コンテナ
/docker/growi/es /usr/share/elasticsearch/data

環境変数

discovery.type=single-node
bootstrap.memory_lock=true
ES_JAVA_OPTS=-Xms1g -Xmx2g

※ Elasticsearch 8 系はデフォルトでセキュリティ機能が有効になりますが、
今回は LAN 内での検証用途であり、特に問題が発生しなかったため
セキュリティ設定は行っていません。


GROWI コンテナの作成

イメージ

weseek/growi:latest

ポート

  • ローカルポート:任意
  • コンテナポート:3000

ボリューム

ローカル コンテナ
/docker/growi/data /data

環境変数

MONGO_URL=mongodb://xxx.xxx.xx.xx:yyyyy/growi
ELASTICSEARCH_URI=http://xxx.xxx.xx.xx:yyyyy
ELASTICSEARCH_VERSION=8
APP_SITE_URL=http://xxx.xxx.xx.xx:yyyyy
  • yyyyy はそれぞれ MongoDB / Elasticsearch / GROWI のポート番号
  • APP_SITE_URL には、ブラウザからアクセスする URL を指定します

動作確認

すべてのコンテナを起動後、ブラウザから以下にアクセスします。

http://xxx.xxx.xx.xx:GROWIのポート番号

初期ユーザー作成画面が表示されれば成功です。
ページ作成やタグ検索が問題なく動作することも確認できました。


補足:GUI構築と docker-compose(SSH)の使い分け

今回は Synology の Container Manager(GUI) から、
MongoDB / Elasticsearch / GROWI をそれぞれ 1 コンテナずつ作成しました。

GUI での構築は、

  • 設定項目が視覚的に分かりやすい
  • Docker に慣れていなくても理解しやすい

というメリットがあり、初期構築としてはとても良いやり方だと感じました。

一方で、構築後に調べていく中で、

  • docker-compose.yml でまとめて管理できる
  • SSH 経由の docker compose の方が再現性・移行性が高い

という点から、長期運用を考えると SSH 経由で docker-compose を使う方が良さそうだとも感じました。

今回は GUI で構築しましたが、
今後同様の環境を作る場合は docker-compose を使う予定です。


おわりに

Synology は GUI が充実しているため、Docker 初心者でも比較的スムーズに GROWI を構築できました。
一方で、Docker に慣れてくると compose 管理のメリットも見えてきます。

本記事が、Synology 上で GROWI を構築する際の参考になれば幸いです。
それでは、また次回の記事でお会いしましょう✨

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?