AWSでGROWI鯖を立て、私生活・趣味開発の資料を管理する

2022/12/18に公開約4,300字

概要

  • 個人生活・個人開発の資料をGROWIという個人 wiki tool で管理している。
  • 環境構築方法を共有する。
  • 割と快適に運用できている。

前書き

みなさんは個人資料をどこで保管しているだろうか。
たとえば、今年行く予定のイベント管理、旅行計画建て、予算管理、金銭計画、個人開発のドキュメントなどなど。
何も書き出さないのは私は苦手だ。何かやらなきゃならないこと、やりたいことを頭の片隅において忘れないように気を揉むと、それだけで脳のメモリリソースを使われてしまっている気分になる。
大昔は紙に書いて保管していた。しかしどの紙に、いつ書いて、どこにしまったかなどがわからなくなってしまい、結局情報が散逸してしまうことも多かった。
10年くらい前からはgoogle drive に保存するようになった。しかしどうしてもうまく整理ができず、ファイルの大量の羅列が発生してしまい、失くすことはないもののどこに何のファイルがあるのか忘れてしまうことが多かった。
最近はtwitterや個人slack、個人discordを用いている人も多いと思う。フローの情報をしっかり記録し、後で検索するための手がかりを残すにはかなり有用だと思う。でもストックすべき情報も時とともに奥の方へ流れて行ってしまう。
そこで、今年に入ってから Wiki 型の情報管理を模索し、個人 GROWI 運用を開始した。

移行の経緯資料が GROWI 内に移して保存してあるので、以下ではそれをスクショしてUIを共有しながら解説する。

GROWI とは

GROWIとは Wiki 型の文書管理システムである。 Markdown 形式で文章が編集できるし、ユーザーのログイン制御・閲覧可否制御機能もある。使い心地は Confluence との近さを感じる。

Wiki ツールの選定

GitBook, GitHub Wiki, Confluence, GROWIの4ツール程列挙したのちに、今回の自分のユースケースに一番合いそうなものとして GROWIを選んだ。

名前 link 講評 採用できるか
GitBook link 一連のマニュアルやチュートリアルを作るのに向いており、docsの集積には向いていない No
GitHub Wiki link よさそうだが、ページ階層の概念がない? 厳しい
Confluence link 値段が高い。法人向け? No
GROWI link 無料で、必要な機能がそろっている OK

(個人GROWI内からの引用)

GROWIの選定経緯

評価観点 評価 詳細
表の作成 OK markdown 形式
ページの編集 OK markdown 形式
日本語 OK
タイトルで検索できるか? OK
名前空間を区切ってタイトルで検索できるか? OK
本文で検索できるか? OK
user pageを含めて/除いて検索できるか OK default除外。検索時にオプションで変更できる
ページタイトルの変更は容易か OK

(個人GROWI内からの引用)

GROWIの個人検証

構築

AWS 上で以下の構成で手構築した。

  • EC2インスタンスを用意
  • EC2インスタンスを向いた route 53 設定を投入
  • AWS BACKUP で EC2 インスタンスごとbackupを定期取得している

その後の EC2インスタンスの初期設定は以下の通り。

(以下個人 GROWI鯖からの引用)


手順

以下の手順で作成した。

EC2 instance の作成

portを全て閉じた状態で、EC2 instance を作成する。

docker の install と起動

参考: https://docs.docker.com/engine/install/ubuntu/

sudo apt update
sudo apt-get install     ca-certificates     curl     gnupg     lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose
sudo docker ps # dockerが起動したことを確認

growi の install と起動

参考: https://docs.growi.org/ja/admin-guide/getting-started/docker-compose.html

git clone https://github.com/weseek/growi-docker-compose.git growi
cd growi

# https の proxyを立てる設定を入れる
cp examples/https-portal/docker-compose.override.yml .
sed -i 's/example.com/(ここにec2インスタンスへのURLが入る)/' docker-compose.override.yml

# 起動
sudo docker-compose up -d

growi の初期設定

ssh -i (EC2 instance の pem)  -l ubuntu -L 3000:localhost:3000  (EC2 instance の IP address)
  1. local から localhost:3000 にアクセスし、初期ユーザー作成した。(初期ユーザはadminになる)
  2. localhost:3000/admin/security を開き、以下の設定を入れる
    • ページの閲覧権限 > ゲストユーザーのアクセス: 拒否(アカウントを持つユーザーのみ利用可能)

引用終わり

運用

階層化が見やすくてかなり便利

GROWIのページの階層化

感想

決めごと、ルール系の流れて行ってはいけない情報が蓄積出来てかなり便利だ。
しばらく安住してよさそうな使い心地の良さを感じている。
ただし、微々たるものとは言え運用負荷・運用のための技術維持が必要であり、さらにAWS使用料がかかるなので、その点は考える必要はある。
とはいえ、今のところ大きな問題に感じていない。

12月に入ってからのブログ記事計画も実はGROWIで管理していた。

記事管理

みなさんも良き資料管理ライフを!

GitHubで編集を提案

Discussion

ログインするとコメントできます