Skip to content

Add Plausible Analytics v3.2.0 - Privacy-Friendly Web Analytics#37

Open
BookJJun-IJ wants to merge 3 commits intoYundera:mainfrom
BookJJun-IJ:Plausible
Open

Add Plausible Analytics v3.2.0 - Privacy-Friendly Web Analytics#37
BookJJun-IJ wants to merge 3 commits intoYundera:mainfrom
BookJJun-IJ:Plausible

Conversation

@BookJJun-IJ
Copy link
Member

Add Plausible Analytics v3.2.0 - Privacy-Friendly Web Analytics

Description

Plausible Analytics is a simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics. No cookies, fully GDPR/CCPA/PECR compliant out of the box.

Key Features:

  • Lightweight tracking script (< 1 KB) with zero impact on page load times
  • No cookies or personal data collection - privacy by design
  • GDPR, CCPA, and PECR compliant without any configuration
  • Simple, intuitive dashboard with all essential metrics
  • Publicly shareable dashboards for transparency
  • Goal conversions and custom event tracking
  • Real-time analytics with up-to-the-minute stats
  • Google Search Console integration
  • Self-hosted with full data ownership

Technical Implementation:

  • 3-container architecture: Plausible CE + PostgreSQL 16 + ClickHouse 24.12
  • $PCS_DEFAULT_PASSWORD for database authentication (no hardcoded credentials)
  • Automatic cryptographic secret generation on first start (SECRET_KEY_BASE, TOTP_VAULT_KEY)
  • Registration set to invite_only by default for security
  • Caddy reverse proxy labels for clean HTTPS URLs
  • Port 80 exposed for clean NSL Router URLs
  • Healthchecks on both database services with service_healthy dependency conditions
  • Internal plausible-network for inter-service communication + external pcs for routing
  • Multi-language support (English, Korean, Chinese, Spanish, French)

Architecture:

User → Caddy (HTTPS) → Plausible CE (port 80) → PostgreSQL (user data) + ClickHouse (analytics data)

Security Checklist

  • Authentication via onboarding - first user becomes admin (valid exception per CONTRIBUTING.md)
  • Registration set to invite_only by default
  • No hardcoded credentials - $PCS_DEFAULT_PASSWORD for database
  • Cryptographic secrets auto-generated and persisted in /DATA/AppData/plausible/secrets/
  • Proper file permissions: user: "0:0" on all services (required for database data directories)
  • Specific version tags: ghcr.io/plausible/community-edition:v3.2.0, postgres:16.6-alpine, clickhouse/clickhouse-server:24.12-alpine

Functionality Checklist

  • Works immediately after installation - onboarding starts automatically
  • Data mapped to /DATA/AppData/plausible/ (db, event-data, event-logs, secrets)
  • No manual configuration required - secrets auto-generated, DB auto-created and migrated
  • Data persistence - all analytics data, user accounts, and secrets persist across reinstalls
  • cpu_shares set on all services:
    • plausible: 70 (Interactive with Heavy Tasks - real-time dashboard + analytics processing)
    • plausible-db: 50 (Standard Application - PostgreSQL backend)
    • plausible-events-db: 50 (Standard Application - ClickHouse analytics storage)
  • Resource reservations configured:
    • plausible: 512M reservation
    • plausible-db: 256M reservation
    • plausible-events-db: 512M reservation
  • Healthchecks on PostgreSQL and ClickHouse with proper start_period
  • depends_on with condition: service_healthy ensures correct startup order
  • Fresh installation tested
  • Uninstall/reinstall tested - data persists

Documentation Checklist

  • Clear description in 5 languages (en_us, ko_kr, zh_cn, fr_fr, es_es)
  • Multi-language taglines
  • Multi-language tips with setup instructions
  • Icon, screenshots, thumbnail point to Yundera/AppStore@main

Testing

  • ✅ Fresh installation - all 3 containers start in correct order
  • ✅ Healthchecks pass for PostgreSQL and ClickHouse
  • ✅ Database auto-creation and migration successful
  • ✅ Cryptographic secrets generated and persisted
  • ✅ Admin account creation via onboarding flow
  • ✅ Website tracking script generation
  • ✅ Real-time analytics data reception verified
  • ✅ Dashboard loads with correct metrics
  • ✅ Invite-only registration enforced
  • ✅ Data persistence across uninstall/reinstall
  • ✅ Resource usage within configured limits

Category

Analytics

Screenshots

  1. Main analytics dashboard with visitor metrics
  2. Real-time visitor tracking view
  3. Goal conversions and custom events

Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant