3.5 KiB
A getting started guide to self-hosting Plausible Community Edition
Prerequisites
- Docker and Docker Compose must be installed on your machine.
- CPU must support SSE 4.2 or NEON instruction set or higher (required by ClickHouse).
- At least 2 GB of RAM is recommended for running ClickHouse and Plausible without fear of OOMs.
Quick start
-
Clone this repository:
$ git clone -b v2.1.3 --single-branch https://github.com/plausible/community-edition plausible-ce Cloning into 'plausible-ce'... remote: Enumerating objects: 13, done. remote: Counting objects: 100% (10/10), done. remote: Compressing objects: 100% (9/9), done. remote: Total 13 (delta 0), reused 7 (delta 0), pack-reused 3 (from 1) Receiving objects: 100% (13/13), done. $ cd plausible-ce $ ls -1 README.md clickhouse/ compose.yml
-
Create and configure your environment file:
$ touch .env $ echo "BASE_URL=https://plausible.example.com" >> .env $ echo "SECRET_KEY_BASE=$(openssl rand -base64 48)" >> .env $ cat .env BASE_URL=https://plausible.example.com SECRET_KEY_BASE=As0fZsJlUpuFYSthRjT5Yflg/NlxkFKPRro72xMLXF8yInZ60s6xGGXYVqml+XN1
Make sure
$BASE_URL
is set to the actual domain where you plan to host the service. The domain must have a DNS entry pointing to your server for proper resolution and automatic Let's Encrypt TLS certificate issuance. More on that in the next step. -
Expose Plausible server to the web with a compose override file:
$ echo "HTTP_PORT=80" >> .env $ echo "HTTPS_PORT=443" >> .env $ cat > compose.override.yml << EOF services: plausible: ports: - 80:80 - 443:443 EOF
Setting
HTTP_PORT=80
andHTTPS_PORT=443
enables automatic Let's Encrypt TLS certificate issuance. You might want to choose different values if, for example, you plan to run Plausible behind a reverse proxy. -
Start the services with Docker Compose:
$ docker compose up -d
-
Visit your instance at
$BASE_URL
and create the first user.
Wiki
For more information on installation, upgrades, configuration, and integrations please see our wiki.
Contact
- For release announcements please go to GitHub releases.
- For a question or advice please go to GitHub discussions.