Last updated on

Growi wikiをサークルに導入した話


はじめに

大学のサークルで「プロジェクトやノウハウの共有をもっとスムーズにしたい」という声が上がり、Wiki 導入を検討しました。最初は GitHub Wiki なども候補にあがりましたが、共同編集のしやすさUI のカスタマイズ性の高さが評価され、最終的に GROWI を導入することに決定しました。

この記事では、導入までの流れや運用してみての感想、気づいた点などを共有します。



GROWI Wiki とは

GROWI は、オープンソースの Wiki ソフトウェアです。

  • Markdown 形式での編集をベースとしており、書いた内容がリアルタイムにプレビューされる。
  • Docker Compose を使った構築が容易で、手軽に試せる
  • ユーザーフレンドリーなインターフェイスで、Wiki 未経験のメンバーでも使いやすい。
  • 検索機能を強化するために、Elasticsearch を使用できる。

サークルメンバーにはMarkdown の記法に馴染みがない人もいましたが、リアルタイムプレビューのおかげで難なく編集してもらえています。

導入の背景

情報共有の課題

サークルでは、活動レポートやイベント情報を Slack で流すだけ、ファイルは Google Drive やノート PC のフォルダにバラバラ、という状況でした。

  • どこに何が書いてあるか分からない
  • 経験者しか分からない「暗黙知」が多い

このような課題を解決するために、「一元的にまとまった情報ソース (Single Source of Truth) を作ろう」という話が持ち上がりました。

GROWI を選んだ理由

  1. 簡単に編集・検索できる
    Wiki システムとして自然に使える UI である点が大きいです。Markdown ベースでありながら、非技術系のメンバーでも投稿しやすいインターフェイスがあります。

  2. オープンソース & セルフホスティング
    サークル内に資金的な余裕がないので、自前のサーバー (VPS) や学内の仮想マシンに Docker Compose を立てて運用できるのは魅力でした。

  3. カスタマイズ性の高さ
    テーマ変更やプラグイン導入が容易で、サークル特有の使い方に合わせて柔軟に拡張できます。

導入手順

1. Docker Compose のセットアップ

サークルで借りている VPS に Docker / Docker Compose を導入後、以下のような docker-compose.yml を作成しました。

```yaml
version: '3'
services:
  mongo:
    image: mongo:6.0
    container_name: growi-mongo
    volumes:
      - mongo_data:/data/db

  elasticsearch:
    image: elasticsearch:7.17.9
    container_name: growi-elasticsearch
    environment:
      - discovery.type=single-node
    volumes:
      - es_data:/usr/share/elasticsearch/data

  growi:
    image: weseek/growi:7
    container_name: growi
    depends_on:
      - mongo
      - elasticsearch
    ports:
      - "3000:3000"
    environment:
      - MONGO_URI=mongodb://mongo:27017/growi
      - ELASTICSEARCH_URI=http://elasticsearch:9200/growi
    volumes:
      - growi_data:/data

volumes:
  mongo_data:
  es_data:
  growi_data:

その後、以下を実行してコンテナを起動。

docker-compose up -d

ブラウザで http://{サーバーIP}:3000 にアクセスすると GROWI の初期画面が開きます。

2. 初期設定とユーザー管理

管理者アカウントを作成後、「プライベート Wiki」にするか「パブリック Wiki」にするか選択できるので、サークルメンバーのみアクセス可能なプライベートモードに設定しました。 メンバーは全員、自分のメールアドレスで登録してもらい、Slack 通知なども連携させています。

3. ページ構成

トップページに「サークルの活動予定」「前回の議事録」「イベント一覧」などへのリンクをまとめ、メンバーが迷わないよう工夫しました。 「議事録」「マニュアル」「チュートリアル」「Tips」などカテゴリごとに整理。 初心者向けに「Markdown の書き方ページ」も用意。リアルタイムプレビューと合わせて覚えやすくなっています。 使ってみての感想 情報の一元化に成功 いままでは Slack の流れた会話を後で探すのに苦労していましたが、GROWI の検索機能で関連するページがすぐに見つかるようになりました。

メンバーのモチベーション向上 誰かの作成したページにコメントをつけたり、追記・修正が気軽にできるので、情報共有が「放置」されず継続的に更新されるようになりました。

意外と初期導入が簡単 Docker Compose でサクッと立ち上がるので、サーバー管理の経験が浅いメンバーでも比較的スムーズに構築できました。

これからの展望

テンプレート整備: 定例ミーティング用議事録テンプレートなどを用意して、さらなる運用の効率化を目指す。 通知連携強化: Slack や Discord にリアルタイムで通知を飛ばす設定を調整し、更新情報を見逃さないようにする。 プラグイン活用: PlantUML や Draw.io 連携で図表をもっと手軽に使えるようにする。 Nextcloud や他ツールとの連携: 大容量ファイルは Nextcloud に格納し、Wiki からリンクする運用も検討中。

まとめ

サークルの情報共有基盤として GROWI を導入した結果、散在していた情報が集約され、新入生や新メンバーでも必要なノウハウにすぐアクセスできる環境が整いました。 ドキュメント管理に困っている方や、Chat やドライブだけでは物足りないチームにはぜひおすすめしたいツールです。

今後はさらに通知連携やプラグインの活用で、Wiki をアクティブな情報発信とコラボレーションの中心にしていきたいと考えています。

もし導入に興味がある方は、公式ドキュメントやGitHub リポジトリを確認してみてください。Docker Compose さえ使えれば、短時間でお試し環境を立ち上げることができるはずです。