Cara Install Plausible Analytics di Ubuntu 20.04

Plausible adalah web analytics yang ringan dengan lisensi open source. Plausible memposisikan diri sebagai alternatif dari Google Analytics, sederhana, menghormati privasi, dan sesuai dengan aturan privasi dan perlindungan data seperti GDPR, CCPA, dan PECR.

Plausible tersedia dalam versi dua versi yaitu cloud dengan biaya $9/bulan untuk 10.000 pageviews dan self-hosted yang dapat diinstall di server milik sendiri.

*Tutorial Server*

Server dan perangkat lunak yang digunakan pada tutorial kali ini:

· VPS Ubuntu 20.04 · Docker 20.10 · Docker Compose 2.2 · Git · Subdomain plausible.musaamin.my.id · Nginx reverse proxy · SSL Let’s Encrypt

*Install Docker*

Plausible self-hosted berjalan di atas Docker container. Install Docker terlebih dahulu.

Update package index dan install dependensi.

[INPUT]

1 2 apt update apt install apt-transport-https ca-certificates curl gnupg lsb-release -y

Downlod GPG key untuk Docker.

[INPUT]

1 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Pasang Docker repository.

[INPUT]

1 2 3 echo \   “deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \   $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Update kembali dan install docker-ce.

[INPUT]

1 2 apt update apt install docker-ce docker-ce-cli containerd.io -y

Install docker-compose.

[INPUT]

1 2 wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -O /usr/bin/docker-compose chmod +x /usr/bin/docker-compose

*Cloning Plausible*

Download plausible/hosting repository.

[INPUT]

1 2 3 apt install git -y git clone https://github.com/plausible/hosting cd hosting

*Required Configuration*

Generate 64 karakter secret key, copy key hasil generate.

[INPUT]

1 openssl rand -base64 64 | tr -d ‘\n’ ; echo

Buka file plausible-conf.env.

[INPUT]

1 nano plausible-conf.env

Masukkan key hasil generate di SECRET_KEY_BASE dan masukkan juga konfigurasi untuk admin dan url.

[INPUT]

1 2 3 4 5 ADMIN_USER_EMAIL=trial@musaamin.web.id ADMIN_USER_NAME=musa       ADMIN_USER_PWD=rahasia   BASE_URL=https://plausible.musaamin.my.id SECRET_KEY_BASE=UHdvHlsryH3yvpEvd0TJEnrovwAi5r4gnWXLED9ahmFlSGlrBnV/+/GwIGw29db4Go3cmADmXX7ojY+GpYvOfA==

*Jalankan Server*

Jalankan server dengan menggunakan docker-compose.

[INPUT]

1 docker-compose up -d

Ketika perintah di atas dijalankan pertama kali hal yang dikerjakan adalah:

· Membuat Postgres database untuk user data · Membuat Clickhouse database untuk statistik · Menjalankan migrations database untuk membuat schema · Membuat akun admin · Menjalankan server pada port 8000

*Nginx Reverse Proxy*

Secara default Plausible berjalan di protokol HTTP pada port 8000 dan diakses dengan menggunakan IP address. Direkomendasikan untuk menjalankan Plausible dengan HTTPS di belakang reverse proxy misalnya dengan Nginx.

Install Nginx.

[INPUT]

1 apt install nginx -y

Membuat file server block Nginx untuk Plausible.

[INPUT]

1 nano /etc/nginx/conf.d/plausible.conf

Masukkan konfigurasinya, sesuaikan nama domain (server_name) yang digunakan.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 server {         server_name plausible.musaamin.my.id;           listen 80;         listen [::]:80;           location / {                 proxy_pass http://127.0.0.1:8000;                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;         } }

Restart Nginx.

[INPUT]

1 systemctl restart nginx

*Install SSL Let’s Encrypt*

Install certbot Let’s Encrypt untuk Nginx.

[INPUT]

1 apt install certbot python3-certbot-nginx -y

Request SSL untuk domain Plausible.

[INPUT]

1 certbot –non-interactive -m email@example.com –agree-tos –no-eff-email –nginx -d plausible.musaamin.my.id –redirect

Akses https://server-name, Plausible siap digunakan, login dengan menggunakan akun admin yang dikonfigurasikan sebelumnya pada file plausible-conf.env.

Plausible login form

Selamat mencoba 🙂

Leave a Reply

Your email address will not be published.