ブラウザ標準のブックマーク機能って、実は結構「怖い」仕組みだと思っています。
仕事柄、PCの画面を共有したり、ふとした瞬間にブラウザを開いたりする機会が多いのですが、その時に見られたくないプライベートな調べ物や、個人的な趣味のブックマークがチラッと見えてしまうリスクが常にあります。
精神的なノイズを徹底的に排除したい私としては、この「いつか見られるかもしれない」という状態がずっと気になっていました。そこで今回、ブラウザからブックマークを完全に切り離し、自分しかアクセスできない堅牢なセルフホスト環境を構築してみました。
結論から言うと、かなり快適になったので、その構成と運用方法を紹介します。
採用したツール:Linkding × Cloudflare Access
今回導入したのは「Linkding」という、非常にミニマルなオープンソースのブックマークマネージャーです。無駄な装飾がなく、動作が軽快で、タグ付けと検索に特化しています。
これを自宅のDocker Swarm環境にデプロイし、外部からのアクセスは Cloudflare Tunnel と Cloudflare Access を通す構成にしました。
インフラ構成のポイント
- ローカルSQLiteでの運用: 大げさなデータベース(PostgreSQLなど)は使わず、ローカルにマウントしたSQLiteの単一ファイルでデータを管理しています。定期的にファイルをコピーするだけでバックアップが完了するので、管理の手間が圧倒的に少ないです。
- ゼロトラストによる保護: 公開ドメインにはCloudflare Accessで強固な認証の壁を設けました。これで、インターネット上には公開しつつも、自分以外の人間は絶対にログイン画面にすら辿り着けない状態を作っています。
PCでの運用:拡張機能と「APIバイパス」の魔法
PC(MacBook Air)からの情報収集は、Firefoxの公式拡張機能を使っています。前段にCloudflare Accessを挟んでいますが、ポリシールールで /api/* への通信だけAccessの認証をスキップ(Bypass) するよう設定しました。
APIへのアクセス自体はLinkdingが発行する長大で複雑な「APIトークン」で守られているため、セキュリティを担保しつつ、拡張機能は常にエラーなしでサクサク動きます。このちょっとした設定で、日々のクリップ作業のストレスが完全に消え去りました。
モバイルでの運用:基本は「見る」専用
一方、モバイルからの運用については、そもそもOSの仕様上モバイル版ブラウザではPCと同じ拡張機能が使えなかったため、連携はすっぱり諦めました。
ただ、自分の運用を振り返ると、モバイルから新規にブックマークを追加することは稀で、基本的には「PCで保存したものをモバイルで見る(検索する)」という使い方がメインです。なので、モバイル環境ではLinkdingのWeb画面を「ホーム画面に追加(PWA化)」しておき、普通に管理画面からアクセスして閲覧するだけの運用に落ち着いています。
これでも十分に爆速で検索できるし、何より自分以外の誰かに簡単に見られることがないため、セキュリティ面でも非常に安心です。
検索機能の優秀さと、APIによる拡張性
運用を始めてみて特に便利だと感じているのが、検索機能とAPIです。
Linkdingの検索は非常に高速で、タグを使った絞り込みはもちろん、論理式(and, or, not)を使った複雑な検索にも対応しています。ブラウザ標準のブックマークと違い、目的の情報へ爆速でアクセスできるのが最高です。
そして、フル機能のREST APIが提供されている点が、エンジニアとしてはたまりません。APIトークンを発行するだけで、外部から自由にデータを操作できます。これを使えば、単なるブックマークを超えた以下のような高度な活用が可能になります。
1. AIによるブックマークの自動解析
APIで保存したデータを定期的に抽出し、ローカルで動かしているAIエージェントに渡して、内容の要約や高度なカテゴリ分類を自動で行わせます。手動でのタグ付けの手間を省きつつ、AIのコンテキストとして情報を蓄積できます。
2. 付随情報(OGP等)の自動収集
定期的にバッチ処理を回し、新しく追加したブックマークの元サイトを巡回して、OGP画像やさらに詳細なメタデータを収集して情報を補完します。標準機能でもファビコン等は取得できますが、APIを使えば自分の欲しいメタデータだけを狙ってリッチな情報基盤を構築できます。
なお、セキュリティの観点から、このAPIトークンは定期的に変更(ローテーション)して運用するのが良さそうです。
まとめ:情報管理の主導権を取り戻す
今回、FirefoxのブックマークをすべてLinkdingに移行し、ブラウザのブックマークバーを完全に空にしました。
「ブラウザには何も保存されていない」という状態は、想像以上に気分がスッキリします。見られたくないものは強固な壁の向こうにあり、いつでも好きなデバイスから安全に引き出せます。
もし、同じようにブラウザのブックマーク管理に限界を感じている人がいれば、LinkdingとCloudflareの組み合わせは本当におすすめできます。ぜひ試してみてください。