QOwnNotes と Nextcloud Notes でノート環境を構築

この数カ月というもの何度目かわからないノートアプリを探す旅に出ていたのですが、いまのところ Nextcloud Notes に落ち着きそうという話です。

ノートアプリに求める条件

個人的な作業環境の制約をまとめるとこんな感じになります。

  • WebUI でノートを編集できること
  • WebUI は画面が小さめのスマホでも操作できること
  • Linux / iOS / Android で動作すること
  • タグ付けできること
  • できれはフォルダなので分類できること
  • メモそのものは平易な操作ができること

これまでは Joplin をメインで使用していましたが勤務先の制約で PC にクライアントアプリを入れられないのでちょっと難儀していました。

Joplin をサーバ上で動作させるのもやってみましたが、スマホだと厳しい。細かいアイコンがほぼタッチ不可能です。

結果どうなったか

Nextcloud Notes を使用することになった。 Linux ではクライアントとして QOwnNotes を使うことにした。

Nextcloud Notes は 結局のところ Notes フォルダに置かれた .md ファイルにほかなならないので最悪 .md だけなんとかつくれればアップすればいいのでこれはこれでいいのだと思う。

ちょっと詳細は覚えていないができる限り試したものをリストアップするとこんな感じ。
今回調べてみてわかったのは WebUI があるノートアプリは意外と少ないしスマホで操作しやすいものはもっとすくない。

いい線までいったもの

  • NoteDiscovery: nextcloud たてた後でこれを見つけたが、これで良かったのかもしれない。
  • Docmost: PCだけならいいと思う。スマホだとノートツリーで狙ったところにノート追加するのがきびしい。
  • Memos: シンプルでタグ付けはできる、フォルダはない。悪くない。が 8Kまでにメモサイズが限定される。ページ丸ごとコピペができないことがある。

インストールしたがそうそうに断念したもの

  • Obsidian: 自分には機能が高度すぎた、UIはかっこえ。
  • BookStack: 見た目が好みでないのと、本棚の概念が馴染めず。
  • SiYuan Note: Obsitian と似ている難しすぎ、名前がねー。
  • Trilium Notes: いろんなテンプレートのノートを作れる、悪くはないがスマホ操作はきびしめ
  • flatnotes: 覚えていないが、tagging がなかった気がする
  • VSCode server: PCや大きめのタブレットならあり、スマホは無理、まあメモではないよね。

試していないがちょっと調べたもの

  • Notejot: きらいじゃない、WebUI がなかったと思う。
  • Notesnook これもいい感じだけど WebUI ないはず。
  • Mimiri Notes: よさげ、Linux しか対応じゃない。Flatpak または Snap は macOS 動くんかな?多分だめなはず
  • Marknote: KDE が必要 Linux / macOS

構築した Nextcloud

portainer に構築した docker-compose はこんな感じでごく普通の Nextcloud

version: '3.8'

services:
  nextcloud-db:
    image: mariadb:10.11
    container_name: nextcloud-db
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - /DATA/nextcloud/db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=db_root_パスワードをいれること
      - MYSQL_PASSWORD=your_nextcloud_パスワードをいれること
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
    networks:
      - nextcloud-net

  nextcloud-redis:
    image: redis:alpine
    container_name: nextcloud-redis
    restart: unless-stopped
    networks:
      - nextcloud-net

  nextcloud:
    image: nextcloud:latest
    container_name: nextcloud
    restart: unless-stopped
    ports:
      - "8400:80"
    volumes:
      - /DATA/nextcloud/html:/var/www/html
      - /DATA/nextcloud/data:/var/www/html/data
    environment:
      - MYSQL_HOST=nextcloud-db
      - MYSQL_PASSWORD=your_nextcloud_パスワードをいれること
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - REDIS_HOST=nextcloud-redis
      - NEXTCLOUD_ADMIN_USER=nextloudの管理者ID
      - NEXTCLOUD_ADMIN_PASSWORD=nextloudの管理者IDのパスワード
      - NEXTCLOUD_TRUSTED_DOMAINS=localhost リバースプロキシで解決しているドメイン名
      - OVERWRITEHOST=リバースプロキシで解決しているドメイン名
      - OVERWRITEPROTOCOL=https
      - TRUSTED_PROXIES=192.168.1.0/24
    depends_on:
      - nextcloud-db
      - nextcloud-redis
    networks:
      - nextcloud-net

networks:
  nextcloud-net:
    driver: bridge

まあ、何の工夫もない構成です。ポイントは

mariadb のコンテナの環境変数でパスワードを適当に変更する必要があります。

MYSQL_ROOT_PASSWORD=db_root_パスワードをいれること
MYSQL_PASSWORD=your_nextcloud_パスワードをいれること

nextcloud 本体のコンテナの環境変数でさっきのmaria で指定したパスワードをセットすること。さらに初期ユーザーになる管理者のIDとパスワードをしていすることくらいです。

MYSQL_PASSWORD=your_nextcloud_パスワードをいれることNEXTCLOUD_ADMIN_USER=nextloudの管理者IDNEXTCLOUD_ADMIN_PASSWORD=nextloudの管理者IDのパスワード

ごく普通の nextcloud の構成だと思います。

うちの構成では、リバースプロキシでドメイン名でアクセスしてきたのをさばいているので以下も設定しています。
TRUSTED_PROXIES はリバースプロキシの IP だけにしてもいいかもしれない。

nextloud.mydomain.com というドメイン名だったらそれを NEXTCLOUD_TRUSTED_DOMAINS と OVERWRITEHOST に設定してやります。

NEXTCLOUD_TRUSTED_DOMAINS=localhost アクセスしてくるドメイン名
OVERWRITEHOST=アクセスしてくるドメイン名
OVERWRITEPROTOCOL=https
TRUSTED_PROXIES=192.168.1.0/24

QOwnNotesAPI を追加

通常の Nextcloud Notes だけなら以上で終了でいいのですが、QOwnNotes から使うために、QOwnNotesAPI という Nextcloud のアプリを追加する必要がるようです。

Nextcloud に管理者でログインして、

右上 > + Apps > Integration から探して追加します。

QOwnNotes のインストール

こっちは特に書くことないのですが、

  • Nextcloud Desktop をインストールして同期フォルダを作成すること。
  • 同期フォルダの下の Notes フォルダを使うように QOwnNotes に設定すること

くらいかな。

QWonNoes 自身はどこのフォルダでもノートを保存できるので、同期できないときは、Nextcloud Desktop が使用しているフォルダと一致していないということ。

同期は、Nextcloud Desktop が行うのでインストール必須。

結果として Synology 脱出の目処がある程度たったのは良かった。これなら数カ月前に一度立てたのでそれで良かったのでずいぶん回り道をしてしまった。


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です