Memosで「雑に置ける」自分用メモサーバを作る
~紙copiが好きだった人へ~
TL;DR
- Memosは、セルフホストできる軽量メモアプリである。
- Notionのように整理してから書くのではなく、思いつきや作業ログを「まず置く」道具として使いやすい。
- 昔の紙copiが好きだった人には、この「雑に置ける」感覚がかなり近いと思う。
- Dockerで簡単に立てられ、OCI Always Freeの小さなVMにも載る。
- スマホからPWAとしてアプリのように使える。
- この記事では、MemosをDockerで起動し、自分用メモ置き場として使い始めるところまでを扱う。
- 外部公開や認証は別記事に分ける。
はじめに
昔、Windows用のメモ・スクラップアプリに「紙」「紙copi」というソフトがあった。
Webページの断片、ちょっとした文章、あとで読む情報、作業メモ。
そういうものを、きれいに整理する前に、とりあえず置いておけるアプリだった。
私はあれが好きだった。
Notionのように、最初からページ構造やデータベースを作り込むのではなく、まず紙片を机の上に置く。
分類はあとで考える。タイトルも後でいい。
とにかく、今こぼれそうなものを逃がさない。
そんな使い方ができる道具だった。
最近、セルフホストできるメモアプリ Memos を導入してみたところ、この感覚にかなり近いものを感じた。
この記事では、Memosを自分用メモサーバとして導入した記録を書く。
OCI Always Freeで動かせるのが大きい
Memosの良いところは、軽いことである。
ただし、軽いアプリはたくさんある。
Memosの場合、その軽さが OCI Always Freeの小さなVMに載せやすい ところまでつながっているのが大きい。
自分用メモは、できれば常時動いていてほしい。
思いついたときに開ける。
外出先でも書ける。
PCの電源を落としていても使える。
スマホからも見られる。
翌日も、来月も、同じ場所にある。
この「いつでもそこにある」感覚が、メモアプリではかなり重要である。
ローカルPC上だけで動かすと、そのPCを起動している間しか使えない。
自宅サーバに置いてもよいが、電気代と手間がかかる。
その点、OCI Always FreeのVMに置けると、個人用の小さな常時稼働サーバとして使える。
無料枠には制限がある。でも、Memosのような軽いメモアプリをひとつ動かすには、かなり相性が良い。
無料枠のVPSに、自分専用の紙片置き場を作る
そう考えると、Memosはぐっと魅力が増す。
紙copiは、手元のPCにある紙束だった。
MemosをOCI Always Freeに置くと、それがインターネット上の自分専用の小さな机になる。
Memosとは
Memosは、セルフホストできる軽量メモアプリである。
ざっくり言うと、次のようなものだ。
- 短文メモを書ける
- 日付順に並ぶ
- タグを付けられる
- Markdownが使える
- Dockerで簡単に動く
- 自分のサーバに置ける
見た目はSNSのタイムラインに近い。
ただし、使い方としては「自分専用のメモ置き場」と考えるとしっくりくる。
NotionではなくMemosが欲しかった理由
Notionは便利である。
ただし、便利すぎるぶん、使い始める前に少し身構える。
ページを作る。
階層を作る。
データベースにするか考える。
プロパティを決める。
ビューを作る。
これはこれで強力だが、作業ログや思いつきの断片を残すには、少し重いことがある。
たとえば、
あとでCloudflare Tunnelを調べる
とか、
このコマンド、次回も使う
とか、
この構成、たぶん後で効いてくる
という程度のメモに、立派なページは要らない。
Memosは、そういう断片をそのまま置ける。
紙copiに似ているところ
似ていると感じたのは、機能が同じだからではない。
思想が近いと感じたからである。
1. まず置ける
Memosは、メモを書いて保存するだけである。
タイトルを付ける必要はない。
フォルダを決める必要もない。
長文にする必要もない。
作業中に気づいたことを、そのまま置ける。
これは紙copiの「とりあえず紙に貼る」感覚に近い。
2. 未整理のまま価値がある
メモというものは、書いた瞬間には整理されていないことが多い。
むしろ、整理する前の状態に価値がある。
後で読み返したときに、
あ、このときこう考えていたのか
と分かることがある。
Memosは、未整理のメモを無理に構造化しない。
日付順に積み上がるので、作業ログとしても使いやすい。
3. タグであとから束ねられる
最初からフォルダを決めなくても、必要になったらタグを付けられる。
たとえば、
#homelab
#later
#memo
#cloudflare
#proxmox
のようにしておくと、あとで同じ話題だけ拾える。
最初から分類棚を作るのではなく、紙片に付箋を貼っていく感じである。
スマホでアプリのように使える
Memosは、PCのブラウザで使うだけではない。
スマホからも使える。
これがかなり重要である。
メモしたいことは、PCの前にいるときだけ出てくるわけではない。
出先で思いつく。
電車の中で思いつく。
買い物中に思いつく。
寝る前に思いつく。
作業中に、次にやることだけスマホで残したくなる。
そういうとき、Memosをスマホのホーム画面に置いておけると、一気に使いやすくなる。
MemosはPWAとしてアプリのようにインストールできる。
つまり、ブラウザのブックマークとして開くのではなく、ホーム画面にアイコンを置いて、普通のアプリのように起動できる。
これは地味だが、使い勝手にはかなり効く。
ブラウザを開く
↓
ブックマークを探す
↓
Memosを開く
ではなく、
ホーム画面のMemosアイコンを押す
↓
書く
になる。
この差は小さいようで大きい。
Memosは「思いついた瞬間に書く」道具なので、入口が一段減るだけで使う回数が増える。
紙copiは、PCの中にある紙束だった。
MemosをOCI Always Free上に置き、スマホではアプリのように開けるようにすると、その紙束がポケットに入る。
これはかなり大きい。
自分専用のメモ置き場が、PCにもスマホにもあり、しかも常時動いている。
この状態になると、Memosは単なるWebアプリではなく、日常の思考を逃がさない小さな受け皿になる。
今回の記事で扱う範囲
この記事では、MemosをDockerで起動し、自分用のメモ置き場として使い始めるところまでを扱う。
外部から使いたい場合は、VPN、リバースプロキシ、Cloudflare Tunnelなど複数の方法がある。
ただし、個人用メモは中身が生活ログや作業ログに近くなる。
外部公開する場合は、認証や公開範囲を慎重に考える必要がある。
そのため、外部公開や認証の話は別記事に分ける。
この記事ではまず、
Memosを立てる
↓
自分用メモ置き場として使う
↓
バックアップの基本を押さえる
ところまでにする。
Docker ComposeでMemosを起動する
ここでは、Docker ComposeでMemosを起動する。
作業ディレクトリを作る。
sudo mkdir -p /opt/memos
cd /opt/memos
compose.yml を作成する。
sudo nano compose.yml
内容は次のようにする。
services:
memos:
image: neosmemo/memos:stable
container_name: memos
restart: unless-stopped
ports:
- "127.0.0.1:5230:5230"
volumes:
- ./data:/var/opt/memos
起動する。
cd /opt/memos
sudo docker compose up -d
確認する。
docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'
curl -I --max-time 10 http://127.0.0.1:5230/
HTTP/1.1 200 OK が返れば、Memos本体は動いている。
127.0.0.1で待ち受ける理由
今回の例では、portsを次のようにしている。
ports:
- "127.0.0.1:5230:5230"
0.0.0.0:5230 ではなく、127.0.0.1:5230 である。
これは、Memosをサーバの外へ直接公開しないためである。
127.0.0.1:5230
にしておくと、Memosはサーバ自身からしか直接アクセスできない。
LAN内だけで試したい場合や、自宅内から直接アクセスしたい場合は、構成に応じて変更する必要がある。
ただし、インターネットへ公開する場合は、認証や公開範囲をよく考えてからにしたほうがよい。
個人用メモは、ただのメモに見えても、生活ログや作業ログの塊になりがちである。
安易に公開しないほうがよい。
バックアップ
MemosはSQLiteを使うため、確実にバックアップするなら停止してからデータを固めるのが安全である。
cd /opt/memos
sudo docker compose stop memos
cd /opt
sudo tar czf "/home/ubuntu/memos-backup-$(date +%Y%m%d-%H%M%S).tgz" memos
cd /opt/memos
sudo docker compose start memos
バックアップファイルを確認する。
ls -lh /home/ubuntu/memos-backup-*.tgz
Windows側に回収する場合は、たとえば次のようにする。
scp -i "C:\Users\yourname\.ssh\oci.key" ubuntu@example.com:/home/ubuntu/memos-backup-*.tgz .
Memosは軽いアプリだが、メモは積み上がると自分にとってかなり重要なデータになる。
導入したら、早めにバックアップ手順も決めておくと安心である。
使いどころ
Memosは、きれいなナレッジベースを作るための道具というより、作業中に出てくる断片を逃がさないための道具だと思う。
たとえば、こんな用途に向いている。
- 作業ログ
- サーバ構築メモ
- あとで調べること
- コマンド断片
- 読書メモ
- 記事のネタ
- トラブル対応中の気づき
- 家庭内インフラの変更履歴
- 今はやらないが、あとで効きそうなメモ
特に #later のようなタグを作っておくと、あとで見返す箱として便利である。
Memosは「完成した文章」の置き場ではない
Memosを使ってみて感じたのは、これは完成した文章の保管庫ではない、ということだ。
むしろ、完成前のものを置く場所である。
文章になる前の断片。
設計になる前の違和感。
手順書になる前のコマンド。
記事になる前の思いつき。
そういうものを置いておける。
そして、あとで見返したときに、その断片がつながることがある。
まとめ
Memosは、軽量なセルフホストメモアプリである。
ただ、単に「Dockerで動くメモアプリ」として見るより、昔の紙copiのような「雑に置ける情報置き場」として見ると、かなり魅力が分かりやすいと思う。
Notionのように整理してから書くのではなく、まず書く。
分類はあと。
価値があるかどうかも、あとで決める。
さらに、OCI Always Freeのような無料枠VPSに置ける軽さがある。
常時動かせて、スマホからもアプリのように使える。
この組み合わせがかなり良い。
紙copiのように雑に置ける
Dockerで軽く立つ
OCI Always Freeに載せやすい
スマホからも開ける
自分専用のメモ置き場になる
小さなメモ置き場だが、あとから見ると、そこに自分の作業と思考の航跡が残る。
昔の紙束が、今は小さなサーバの上で動いている。
そう考えると、Memosはかなり楽しい道具である。