前回 の続き。
概要
個人的なメモのデータは自分で管理したい (企業に預けたくない) が、デバイス間の同期やコラボレーション機能も欲しい、というわけで下記の要件を満たすメモアプリを探した。
- セルフホスト可能
- デバイス間の同期
- コラボレーション機能
- Markdown 対応
- タグ機能
- フォルダ機能 (できれば)
調べた結果、Joplin が条件を満たしていたので導入することにした。
サーバーの設定
Joplin の導入
Docker Compose を使って動かす。
ファイル構成
|
|
ファイルの作成
laurent22/joplin を参考に設定する。
-
docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
version: '3' networks: proxy: external: true joplin: driver: bridge services: db: image: postgres:13 volumes: - ./data/postgres:/var/lib/postgresql/data # ports: # - "5432:5432" restart: unless-stopped environment: - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_DB=${POSTGRES_DATABASE} networks: - joplin labels: - "com.centurylinklabs.watchtower.enable=true" app: image: joplin/server:latest depends_on: - db ports: - "22300:22300" restart: unless-stopped environment: - APP_PORT=22300 - APP_BASE_URL=${APP_BASE_URL} - DB_CLIENT=pg - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DATABASE=${POSTGRES_DATABASE} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PORT=${POSTGRES_PORT} - POSTGRES_HOST=db - MAILER_ENABLED=1 - MAILER_HOST=${MAILER_HOST} - MAILER_PORT=${MAILER_PORT} - MAILER_SECURE=1 - MAILER_AUTH_USER=${MAILER_AUTH_USER} - MAILER_AUTH_PASSWORD=${MAILER_AUTH_PASSWORD} - MAILER_NOREPLY_NAME=${MAILER_NOREPLY_NAME} - MAILER_NOREPLY_EMAIL=${MAILER_NOREPLY_EMAIL} networks: - proxy - joplin labels: - "traefik.enable=true" - "traefik.http.routers.joplin.rule=Host(`${TRAEFIK_JOPLIN}`)" - "traefik.http.routers.joplin.entrypoints=https" - "traefik.http.routers.joplin.tls=true" - "com.centurylinklabs.watchtower.enable=true"
- .env
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
TRAEFIK_JOPLIN=notes.tsukimiya.io APP_BASE_URL=https://<URL> APP_PORT=22300 DB_CLIENT=pg POSTGRES_PASSWORD=<DB のパスワード> POSTGRES_DATABASE=joplin POSTGRES_USER=joplin POSTGRES_PORT=5432 POSTGRES_HOST=localhost MAILER_HOST=<SMTP サーバーのホスト名> MAILER_PORT=<SMTP サーバーのポート> MAILER_AUTH_USER=<SMTP サーバーのユーザー名> MAILER_AUTH_PASSWORD=<SMTP サーバーのパスワード> MAILER_NOREPLY_NAME=<送信者名> MAILER_NOREPLY_EMAIL=<送信者のメールアドレス>
- .env
今回は複数ユーザーでの利用を想定して、.env
でユーザー登録用のメール設定を行っている。
起動
|
|
起動後、.env で指定したドメインをブラウザで開き、Email: admin@localhost
Password: admin
でログインする。ログイン後は Admin メニューから Email とパスワードを変更できる。
PC の設定
Joplin を使用するには専用のクライアントが必要になる。PC 向けのクライアントは GitHub に上がっているのでダウンロードする。
起動したら [Tools] > [Options] > [Synchronization] から Synchronization target を [Joplin Server (Beta)] に変更し、先程設定した情報を入力する。
所感
概要で挙げた要件をすべて満たしているだけあって、使用感は概ね満足。タグ機能に加えて「ノートブック」がフォルダの役割を果たしており、乱雑になりやすい各メモの整理も簡単だ。
1つ不満点を挙げるとすればコラボレーション機能か。定期的に (最小は5分毎) ノートの差分を同期サーバーにアップロードする形なので、HackMD のように複数人でリアルタイムに同じノートを編集することができない。