Kembali ke Series Homelab dari Nol
Homelab

Self-hosted Analytics dengan Umami: Google Analytics Alternative yang Privacy-Friendly

Panduan lengkap setup Umami analytics self-hosted sebagai alternatif Google Analytics. Privacy-friendly, cepat, dan data sepenuhnya milik kamu.

A
Alif Afriza Penulis
· · 5 menit baca
Self-hosted Analytics dengan Umami: Google Analytics Alternative yang Privacy-Friendly

Google Analytics memang powerful, tapi ada harga yang harus dibayar: data pengunjung kamu dikirim ke Google. Bagi yang peduli privasi, Umami adalah alternatif yang sangat baik. Analytics yang sepenuhnya milik kamu, di-host di server kamu sendiri.

Mengapa Umami?

Keunggulan Umami vs Google Analytics

FiturUmamiGoogle Analytics
Self-hostedYaTidak
Privacy-friendlyYa (GDPR compliant)Tidak
Open sourceYaTidak
Tanpa cookieYaTidak
CepatSangat ringanBerat
Data ownership100% milik kamuMilik Google
BiayaGratisGratis (tapi data = bayaran)

Kapan Harus Pakai Umami?

  • Kamu peduli privasi pengunjung
  • Kamu ingin data analytics tetap milik kamu
  • Kamu tidak butuh fitur kompleks GA (funnel, attribution, dll)
  • Kamu ingin analytics yang ringan dan cepat
  • Kamu host website sendiri di homelab

Setup Umami dengan Docker

Step 1: Persiapan

Pastikan Docker dan Docker Compose sudah terinstall:

# Cek Docker
docker --version

# Cek Docker Compose
docker-compose --version

Step 2: Clone Umami

# Buat direktori
mkdir -p ~/umami && cd ~/umami

# Clone repository
git clone https://github.com/umami-software/umami.git .

# Masuk ke direktori
cd umami

Step 3: Konfigurasi Environment

# Copy environment template
cp .env.example .env

Edit file .env:

# Database
DATABASE_URL=postgresql://umami:your_password@db:5432/umami
DATABASE_TYPE=postgresql

# App
APP_SECRET=your_random_secret_key_here

Generate random secret:

# Generate random string
openssl rand -base64 32

Step 4: Buat Docker Compose

# docker-compose.yml
version: '3'
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:your_password@db:5432/umami
      DATABASE_TYPE: postgresql
      APP_SECRET: your_random_secret_key
    depends_on:
      db:
        condition: service_healthy
    restart: always

  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: your_password
    volumes:
      - umami-db-data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U umami"]
      interval: 5s
      timeout: 5s
      retries: 5
    restart: always

volumes:
  umami-db-data:

Step 5: Jalankan Umami

# Build dan jalankan
docker-compose up -d

# Cek status
docker-compose ps

# Lihat logs
docker-compose logs -f

Step 6: Login

Buka browser dan akses:

http://localhost:3000

Default credentials:

  • Username: admin
  • Password: umami

Langsung ganti password setelah login pertama kali!

Konfigurasi Website

Step 1: Tambah Website

  1. Login ke Umami dashboard
  2. Klik + Add Website
  3. Isi nama dan URL website
  4. Klik Save

Step 2: Dapatkan Tracking Code

Setelah menambahkan website, Umami akan memberikan tracking code:

<script
  defer
  src="https://your-umami-domain.com/script.js"
  data-website-id="your-website-id"
></script>

Step 3: Pasang di Website

Tambahkan tracking code sebelum tag </head> di website kamu:

<!DOCTYPE html>
<html>
<head>
  <!-- ... meta tags lainnya ... -->
  <script
    defer
    src="https://your-umami-domain.com/script.js"
    data-website-id="your-website-id"
  ></script>
</head>
<body>
  <!-- ... konten website ... -->
</body>
</html>

Setup di Astro (ByteNesia)

Jika kamu menggunakan Astro seperti ByteNesia:

---
// src/layouts/BaseLayout.astro
---

<!DOCTYPE html>
<html lang="id">
<head>
  <!-- ... meta tags lainnya ... -->
  
  <!-- Umami Analytics -->
  <script
    defer
    src="https://analytics.bytenesia.afrizalab.my.id/script.js"
    data-website-id="your-website-id"
  ></script>
</head>
<body>
  <slot />
</body>
</html>

Fitur Umami

1. Real-time Analytics

Umami menampilkan data real-time tanpa delay. Kamu bisa melihat:

  • Visitor aktif saat ini
  • Halaman yang sedang dilihat
  • Referrer sources
  • Browser dan device info

2. Custom Events

Kamu bisa track custom events:

// Track button click
umami.track('button-click', { button: 'subscribe' });

// Track form submission
umami.track('form-submit', { form: 'contact' });

// Track file download
umami.track('file-download', { file: 'ebook.pdf' });

3. Goal Tracking

Setup goals untuk track konversi:

  • Newsletter signup
  • Product purchase
  • Form submission
  • Time on page

4. Custom Dashboard

Buat dashboard yang sesuai kebutuhan kamu:

  • Halaman paling populer
  • Referrer terbaik
  • Browser distribution
  • Country/city analytics

Backup dan Maintenance

Backup Database

# Backup Umami database
docker exec umami-db-1 pg_dump -U umami umami > umami-backup.sql

# Restore database
cat umami-backup.sql | docker exec -i umami-db-1 psql -U umami umami

Update Umami

# Pull update terbaru
docker-compose pull

# Restart dengan update
docker-compose up -d

# Cleanup image lama
docker image prune

Monitoring

# Cek resource usage
docker stats umami

# Cek logs
docker-compose logs --tail=100 umami

Deploy Umami di Server

Menggunakan Cloudflare Tunnel

Jika kamu ingin mengakses Umami dari mana saja:

# Tambahkan route di Cloudflare Tunnel config
# /etc/cloudflared/config.yml
ingress:
  - hostname: analytics.yourdomain.com
    service: http://localhost:3000
  - service: http_status:404

Security Hardening

# Batasi akses hanya dari IP tertentu
# Di nginx config:
location / {
    allow 192.168.1.0/24;
    deny all;
    proxy_pass http://localhost:3000;
}

Perbandingan dengan Analytics Lain

FiturUmamiPlausibleMatomoGA4
Self-hostedYaYa (bayar)YaTidak
HargaGratis$9/bulanGratisGratis
GDPRYaYaYaTidak
CookieTidakTidakYaYa
Open sourceYaYaYaTidak
Performance⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

Studi Kasus: Umami untuk ByteNesia

Kebutuhan:

  • Track visitor tanpa Google Analytics
  • Privacy-friendly untuk pengunjung Indonesia
  • Data analytics tetap milik sendiri
  • Tidak butuh fitur kompleks GA4

Solusi:

  • Platform: Umami di Docker
  • Database: PostgreSQL
  • Domain: analytics.bytenesia.afrizalab.my.id
  • Server: Homelab yukikatherina

Hasil:

  • Real-time analytics tanpa cookie
  • Page views, referrers, devices tertrack
  • Data 100% milik sendiri
  • Loading time website lebih cepat (tanpa GA script)

Kesimpulan

Umami adalah alternatif Google Analytics yang sangat baik untuk kamu yang peduli privasi dan ingin memiliki data analytics sendiri. Setup-nya mudah dengan Docker, fiturnya cukup untuk kebutuhan analytics basic, dan yang terpenting, data pengunjung kamu tetap milik kamu.

Open for Contributors

Ide kamu layak dibaca ribuan orang.

ByteNesia dibangun untuk semua orang. Kalau kamu punya pengalaman, tutorial, atau opini tentang teknologi, tulis dan bagikan lewat sini. Nama kamu akan tercantum sebagai kontributor.

Tulis apa saja: review tools, tutorial homelab, tips security, atau cerita pengalaman tech kamu.

Diskusi & Komentar