Compare commits
9 Commits
pre-rebase
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| d25367a088 | |||
| 39d4431d1b | |||
| 3f19f1598b | |||
| 56b33c62a9 | |||
|
|
15529b26b8 | ||
|
|
f602706e0f | ||
|
|
0bafa03fef | ||
|
|
2963f78649 | ||
|
|
d2f69ab4fc |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -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
|
||||||
|
|||||||
89
README.md
89
README.md
@@ -20,66 +20,67 @@
|
|||||||
|
|
||||||
### Quick start
|
### Quick start
|
||||||
|
|
||||||
1. Clone this repository:
|
#### 1. Clone this repository
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ git clone -b v3.1.0 --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
|
||||||
clickhouse/
|
clickhouse/
|
||||||
compose.yml
|
compose.yml
|
||||||
LICENSE
|
LICENSE
|
||||||
README.md
|
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
|
||||||
$ echo "BASE_URL=https://plausible.example.com" >> .env
|
$ echo "BASE_URL=https://plausible.example.com" >> .env
|
||||||
$ echo "SECRET_KEY_BASE=$(openssl rand -base64 48)" >> .env
|
$ echo "SECRET_KEY_BASE=$(openssl rand -base64 48)" >> .env
|
||||||
|
|
||||||
$ 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.
|
||||||
|
|
||||||
Also ensure `$SECRET_KEY_BASE` is set to at least a **64-byte** string.
|
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)
|
> [!TIP]
|
||||||
|
> To evaluate CE locally, set `BASE_URL=http://localhost:8000` (or any other port on your system).
|
||||||
|
|
||||||
```sh
|
#### 3. Expose Plausible server to the web with a [compose override file:](https://github.com/plausible/community-edition/wiki/compose-override)
|
||||||
$ echo "HTTP_PORT=80" >> .env
|
|
||||||
$ echo "HTTPS_PORT=443" >> .env
|
|
||||||
|
|
||||||
$ cat > compose.override.yml << EOF
|
```sh
|
||||||
services:
|
$ echo "HTTP_PORT=80" >> .env
|
||||||
plausible:
|
$ echo "HTTPS_PORT=443" >> .env
|
||||||
|
|
||||||
|
$ cat > compose.override.yml << EOF
|
||||||
|
services:
|
||||||
|
plausible:
|
||||||
ports:
|
ports:
|
||||||
- 80:80
|
- 80:80
|
||||||
- 443:443
|
- 443:443
|
||||||
EOF
|
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)
|
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`.
|
||||||
|
|
||||||
```console
|
#### 4. Start the services with Docker Compose:
|
||||||
$ docker compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
1. Visit your instance at `$BASE_URL` and create the first user.
|
```console
|
||||||
|
$ docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 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.
|
||||||
|
|||||||
19
clickhouse/default-profile-low-resources-overrides.xml
Normal file
19
clickhouse/default-profile-low-resources-overrides.xml
Normal 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>
|
||||||
@@ -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>
|
||||||
|
|||||||
11
compose.yml
11
compose.yml
@@ -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.1.0
|
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"
|
||||||
|
|||||||
Reference in New Issue
Block a user