Deploy Plausible CE | (Just Updated) Google Analytics Alternative Nobody Else Can Claim
Privacy-first analytics. Owner account seeded before the URL goes live.
postgres
Just deployed
/var/lib/postgresql
plausible
Just deployed
Just deployed
/var/lib/clickhouse
Deploy and Host Plausible Community Edition on Railway
Plausible Community Edition is a lightweight, privacy-first web analytics platform and a self-hosted alternative to Google Analytics: no cookies, no personal data collection, a single script tag, and a dashboard your team can read without training. This template deploys Plausible CE v3.2.1 together with its PostgreSQL and ClickHouse databases, and — unlike a stock deploy — it seeds your owner account before the public URL ever serves a request.
About Hosting Plausible Community Edition
Plausible CE is an Elixir/Phoenix application backed by two databases: PostgreSQL for accounts, sites and settings, and ClickHouse for the event stream that powers the dashboards. Hosting it means running all three, wiring the connection strings, keeping a durable disk under each datastore, and running the schema migrations on every upgrade.
It also means dealing with first launch. A stock Plausible image starts with an
empty user table, and while that is true Plausible deliberately opens
registration to whoever arrives first — the guard that would normally close
sign-ups is bypassed during first launch, so DISABLE_REGISTRATION does not
help. On a public URL that means the first stranger who loads /register gets
the owner account, and the deployer is locked out for good, because Plausible's
password recovery is an emailed link and a fresh deployment has no mail server.
This template removes that window. Migrations run, the owner account and its
team are created, and only then is the HTTP port opened, so the very first
request the public URL serves already redirects /register to /login. The
owner password is re-applied on every boot, which makes a redeploy a working
password reset — the recovery path a self-hosted analytics instance otherwise
does not have. Both databases carry volumes, every image is pinned, and the
deploy form asks for nothing.
Why Deploy Plausible Community Edition on Railway?
Railway is a singular platform for deploying your apps and databases. Railway gives this stack private networking between the app and both datastores, persistent volumes for PostgreSQL and ClickHouse, a managed TLS domain, and one-click redeploys — which here double as password resets. You own the data and the instance, and there is no per-pageview pricing.
Common Use Cases
- Replace Google Analytics on a marketing site or blog with a cookieless, GDPR-friendly script that needs no consent banner.
- Give a client or a whole team a shared, readable traffic dashboard without handing out access to a third-party ad platform.
- Track a SaaS product's funnels, goals and custom events on infrastructure you control, with the raw event data in your own ClickHouse.
Dependencies for Plausible Community Edition Hosting
- PostgreSQL 17 — accounts, sites, goals and settings.
- ClickHouse 24.12 — the analytics event store.
Deployment Dependencies
- Plausible Community Edition: https://github.com/plausible/community-edition
- Plausible CE documentation: https://github.com/plausible/community-edition#readme
- Railway packaging for this template: https://github.com/bon5co/plausible-railway
Implementation Details
The owner account is created from PLAUSIBLE_ADMIN_EMAIL and
PLAUSIBLE_ADMIN_PASSWORD, both generated for you at deploy time. The container
refuses to boot if either is empty, so an unclaimed instance is never published.
Read the generated password from the service's variables, sign in at /login,
then add your first site and copy the tracking snippet.
Template Content
postgres
postgres:17.10-alpinePOSTGRES_DB
CLICKHOUSE_SKIP_USER_SETUP