NotionからAFFiNEへの移行:私の経験とその仕組み

私は5年以上Notionを使ってきましたが、その間に気づいたのは Notion は Excel ほど私には合いません。いずれにしても、自分の考えを整理し、データを構造化し、個人的な知識ベースを作成できるメモ作成アプリケーションが必要でした。

NotionからAFFiNEへの移行:私の経験とその仕組み

セルフホスト型のNotion代替ツールは数多くありますが、AFFiNEもその一つです。機能とインターフェースはNotionに非常に似ており、正しく実装すれば複数のツールを一括で削除できます。

最終的にNotionと別れたのはなぜですか?

「オールインワン」が効率的でなくなったとき

Notionでの複数ページ

多くの人と同じように、私もNotionに心から感銘を受けました。柔軟性が高く、ドキュメント、データベース、そして簡単なプロジェクト管理もこなせます。もはや私のオンライン上の第二脳ツールとなっています。問題は、Notionを中心に生活していくうちに、デメリットを感じ始めることです。サブスクリプションが徐々に増えていくこと、特定のベンダーとの連携が停滞すること、そして自分が書いたものがすべて誰かのサーバーにあるという不安感などです。

私はこれまでの人生をNotionで過ごしてきましたが、実際には 整頓されたしかし、これらのマイナス面はすぐに私に追いつきました。 Notion のサブスクリプションには結局お金がかかってしまいました。 毎月、彼は制限されていると感じ始め、私は 私がNotionを使い始めたのは、ただ一つの目的のためだけです。.

Notionで最も優れたデータ整理機能は、表とスプレッドシートです。Notionで最も近い機能はデータベースです。しかし、Notionのデータ処理方法、特に表やデータベースに関しては、Microsoft ExcelやGoogleスプレッドシートほど汎用的ではありません。確かにNotionでは数式を使用できますが、任意のセルやセル範囲から自由にデータを選択することはできません。

AFFiNEに注目したのは、Notionのほぼすべての機能を備えているだけでなく、オープンソースで完全に無料で実行・使用できる点です。ただし、セルフホスティングを避けたい場合は有料プランもあります。自分でホスティングすれば、クローズドプラットフォームのロードマップにリスクを負うことなく、すべてを自分で管理できます。また、ローカルファーストの理念に基づいて構築されているため、データはまず自分のディスクに保存され、共同作業のためにサーバーと同期されます。サーバーがデータを同期させるのではなく、ローカルファーストの理念に基づいて構築されています。

AFFiNE がこれほどの飛躍を遂げることができたのはなぜでしょうか?

ドキュメント、ホワイトボード、データベースを1か所に

初日からNotionをアンインストールしませんでした。まずはAFFiNEで、編集カレンダー、個人用ナレッジベース、プロジェクト計画のためのスペースといった、私のコアワークフローのいくつかを再構築することから始めました。まず驚いたのは、同じツール内でドキュメントモードとホワイトボードモードをシームレスに切り替えることができることです。構造化されたページで1日の予定を概説し、ホワイトボード風のビューにズームインして関連タスクをリンクしたり、ビジュアルメモを追加したり、アプリケーションを離れることなくフローを描画したりできます。

AFFiNEはオープンソースでセルフホストなので、長期的な懸念事項も解消されます。5年以内に会社が消滅したり価格変更されたりしても、困ることはありません。自分のバージョンを使い続けることも、本当に必要であればプロジェクトのフォークを作ることもできます。これは単なる哲学的なメリットではなく、システムやテンプレートの構築にどれだけの時間を費やせるかという点にも影響を与えます。

ローカル設計こそが最大の動機でした。データを自分のディスクに保存し、他のセルフホストサービスと合わせてバックアップも取れるという安心感は、クラウドからすべてをレンタルするのではなく、セルフホストサービスのワークフローに完璧に適合しました。AFFiNEがこのエコシステムに統合できることに気づいたとき、ナレッジベース全体を独自のSaaSプラットフォームに保管するというアイデアは、それほど魅力的ではなくなりました。

ワークフロー全体をスムーズに移行する方法

ページとデータベースをきれいにエクスポートする

AFFiNE フレームレスパネル。

NotionからAFFiNEへの移行は、ワンクリックでインポートして忘れるといった単純なプロセスではありません。少なくとも、長年Notionを使ってきた人にとってはそうでしょう。私は、単純な移行というよりも、再構築というアプローチをとりました。古いページをすべて削除するのではなく、毎日使う部分、つまり進行中のプロジェクト、最新のメモ、そしてライブデータベースに重点を置きました。

AFFiNEのブロックベースエディターは、Wiki、リンクノート、プロジェクトダッシュボードなどの構造を簡単に再構築できます。たとえ一部を手動で再作成する必要がある場合でもです。私は移行を口実に、何年も放置された未完成のページや重複したテンプレートを整理しました。NotionのエクスポートはMarkdownのようなコンテンツとして表示できますが、重要なページだけを手動で再構築し、残りはアーカイブに残しておく方が生産的だと感じています。

AFFiNE 実験ワークスペースのクローズアップショット。

最も大きな考え方の変化は、無限のレイアウトに慣れたことでした。Notionでは、アイデア、図、タイムラインなどを別々のページに分けることが多かったのですが、AFFiNEではこれらの要素が一つのスペースに共存できます。片側にはメモ、中央には大まかなマインドマップ、そしてもう片側にはカンバンスタイルの大まかなレイアウトを配置できます。これを理解し始めてから、AFFiNEをNotionのオープンソース版としてではなく、独自のワークスペースとして捉えるようになりました。

セルフホスト型AFFiNEのセットアップを覗いてみよう

Docker Compose を使用するとセルフホスティングが容易になりますが、まだ行うべき作業が残っています。

アプリケーションには Docker デスクトップ ロゴが表示されます。

AFFiNEはセルフホスティングを公式にサポートしており、Docker Composeはこれを実現する推奨方法です。 公式ガイド 素晴らしいですね。1時間もかからずに起動できます。内部的には、このパッケージは現代のウェブアプリケーションに求められる標準的な構成です。AFFiNEサービス、キャッシュ用のRedis、データベース用のPostgreSQLなどです。既に他のセルフホスト型ツールをご利用の場合は、使い慣れた環境だと思います。

基本的な考え方はシンプルです。公式イメージをドラッグ&ドロップし、RedisとPostgresに接続し、設定とストレージ用の静的ボリュームを割り当て、必要なポートを公開し、環境変数を介して管理者の認証情報を設定します。典型的なComposeファイルはサービスを定義します。 アフィン 画像の使用 ghcr.io/toeverything/アフィングラフQL:安定キャッシュ用のRedisコンテナと、独自のデータストレージを備えたPostgresコンテナも使用されます。これを有効にすると、ブラウザでサーバーのIPアドレスとポートにアクセスし、設定した管理者の認証情報を使用してログインし、ワークスペースを作成できるようになります。

AFFiNEはクラウドバックエンドとワークスペースを同期するように設計されているため、セルフホスト型の設定では、クラウドは単なるサーバーとなります。ログイン後、ワークスペースをインスタンスに接続すると、デバイス間ですべてが同期されます。そこからは、SaaSアプリケーションのように動作します。つまり、誰かのシェルフではなく、自分のシェルフで実行されるアプリケーションです。

動的IPアドレスの問題を解決する

自宅外のインスタンスへのアクセスを維持する

USBドライブが接続されたルーター

インターネットサービスプロバイダーから、約24時間ごとに変更される動的なWAN IPアドレスが割り当てられています。インターネットを閲覧するだけなら問題ありませんが、AFFiNEのようなセルフホスト型オンラインサービスにアクセスする場合は煩わしいです。外部IPアドレスが変更されるたびに、サーバーにアクセスするために設定したドメインやURLが機能しなくなります。

この問題に対する典型的な解決策はダイナミックDNSです。ドメインを暗号化されたIPアドレスにポイントする代わりに、次のようなDDNSプロバイダーを利用できます。 FreeDNS أو DuckDNS これにより、自宅のIPアドレスが変更されるたびにDNSレコードが自動的に更新されます。ルーターまたはネットワーク内の小型クライアントが新しいIPアドレスをDDNSサービスに通知するため、バックグラウンドでアドレスが変更されてもホスト名は引き続き使用できます。インターネットサービスプロバイダに静的IPアドレスをリクエストする方法もありますが、プロバイダが静的IPアドレスを提供できるかどうかはわかりません。

より高度なオプションもご利用いただけます。ホームサーバーからインターネット上の静的ホストへのアウトバウンドトンネルを作成し、外部トラフィックをそのトンネル経由でAFFiNEに戻すことができます。リバーストンネルやVPNターミネーターなどのツールを使用すれば、動的IPアドレスを完全に回避できますが、その代償として複雑さが増します。シングルユーザー向けの設定では、ダイナミックDNSが最もシンプルな選択肢です。高度なオプションは、自宅のIPアドレスを完全に隠蔽したい場合に、より高い信頼性とセキュリティを提供します。

この変革は価値がある。

統合は少なく、制御は強化

調子が良い日には、AFFiNEのセルフホスト版を使うのが信じられないほど満足感があります。ドキュメントとホワイトボードを組み合わせた、モダンで柔軟なワークスペース、リアルタイムコラボレーション、ローカルファーストストレージ、そしてすべて自分が管理するデバイス上で動作します。専用プラットフォームの機能追加を待つ必要も、有料サブスクリプションのブロックによってメモがロックされる心配もありません。

イライラする日には、セルフホスティングとコンシューマー向けインターネットサービスプロバイダーの対応が必ずしも一致しないことを思い出します。IPアドレスが変更されてDNSが遅延したり、外出中に何かにアクセスできなくなったりすると、大規模なホスティング型SaaSプログラムの手軽で信頼性の高いサービスが恋しくなります。

すでにDockerに慣れていて、自分のツールをコントロールすることにある程度興味があるなら、Notionの代替としてAFFiNEを試してみる価値は間違いなくあります。ただし、ソフトウェア面でのメリットはほんの一部に過ぎません。残りは、新しいワークスペースを本当に自分好みにするために、ルーターと格闘する覚悟があるかどうかにかかっています。

トップボタンに移動