From 5b6c39bf19c6dd8a0d4090c33ebe1da75f116761 Mon Sep 17 00:00:00 2001 From: Artur Pata Date: Fri, 16 Jan 2026 11:03:12 +0200 Subject: [PATCH 1/4] Set plausible image version to v3.2.0 --- compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.yml b/compose.yml index 8395c23..f36ecbc 100644 --- a/compose.yml +++ b/compose.yml @@ -34,7 +34,7 @@ services: start_period: 1m plausible: - image: ghcr.io/plausible/community-edition:v3.1.0 + image: ghcr.io/plausible/community-edition:v3.2.0 restart: always command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run" depends_on: From 153066809ab7fccd8d0813630481c972992337fe Mon Sep 17 00:00:00 2001 From: Artur Pata Date: Fri, 16 Jan 2026 12:01:22 +0200 Subject: [PATCH 2/4] Reformat readme, update version --- README.md | 115 ++++++++++++++++++++++++++---------------------------- 1 file changed, 55 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index de17e33..2670b0e 100644 --- a/README.md +++ b/README.md @@ -20,66 +20,61 @@ ### Quick start -1. Clone this repository: - - ```console - $ git clone -b v3.1.0 --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 - clickhouse/ - compose.yml - LICENSE - README.md - ``` - -1. Create and configure your [environment](https://docs.docker.com/compose/environment-variables/) file: - - ```console - $ 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. - - Also ensure `$SECRET_KEY_BASE` is set to at least a **64-byte** string. - -1. Expose Plausible server to the web with a [compose override file:](https://github.com/plausible/community-edition/wiki/compose-override) - - ```sh - $ 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` and `HTTPS_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.](https://github.com/plausible/community-edition/wiki/reverse-proxy) - -1. Start the services with Docker Compose: - - ```console - $ docker compose up -d - ``` - -1. Visit your instance at `$BASE_URL` and create the first user. +#### 1. Clone this repository + +```console +$ git clone -b v3.2.0 --single-branch https://github.com/plausible/community-edition plausible-ce +Cloning into 'plausible-ce'... + +$ cd plausible-ce + +$ ls -1 +clickhouse/ +compose.yml +LICENSE +README.md +``` + +#### 2. Create and configure your [environment](https://docs.docker.com/compose/environment-variables/) file + +```console +$ 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. + +Also ensure `$SECRET_KEY_BASE` is set to at least a **64-byte** string. + +#### 3. Expose Plausible server to the web with a [compose override file:](https://github.com/plausible/community-edition/wiki/compose-override) + +```sh +$ 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` and `HTTPS_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.](https://github.com/plausible/community-edition/wiki/reverse-proxy) + +#### 4. Start the services with Docker Compose: + +```console +$ docker compose up -d +``` + +#### 5. Visit your instance at `$BASE_URL` and create the first user. > [!NOTE] > Plausible CE is funded by our cloud subscribers. From 97a4cb4190a8087b8b6dbba91a26ce48564f61ac Mon Sep 17 00:00:00 2001 From: Artur Pata Date: Fri, 16 Jan 2026 12:02:06 +0200 Subject: [PATCH 3/4] Add tips for evaluating locally --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 2670b0e..596ba13 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,9 @@ Make sure `$BASE_URL` is set to the **actual domain** where you plan to host the Also ensure `$SECRET_KEY_BASE` is set to at least a **64-byte** string. +> [!TIP] +> To evaluate CE locally, set `BASE_URL=http://localhost:8000` (or any other port on your system). + #### 3. Expose Plausible server to the web with a [compose override file:](https://github.com/plausible/community-edition/wiki/compose-override) ```sh @@ -68,6 +71,9 @@ EOF Setting `HTTP_PORT=80` and `HTTPS_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.](https://github.com/plausible/community-edition/wiki/reverse-proxy) +> [!TIP] +> To evaluate CE locally, you only need to set `HTTP_PORT` and expose it on the system port from the previous step, e.g. for `BASE_URL=http://localhost:8000` and server `HTTP_PORT=80`, `ports` override should be `- 8000:80`. + #### 4. Start the services with Docker Compose: ```console From 7ba2a0ee06e773d985b08caa5d6d5915e38d71ef Mon Sep 17 00:00:00 2001 From: Artur Pata Date: Fri, 2 Jan 2026 11:39:11 +0200 Subject: [PATCH 4/4] Fix low resources settings for Clickhouse --- .gitignore | 1 + ...efault-profile-low-resources-overrides.xml | 19 +++++++++++++++++ clickhouse/low-resources.xml | 21 +------------------ compose.yml | 9 ++++++-- 4 files changed, 28 insertions(+), 22 deletions(-) create mode 100644 clickhouse/default-profile-low-resources-overrides.xml diff --git a/.gitignore b/.gitignore index ae85196..4cce985 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ !clickhouse/logs.xml !clickhouse/ipv4-only.xml !clickhouse/low-resources.xml +!clickhouse/default-profile-low-resources-overrides.xml !README.md !LICENSE !.gitignore diff --git a/clickhouse/default-profile-low-resources-overrides.xml b/clickhouse/default-profile-low-resources-overrides.xml new file mode 100644 index 0000000..20874e1 --- /dev/null +++ b/clickhouse/default-profile-low-resources-overrides.xml @@ -0,0 +1,19 @@ + + + + + + 1 + + 8192 + + 1 + + 0 + + 0 + + + diff --git a/clickhouse/low-resources.xml b/clickhouse/low-resources.xml index a75e843..7734a62 100644 --- a/clickhouse/low-resources.xml +++ b/clickhouse/low-resources.xml @@ -1,23 +1,4 @@ - - + 524288000 - - - - - 1 - - 8192 - - 1 - - 0 - - 0 - - diff --git a/compose.yml b/compose.yml index f36ecbc..cc97bb2 100644 --- a/compose.yml +++ b/compose.yml @@ -20,9 +20,10 @@ services: # This makes ClickHouse bind to IPv4 only, since Docker doesn't enable IPv6 in bridge networks by default. # Fixes "Listen [::]:9000 failed: Address family for hostname not supported" warnings. - ./clickhouse/ipv4-only.xml:/etc/clickhouse-server/config.d/ipv4-only.xml:ro - # This makes ClickHouse consume less resources, which is useful for small setups. + # The following configuration files make ClickHouse consume less resources, which is useful for small setups. # https://clickhouse.com/docs/en/operations/tips#using-less-than-16gb-of-ram - ./clickhouse/low-resources.xml:/etc/clickhouse-server/config.d/low-resources.xml:ro + - ./clickhouse/default-profile-low-resources-overrides.xml:/etc/clickhouse-server/users.d/default-profile-low-resources-overrides.xml:ro ulimits: nofile: soft: 262144 @@ -30,7 +31,11 @@ services: environment: - CLICKHOUSE_SKIP_USER_SETUP=1 healthcheck: - test: ["CMD-SHELL", "wget --no-verbose --tries=1 -O - http://127.0.0.1:8123/ping || exit 1"] + test: + [ + "CMD-SHELL", + "wget --no-verbose --tries=1 -O - http://127.0.0.1:8123/ping || exit 1", + ] start_period: 1m plausible: