Plausible Analytics VPS
Plausible Community Edition from its own repository in Docker, on the server's loopback until you register through an SSH tunnel. Then one command puts it on your domain with HTTPS.
Who it suits
Site owners who want simple, cookie-free visitor statistics without sending data to Google. The Community Edition is the free, self-managed release: no support from Plausible, fewer releases, and some features stay in their cloud (the repository's README lists them). Plausible's paid cloud is the managed option.
Which plan
Standard (2 vCPU, 4 GB) is the smallest plan we offer it on. Plausible recommends at least 2 GB of memory, and ClickHouse is the hungry part, so Standard leaves room for traffic peaks and its background work. ClickHouse also needs a CPU with SSE 4.2.
What we install
Plausible CE runs as three containers from the project's community-edition repository: Plausible itself, PostgreSQL for accounts and sites, and ClickHouse for the events. We clone the newest release to /opt/plausible, generate its secret keys in .env and publish Plausible on 127.0.0.1:8000.
- git
- jq
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
- git
- jq
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
From order to ready
- Server ready. We email you when the server is running, and you can log in with SSH. The installer starts on that same first boot.
- Installer running. It logs to
/var/log/vps9-setup.log;tail -fit to watch. - Application ready.
/var/lib/vps9-setup.exitappears when the installer has finished, holding 0 if it worked. Plausible is ready whencurl http://127.0.0.1:8000/api/system/health/readyon the server reports postgres and clickhouse as ok.
What you still do
- From your computer, run
ssh -L 8000:127.0.0.1:8000 root@<your IPv4>, openhttp://localhost:8000and register your account. - Point a domain such as stats.example.com at the server, allow ports 80 and 443 in the panel firewall, and run
vps9-https stats.example.com. - Log in at https://stats.example.com, add your site and put the script it gives you on your pages.
Exposure and security
Plausible lets whoever registers first, while it has no users, create the first account, so it listens on 127.0.0.1:8000 and you register through an SSH tunnel. vps9-https won't publish it until someone has registered, then puts Caddy on 80 and 443 and sets BASE_URL to your domain. After the first account, registration is by invitation only, Plausible's default.
Backups and upgrades
Updates are yours: read the release notes, then in /opt/plausible fetch the new release tag with git, check it out and run docker compose up -d; major versions can need extra steps. We turn on the operating system's automatic security updates. Back up /opt/plausible/.env and the db-data, event-data and plausible-data volumes off the server. We run the hardware, the network and the first-boot install; after that, Plausible Analytics is yours to run, and we don't manage, update or back it up for you.
Plausible Analytics questions
How is Plausible CE different from Plausible's cloud?
It's the self-managed, open-source release of the same dashboard. It comes without Plausible's support, is released less often, and some features stay in the cloud; the community-edition README lists them. Your data stays on your server.
Does Plausible need a cookie banner?
Plausible doesn't set cookies or store personal data, which is why many sites use it without a consent banner. Whether you need one depends on where you and your visitors are and what else your site does; we can't give legal advice.
How much traffic can it handle?
We haven't benchmarked it. ClickHouse is built for large event volumes, and memory is usually the first limit. Watch the server's graphs in the panel and move up a plan if ClickHouse runs short.
Order it from your terminal
$ vps9 servers create --plan standard --image ubuntu-24.04 --app plausible --hostname web-1 --key key_8f2c{
"plan": "standard",
"image": "ubuntu-24.04",
"hostname": "web-1",
"app": "plausible"
}