Self-host with Docker ComposeThe full stack from an empty server: three data stores, four services, TLS in front, and the commands that prove it works.9 minute readMigrate from Google AnalyticsRun both in parallel, port only the events you actually use, and know why the figures differ before somebody asks.7 minute readMigrate from Plausible or UmamiThe operational half is familiar. The new part is identity, which needs instrumentation neither tool asked you for.6 minute read
Or skip straight to it
Clone the repository, bring the stack up with Docker Compose, and paste one script tag.