5segです。
ほんとは開設時に入れるべきだったので今更感はありますが、umamiを導入しました。
Umamiについて
プライバシー重視のアナリティクス取得サービスです。機能自体はGoogle Analyticsとほぼ変わらず、統計を取るために必要のないものは省かれているような感じです。クッキーも使いませんし、訪問者が誰であるかを特定できるようなものもありません。
入れた理由
このウェブサイトがいつ見られているかとか、どんな人が見てくれているかを調べるために、というのが一つの理由です。/var/log/nginx/access.logを調べればumamiを使わずとも訪問者は調べられるのですが、手間がかかりますしログは7日分しか取っていないので古い記録は全て消えてしまうんですよね...
umamiを入れて、楽をしながらどんな記事が人気だとか、そういうのを調べようという次第です。
あとは純粋に、気になっていたサービスを使ってみたかっただけです。気になったものは使ってみたいですし。
導入がすごく簡単!
方法はすごくシンプルで、サーバーを立ち上げて、クライアント側のhtmlでscript.jsを読み込ませるだけです。
Google Analyticsのときは少し手間がかかった気がします。なのでこれはありがたい。
コンテナを立ち上げる
---
services:
umami:
image: ghcr.io/umami-software/umami:latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:randompassword@db:5432/umami
APP_SECRET: replace-me-with-a-random-string
SKIP_LOCATION_HEADERS: 1
depends_on:
db:
condition: service_healthy
init: true
restart: always
healthcheck:
test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
interval: 5s
timeout: 5s
retries: 5
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: randompassword
volumes:
- umami-db-data:/var/lib/postgresql/data
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5
volumes:
umami-db-data:あとはdocker compose up -dするだけ。続きはDocsを見れば全部わかるので省略。5分もかからないです。
scriptタグを入れる
https://github.com/5seg/website-v2/commit/0e7b19ea27152c65c034029b67dc1fb1ed42e359
<script defer src="https://u.5seg.top/script.js" data-website-id="7b088d5c-069e-4582-b4ec-5122486702b7"></script>これを埋め込むだけです。
あとはデプロイして、おわり!
軽くダッシュボードを見てみる
Overview

よくある見た目です。見やすい。
Session list

ブログの場合ページ転移時以外でイベントが発火することはないはずなので、Last seenの項目についてはあてにならなそうです。
ざっくりどんな端末で見ているのかを調べることはできそう?
その他
他にもいろいろあって、◯曜日の☓☓時にアクセスが多いとかもわかります。訪問者が増えたら使えそうですね。
共有機能もありますが、恐らく使うことはないでしょう...
統計を送信したくない場合
セルフホストなので、恐らく何も設定していない場合はAdGuard等にブロックされることもなく統計が送信されます。
もしもそれが嫌な場合は、u.5seg.topをブロックするか、JavaScriptを無効にしてください。どちらの方法でも構いません。5seg.topはJavaScriptなしで快適な閲覧が可能です。