13 Commits

Author SHA1 Message Date
d25367a088 Change plausible container data to regular volume
Bind mount caused issues, apparently permissions issue, I don't want to
debug it anymore.
2026-03-05 02:56:37 -06:00
39d4431d1b Add stop_grace_period of 60s to all containers 2026-03-05 02:56:36 -06:00
3f19f1598b Expose plausible HTTP port (locally) 2026-03-05 02:56:17 -06:00
56b33c62a9 Replace docker volumes with bind mounts 2026-03-05 02:56:17 -06:00
Artur Pata
15529b26b8 Fix readme compose override file step, ellipsis instead of example secret key base 2026-01-26 17:50:20 +02:00
Artur Pata
f602706e0f Fix low resources settings for Clickhouse 2026-01-26 17:30:40 +02:00
Artur Pata
0bafa03fef Add tips for evaluating locally 2026-01-26 17:30:40 +02:00
Artur Pata
2963f78649 Reformat readme, update version 2026-01-26 17:30:40 +02:00
Artur Pata
d2f69ab4fc Set plausible image version to v3.2.0 2026-01-26 17:30:40 +02:00
Artur Pata
5cb5234fd7 Release v3.1.0 2025-11-13 06:13:04 +02:00
ruslandoga
33a33aae88 Update README.md 2025-08-20 13:30:10 +09:00
ruslandoga
d29d2f0dfa be clear about secret key base being 64 bytes 2025-08-20 13:27:39 +09:00
ruslandoga
7648365635 there is LICENSE now 2025-08-19 10:22:51 +09:00
5 changed files with 76 additions and 66 deletions

1
.gitignore vendored
View File

@@ -3,6 +3,7 @@
!clickhouse/logs.xml !clickhouse/logs.xml
!clickhouse/ipv4-only.xml !clickhouse/ipv4-only.xml
!clickhouse/low-resources.xml !clickhouse/low-resources.xml
!clickhouse/default-profile-low-resources-overrides.xml
!README.md !README.md
!LICENSE !LICENSE
!.gitignore !.gitignore

View File

@@ -20,26 +20,22 @@
### Quick start ### Quick start
1. Clone this repository: #### 1. Clone this repository
```console ```console
$ git clone -b v3.0.1 --single-branch https://github.com/plausible/community-edition plausible-ce $ git clone -b v3.2.0 --single-branch https://github.com/plausible/community-edition plausible-ce
Cloning into '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 $ cd plausible-ce
$ ls -1 $ ls -1
README.md
clickhouse/ clickhouse/
compose.yml compose.yml
LICENSE
README.md
``` ```
1. Create and configure your [environment](https://docs.docker.com/compose/environment-variables/) file: #### 2. Create and configure your [environment](https://docs.docker.com/compose/environment-variables/) file
```console ```console
$ touch .env $ touch .env
@@ -48,12 +44,17 @@
$ cat .env $ cat .env
BASE_URL=https://plausible.example.com BASE_URL=https://plausible.example.com
SECRET_KEY_BASE=As0fZsJlUpuFYSthRjT5Yflg/NlxkFKPRro72xMLXF8yInZ60s6xGGXYVqml+XN1 SECRET_KEY_BASE=...unique secret key base...
``` ```
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. 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.
1. Expose Plausible server to the web with a [compose override file:](https://github.com/plausible/community-edition/wiki/compose-override) 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 ```sh
$ echo "HTTP_PORT=80" >> .env $ echo "HTTP_PORT=80" >> .env
@@ -70,13 +71,16 @@
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) 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: > [!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 ```console
$ docker compose up -d $ docker compose up -d
``` ```
1. Visit your instance at `$BASE_URL` and create the first user. #### 5. Visit your instance at `$BASE_URL` and create the first user.
> [!NOTE] > [!NOTE]
> Plausible CE is funded by our cloud subscribers. > Plausible CE is funded by our cloud subscribers.

View File

@@ -0,0 +1,19 @@
<!-- https://clickhouse.com/docs/en/operations/tips#using-less-than-16gb-of-ram -->
<clickhouse>
<profiles>
<default>
<!-- https://clickhouse.com/docs/en/operations/settings/settings#max_threads -->
<max_threads>1</max_threads>
<!-- https://clickhouse.com/docs/en/operations/settings/settings#max_block_size -->
<max_block_size>8192</max_block_size>
<!-- https://clickhouse.com/docs/en/operations/settings/settings#max_download_threads -->
<max_download_threads>1</max_download_threads>
<!--
https://clickhouse.com/docs/en/operations/settings/settings#input_format_parallel_parsing -->
<input_format_parallel_parsing>0</input_format_parallel_parsing>
<!--
https://clickhouse.com/docs/en/operations/settings/settings#output_format_parallel_formatting -->
<output_format_parallel_formatting>0</output_format_parallel_formatting>
</default>
</profiles>
</clickhouse>

View File

@@ -1,23 +1,4 @@
<!-- https://clickhouse.com/docs/en/operations/tips#using-less-than-16gb-of-ram -->
<clickhouse> <clickhouse>
<!-- <!-- https://clickhouse.com/docs/en/operations/server-configuration-parameters/settings#mark_cache_size -->
https://clickhouse.com/docs/en/operations/server-configuration-parameters/settings#mark_cache_size -->
<mark_cache_size>524288000</mark_cache_size> <mark_cache_size>524288000</mark_cache_size>
<profile>
<default>
<!-- https://clickhouse.com/docs/en/operations/settings/settings#max_threads -->
<max_threads>1</max_threads>
<!-- https://clickhouse.com/docs/en/operations/settings/settings#max_block_size -->
<max_block_size>8192</max_block_size>
<!-- https://clickhouse.com/docs/en/operations/settings/settings#max_download_threads -->
<max_download_threads>1</max_download_threads>
<!--
https://clickhouse.com/docs/en/operations/settings/settings#input_format_parallel_parsing -->
<input_format_parallel_parsing>0</input_format_parallel_parsing>
<!--
https://clickhouse.com/docs/en/operations/settings/settings#output_format_parallel_formatting -->
<output_format_parallel_formatting>0</output_format_parallel_formatting>
</default>
</profile>
</clickhouse> </clickhouse>

View File

@@ -22,9 +22,10 @@ services:
# This makes ClickHouse bind to IPv4 only, since Docker doesn't enable IPv6 in bridge networks by default. # 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. # Fixes "Listen [::]:9000 failed: Address family for hostname not supported" warnings.
- ./clickhouse/ipv4-only.xml:/etc/clickhouse-server/config.d/ipv4-only.xml:ro - ./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 # 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/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: ulimits:
nofile: nofile:
soft: 262144 soft: 262144
@@ -32,11 +33,15 @@ services:
environment: environment:
- CLICKHOUSE_SKIP_USER_SETUP=1 - CLICKHOUSE_SKIP_USER_SETUP=1
healthcheck: 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 start_period: 1m
plausible: plausible:
image: ghcr.io/plausible/community-edition:v3.0.1 image: ghcr.io/plausible/community-edition:v3.2.0
stop_grace_period: 60s stop_grace_period: 60s
restart: always restart: always
command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run" command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"