banner
 Sayyiku

Sayyiku

Chaos is a ladder
telegram
twitter

Debian 11 を使用して Docker で Plausible Analytics をインストールし、自分のウェブサイトの統計を作成する

この記事では、Debian 11 上で Docker を使用して Plausible Analytics をインストールし、自分のウェブサイトの統計を作成する方法を説明します。

PS:この記事は、Docker をインストールできる任意の Linux ディストリビューションにも適用されます。

なぜ自分のウェブサイトの統計を作成するのか?#

理由は簡単です。自分のウェブサイトのデータは自分で管理したいからです。あなたは自分のウェブサイトのデータが第三者によって「いわゆる」ビッグデータ分析会社に売られることを望みますか?

Plausible Analytics は、プライバシー保護で知られるウェブサイト統計ソフトウェアで、数ヶ月の試用を経て、基本的にすべてのニーズを満たすことができ、商業的な Google Analytics などの製品に代わることができます。

Plausible Analytics のインストール#

/opt/plausible ディレクトリにインストールすることをお勧めします:

mkdir -p /opt/plausible
cd /opt/plausible

まず、docker-compose.yaml ファイルを作成する必要があります。実際のニーズに応じてパラメータを変更してください:

version: "3.8"
services:
  mail:
    image: bytemark/smtp
    restart: always

  plausible_db:
    image: postgres:12
    volumes:
      - db-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=postgres
    restart: always

  plausible_events_db:
    image: yandex/clickhouse-server:21.3.2.5
    volumes:
      - event-data:/var/lib/clickhouse
      - ./clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
      - ./clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    restart: always

  plausible:
    image: plausible/analytics:latest
    command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh db init-admin && /entrypoint.sh run"
    depends_on:
      - plausible_db
      - plausible_events_db
      - mail
      - geoip
    volumes:
      - ./geoip:/geoip:ro
    ports:
      - 127.0.0.1:8000:8000
    env_file:
      - plausible-conf.env
    restart: always

  geoip:
    image: maxmindinc/geoipupdate
    env_file:
      - geoip.env
    volumes:
      - ./geoip:/usr/share/GeoIP

volumes:
  db-data:
    driver: local
  event-data:
    driver: local
  geoip:
    driver: local

次に、同じディレクトリに geoip フォルダと plausible-conf.env ファイルを作成します:

mkdir -p geoip
touch plausible-conf.env
touch geoip.env

plausible-conf.env を編集し、公式のチュートリアルに従って設定します。あなたのウェブサイトの URL が https://stat.example.com/ であると仮定すると、以下のようになります:

ADMIN_USER_EMAIL=管理者のメールアドレス
ADMIN_USER_NAME=管理者のユーザー名
ADMIN_USER_PWD=管理者のパスワード
BASE_URL=https://stat.example.com/
SECRET_KEY_BASE=ランダムな文字列
MAILER_EMAIL=ウェブサイト通知用メールアドレス
SMTP_HOST_ADDR=SMTP ホスト名
SMTP_HOST_PORT=SMTP ポート
SMTP_USER_NAME=SMTP ユーザー名
SMTP_USER_PWD=SMTP パスワード
DISABLE_REGISTRATION=true
GEOLITE2_COUNTRY_DB=/geoip/GeoLite2-Country.mmdb

SECRET_KEY_BASE には 64 バイトのランダムな文字列が必要です。openssl rand -base64 64 または pwgen 64 を使用して生成できます。

DISABLE_REGISTRATIONtrue に設定すると、ユーザー登録が無効になります。

SMTP には、市場に出回っているすべてのメール送信製品を使用できます。また、面倒な人は Gmail などの無料サービスを直接使用することもできますし、Mailcow を自分で構築して使用することもできます。チュートリアルはこちらにあります。

次に、Maxmind アカウントを登録し、登録が成功したら左側のメニュー Account > Manage License KeysGenerate new license key をクリックして License key を取得し、Account ID とこの License key を記録します:

その後、geoip.env を編集し、以下の情報を入力します:

GEOIPUPDATE_EDITION_IDS=GeoLite2-Country
GEOIPUPDATE_FREQUENCY=168 
GEOIPUPDATE_ACCOUNT_ID=あなたの Account ID
GEOIPUPDATE_LICENSE_KEY=あなたの License Key

次に、イメージを取得して起動します:

docker-compose pull
docker-compose up -d

起動が完了したら、http://127.0.0.1:8000/ で Plausible を試用できます。外部サービスを提供する必要がある場合は、Nginx のリバースプロキシを設定する必要があります。

Nginx を再起動すると、https://stat.example.com/ にアクセスできるようになります。

Plausible Analytics の更新#

万能な Docker 更新方法:

docker-compose pull

docker-compose up -d

docker system prune

Plausible Analytics のバックアップ#

主にデータベースのバックアップです。関連コマンドは以下の通りです:

docker exec -t plausible_plausible_db_1 pg_dumpall -c -U postgres | gzip > dump_$(date +"%Y-%m-%d_%H_%M_%S").gz

現在の時間に基づいて PostgreSQL データベースをダンプし、gzip で圧縮パッケージ化します。

Plausible Analytics のアンインストール#

docker-compose down
rm -rf /opt/plausible
docker image rm postgres:12
docker image rm maxmindinc/geoipupdate:latest
docker image rm plausible/analytics:latest
docker image rm yandex/clickhouse-server:21.3.2.5
docker image rm bytemark/smtp:latest
docker volume rm plausible_db-data
docker volume rm plausible_event-data

WordPress 追加方法#

使用しているテーマの header.php ファイルを直接編集し、<?php wp_head(); ?> の後に統計コードを追加するだけです。

テーマを変更したくない場合は、公式のプラグインを直接インストールすることもできます。

VuePress 追加方法#

VuePress v1.x を使用している場合は、.vuepress/config.js ファイルを編集し、module.exports に以下を追加します:

['script', {}, `
const script = document.createElement('script');
script.async = true;
script.defer = true;
script['data-domain'] = '統計ドメイン';
script.src = 'https://stat.example.com/js/plausible.js';
document.head.appendChild(script);`
],

VuePress v2.x を試用している場合は、.vuepress/config.ts ファイルを編集し、export default に以下を追加します:

['script', {}, `
const script = document.createElement('script');
script.async = true;
script.defer = true;
script['data-domain'] = '統計ドメイン';
script.src = 'https://stat.example.com/js/plausible.js';
document.head.appendChild(script);`
],

Next.js 追加方法#

次のプラグイン をインストールし、以下のようなコードを使用します:

import PlausibleProvider from 'next-plausible'

export default function MyApp({ Component, pageProps }) {
  return (
    <PlausibleProvider domain="統計ドメイン" customDomain="https://stat.example.com" selfHosted>
      <Component {...pageProps} />
    </PlausibleProvider>
  )
}

その他の追加方法については、公式のドキュメントを参照してください。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。