4 Commits

Author SHA1 Message Date
76fa24dc35 Add stop_grace_period of 60s to all containers 2025-06-29 20:15:35 -05:00
54c3e37087 Expose plausible HTTP port (locally) 2025-06-29 20:07:22 -05:00
12ccb4bfe7 Replace docker volumes with bind mounts 2025-06-29 20:04:43 -05:00
ruslandoga
940f3d94cb Create LICENSE 2024-12-04 19:19:00 +07:00
5 changed files with 22 additions and 53 deletions

1
.gitignore vendored
View File

@@ -2,7 +2,6 @@
!compose.yml
!clickhouse/logs.xml
!clickhouse/ipv4-only.xml
!clickhouse/low-resources.xml
!README.md
!LICENSE
!.gitignore

View File

@@ -1,8 +1,8 @@
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/plausible/community-edition/refs/heads/v2.1.1/images/logo_dark.svg" width="300">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/plausible/community-edition/refs/heads/v2.1.1/images/logo_light.svg" width="300">
<img src="https://raw.githubusercontent.com/plausible/community-edition/refs/heads/v2.1.1/images/logo_light.svg" width="300">
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/plausible/community-edition/blob/v2.1.1/images/logo_dark.svg" width="300">
<source media="(prefers-color-scheme: light)" srcset="https://github.com/plausible/community-edition/blob/v2.1.1/images/logo_light.svg" width="300">
<img src="https://github.com/plausible/community-edition/blob/v2.1.1/images/logo_light.svg" width="300">
</picture>
</p>
@@ -23,7 +23,7 @@
1. Clone this repository:
```console
$ git clone -b v3.1.0 --single-branch https://github.com/plausible/community-edition plausible-ce
$ git clone -b v2.1.2 --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.
@@ -34,10 +34,9 @@
$ cd plausible-ce
$ ls -1
README.md
clickhouse/
compose.yml
LICENSE
README.md
```
1. Create and configure your [environment](https://docs.docker.com/compose/environment-variables/) file:
@@ -52,9 +51,7 @@
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.
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)
@@ -81,11 +78,6 @@
1. Visit your instance at `$BASE_URL` and create the first user.
> [!NOTE]
> Plausible CE is funded by our cloud subscribers.
>
> If you know someone who might [find Plausible useful](https://plausible.io/?utm_medium=Social&utm_source=GitHub&utm_campaign=readme), we'd appreciate if you'd let them know.
### Wiki
For more information on installation, upgrades, configuration, and integrations please see our [wiki.](https://github.com/plausible/community-edition/wiki)

View File

@@ -17,9 +17,17 @@
</engine>
</query_log>
<metric_log>
<partition_by>event_date</partition_by>
<ttl>event_date + INTERVAL 30 DAY DELETE</ttl>
</metric_log>
<asynchronous_metric_log>
<partition_by>event_date</partition_by>
<ttl>event_date + INTERVAL 30 DAY DELETE</ttl>
</asynchronous_metric_log>
<!-- Stops unnecessary logging -->
<metric_log remove="remove" />
<asynchronous_metric_log remove="remove" />
<query_thread_log remove="remove" />
<text_log remove="remove" />
<trace_log remove="remove" />

View File

@@ -1,23 +0,0 @@
<!-- https://clickhouse.com/docs/en/operations/tips#using-less-than-16gb-of-ram -->
<clickhouse>
<!--
https://clickhouse.com/docs/en/operations/server-configuration-parameters/settings#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>

View File

@@ -9,10 +9,11 @@ services:
- POSTGRES_PASSWORD=postgres
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
start_interval: 2s
start_period: 1m
plausible_events_db:
image: clickhouse/clickhouse-server:24.12-alpine
image: clickhouse/clickhouse-server:24.3.3.102-alpine
stop_grace_period: 60s
restart: always
volumes:
@@ -22,21 +23,17 @@ 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.
# 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
ulimits:
nofile:
soft: 262144
hard: 262144
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 --spider http://127.0.0.1:8123/ping || exit 1"]
start_interval: 2s
start_period: 1m
plausible:
image: ghcr.io/plausible/community-edition:v3.1.0
image: ghcr.io/plausible/community-edition:v2.1.2
stop_grace_period: 60s
restart: always
command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
@@ -46,13 +43,12 @@ services:
plausible_events_db:
condition: service_healthy
volumes:
- plausible-data:/var/lib/plausible
- ./data/plausible:/var/lib/plausible
ulimits:
nofile:
soft: 65535
hard: 65535
environment:
- TMPDIR=/var/lib/plausible/tmp
# required: https://github.com/plausible/community-edition/wiki/configuration#required
- BASE_URL=${BASE_URL}
- SECRET_KEY_BASE=${SECRET_KEY_BASE}
@@ -90,6 +86,3 @@ services:
- MAILGUN_BASE_URI
- MANDRILL_API_KEY
- SENDGRID_API_KEY
volumes:
plausible-data: