Plausible Analyticsは、クッキーを使わずに訪問者を計測するオープンソースのウェブ解析ツールです。Google Analyticsの代替として、シンプルなダッシュボード1画面で主要指標を確認できる設計になっています。クラウド版とセルフホスト版(Community Edition)の両方が提供されています。
バックエンドはElixir/Phoenixで構成され、Dockerfileを見るとビルド段階でElixir 1.20系とErlang 28系、Node 24系を使い、tracker(計測スクリプト)とassets(ダッシュボードUI)をそれぞれnpmでビルドしてからmix releaseで単一の実行バイナリにまとめています。ダッシュボードはassets/js/dashboard以下にReact+TypeScriptで実装されており、react-query経由でAPI(stats-query.ts、api-client.ts)を叩き、グラフ(d3ベースのgraph.tsx)、ファネル分析(extra/funnel)、ユーザー行動の経路探索(extra/exploration)などの機能をコンポーネント単位で構築しています。認証や注釈(annotations)、セグメント機能はロールベースのアクセス制御ロジック(annotations.test.tsのcanAddAnnotationなど)で権限を細かく分けています。フロントはPhoenix LiveViewとAlpine.js(app.js)を併用し、モーダルやドロップダウンなどの軽量UIはLiveViewイベント経由で制御されています。
- STEP 01
リポジトリをcloneし、Dockerfileの手順に沿ってdocker buildを実行すると、Node依存関係のインストールとElixirのmix releaseビルドが順番に走るのを確認できます。
- STEP 02
MIX_ENV=ceを指定してビルドすると、Community Edition向けの設定でcertbotなど自己ホスト運用に必要なパッケージが追加されるのが分かります。
- STEP 03
コンテナ起動後は8000番ポートでPhoenixアプリが立ち上がり、初回セットアップ画面からサイト登録と計測スクリプトの発行を行う流れになります。
- STEP 04
assets配下でnpm testを実行すると、annotations.test.tsやgraph.test.tsなどJestベースの単体テストが多数走り、権限ロジックやグラフの目盛り計算が検証されていることが確認できます。
- STEP 05
e2eディレクトリでplaywright testを実行すると、実際のブラウザ操作を通したダッシュボード動作確認ができる想定です。
自分のサーバー、もしくはPlausibleのクラウドにサイトを登録し、発行されたトラッキングスクリプトを埋め込むことで、訪問数・参照元・国別アクセスなどをクッキー無しで集計したダッシュボードが手に入ります。CSVエクスポートやファネル分析、経路探索といった追加のレポート機能も同じ画面から利用できます。
Dockerfileの記述からビルドにはElixir・Erlang・Node.jsの3つの言語基盤が必要で、セルフホストの初回セットアップはそれなりに手間がかかることが見込まれます。
assets/js/dashboard/extraディレクトリにCOPYING.txtが存在しており、ファネル分析や経路探索など一部の高度な機能はライセンス条件が本体と異なる可能性があります。
READMEによれば、クラウド版はEU圏のインフラでのみデータ処理される設計になっており、セルフホスト版でも同等の地理的制約が自動的に付くわけではない点は利用者側で確認が必要です。
本レビューはソースコードと設定ファイルの記述に基づく机上分析であり、実際にビルド・起動して動作を検証したものではありません。
クッキー無しでプライバシーに配慮した解析を、自前サーバーまたはクラウドで手軽に使いたいチームに向いています。Elixir/Phoenix構成やDockerによるビルドフローはファイル群から明確に読み取れ、React製ダッシュボードのテストコード(annotations、graph、funnelなど)も具体的な仕様を示しているため、機能の実在性は高いと判断できます。ただし実運用のセットアップ手順や性能面は、実際に自分の環境で試すまでは確定的に語れません。