Logseq DB の同期機能を試してみる

ふだんの生活で出会うさまざまな情報をメモにとるだけでなく、あとで活用可能なネットワークにして整理できるアプリケーションやウェブサービスのことを「パーソナル・ナレッジ・マネージメント」の頭文字をとって PKM などといいます。

最近だと、Obsidian や Notion を PKM 的に使う人も多いかと思いますが、私がずっと利用しているのは Logseq という、箇条書きのアウトライン形式でメモをとるアプリです。

もともと Logseq は Obsidian と同様に Markdown を利用してファイルシステムをベースにした仕組みでしたが、それでは拡張性や速度に限界があったこともあって、ここ数年は SQLite をバックエントにした新しいバージョンが開発されていました。開発は延びに延び、いったいいつ終わるのだろうというほど待たされたのですが、ここ数週間でようやくひとまずのリリースに向けた作業が進められていることが明らかになりました。

これにともなって、以前までのバージョンは Logseq OG という名前に変わり新機能の開発の行われないメンテナンスモードに入ります。新しいアプリは Logseq DB として開発が進められるだけでなく、今後は iOS アプリや Android アプリの整備も着手される予定になっています。

だいぶ開発が進んでいるので、まもなく利用できるようになる LogseqDB ですが、公式の同期機能などはまだリリースされていませんし、基本的には有料になる予定です。ただし、Logseq は自分でサーバーを立てて複数のデバイスを同期させることも可能になっていますので、この記事ではそうした最新の開発状況を試してみたいという人向けに情報をまとめてみました。

まず前提情報を確認

本題に移る前に、いくつかの前提情報を書いておきます。まず、もしあなたの目的が「Logseq DBを試してみたい」というだけならば、以下の作業を実行する必要はなく、ウェブ版のテストサーバーを使うことができます。test.logseq.com に存在するバージョンは:

  • 比較的最新の Logseq のテスト用で、Chrome などのブラウザで利用可能
  • ブラウザから直接ファイルシステムにバックアップをとることができますので、今後正式版のアプリがリリースされた際にそこに情報を持ち出すことも可能
  • 画像やファイルなどのアセットを追加することは可能ですが、それをバックアップすることはできません。それをするには正式な同期サーバーがリリースされるのを待つか、自前のサーバーを利用する必要があります。

といった特徴や制限がありますが、いまではかなり安定していますので日常使用には問題がないはずです。

つまり、以下の作業を試してみたいという人は、複数のパソコン、スマートフォンで Logseq のグラフを同期して持ち出したい。しかも公式のリリースよりも先にその機能を試してみたいという人向けになります。

では、以下の作業はどんな人向けか?

以上の前提に立ったうえで、以下では Cloudflare Worker を使った自前の Logseq と、同期サーバーをビルドしてみます。これで、以下のようなことが可能になります。

  • ローカルネットワーク上で複数端末の Logseq が同期できます
  • 自宅の電源を入れたままの端末で同期サーバーを動かせば、Tailscale 経由で出先でも同期が可能です
  • Cloudflare のアカウントや VPS は不要です

ここからは同期に対応した Logseq の最新ビルドを利用することになりますが、当然バグがあったり不安定なことがありますので、使用する際には、必ず1時間毎の自動バックアップ機能を設定しておき、データ消失が起こらないように注意してください。

デスクトップアプリの最新のビルドは Github の Nightly Build で手に入れることができます。macOS の場合は arm か x86 かに注意して、M1 以降の Apple シリコンの場合は arm 版をダウンロードするようにしてください。間違ったバージョンをダウンロードすると、速度がかなり低下します。

以下、最新の同期サーバーを構築しますが、macOS で Homebrew を使った場合の解説になります。

事前準備

手順としては、1. Logseq のソースコードを Github から入手し、2. 同期サーバーをビルドするという順序になりますが、事前にいくつかの開発環境をインストールしておきます。

  • Node、npm、pnpm
  • Java と Clojure
  • Cloudflare wrangler

まずは node と npm を Node.js を公式サイトのインストーラーを使ってインストールします。次にパッケージマネージャーの pnpm は:

npm install -g pnpm

で完了です。次に、Java と Clojure 言語の環境は、Homebrew を使ってインストールするのが楽です。

brew install --cask temurin
brew install clojure/tools/clojure

Cloudflare wrangler も、同様に Homebrew でインストールしてしまいましょう。

npm install -g wrangler

これで準備は完了です。

同期サーバーを作成する

次に、Logseq の同期サーバーを構築して立ち上げておきます。

cd logseq/deps/db-sync
pnpm install
pnpm release
# この下の行は一度だけ実行する
cd worker && wrangler d1 migrations apply DB --local && cd -
cd worker
wrangler dev

これで同期サーバーが立ち上がりますが、localhost:8787 からしかアクセスできませんので、ローカルネットワークの他の端末から見えるようにするためにもう一つだけ設定が必要です。いったんサーバーを落として、このディレクトリの下の worker というディレクトリにある wrangler.toml に以下を追記します。

[dev]
port = 8787
ip = "0.0.0.0"

そのうえで、このディレクトリで wrangler dev と実行します。これで、ローカルネットワークの他の端末からも同期サーバーが見えるようになります。たとえばこの端末のローカル IP が 192.168.1.10 なら、Logseq の同期サーバーを 192.168.1.10:8787 に設定すればよいわけです。

同期サーバーや Logseq 本体はいまも開発が続けられていますので、変更が入ったときには git pull で変更を取り入れて、もう一度同期サーバーをビルドすれば最新の状態を反映することができます。

ここでは同期サーバーのみをビルドしていますが、Logseq 本体のアプリをビルドすることも簡単にできます。ただし、同期機能をローカルで試したい場合には ENABLE_DB_SYNC_LOCAL=true フラグが必要になりますので、ドキュメントを見ながら作業してみてください。

Logseq 側の同期の設定

次に、同期に対応している Logseq 上で、同期サーバーの場所を設定します。「設定 → 高度な設定」に存在する同期サーバーの欄に、同期サーバーが動いている場所を入力します。

iOS のテストアプリを使ってみたいという人は、Testflight から入手して、同様に同期サーバーの設定をします。ただし、Testflight の Logseq をインストールすると従来の Markdown 版のアプリは消えてしまいますので注意してください。

すでに存在する DB グラフを同期に対応させる

同期を使い始めるためには、Logseq のグラフを同期サーバー側にアップロードする必要があります。この設定は、「すべてのグラフ」で対象のローカルグラフの右側にある「…」メニューを右クリックして表示される「Logseq Syncを使う」から実行します。

これを行うと、グラフが同期サーバー上で管理されるようになります。ここでとても重要な注意なのですが、この設定の前にグラフはアセットもふくめてバックアップをとっておくのが賢明です。

2026年5月時点での Logseq にはグラフのパスワード周りにバグが残っていて、正しいパスワードをいれても同期が開始されないといったことがあります。この場合にはグラフを一旦削除して、インポートしてから再度同期を設定するとうまくいきます。

私はグラフを同期させたときに初回にE2EEについてのポップアップが出てきてパスワード入力を求められるものの、どんなパスワードをいれても失敗するという不具合に遭遇したこともあります。この場合は「拒否」でポップアップを消して、その後に表示される Logseq のパスワード入力欄にパスワードを入力するとうまくいきました。

とにかく、まだ最新の Logseq には不具合も多いので、大切なデータはアセットも含めてバックアップをとってからでなければ同期しないほうがいいでしょう。まずは空っぽのグラフで始めるのがおすすめです。

一般ユーザー向けの、楽な方法はじきに

以上で、ローカルネットワークで Logseq を同期させるサーバーを運用することができます。もし、このサーバーを出先からアクセスしたい場合には、Tailscale などを使ってローカルのサーバーにアクセスするといった手段が有効です。

開発経験などがないと難しい内容だったと思いますが、数ヶ月以内には公式の同期サーバーも試験公開される可能性もありますので、ハードルが高いという人はそれを待つのが無難かもしれません。

開発の最前線を試してみたいという人は、(バックアップに注意しつつ)挑戦してみてください。

堀 E. 正岳(Masatake E. Hori)
2011年アルファブロガー・アワード受賞。ScanSnapアンバサダー。ブログLifehacking.jp管理人。著書に「ライフハック大全」「知的生活の設計」「リストの魔法」(KADOKAWA)など多数。理学博士。