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/README.md b/README.md
index de17e33..596ba13 100644
--- a/README.md
+++ b/README.md
@@ -20,66 +20,67 @@
### 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.
+
+> [!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
+$ 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)
+
+> [!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
+$ 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.
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 8395c23..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,11 +31,15 @@ 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:
- 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: