mirror of
https://github.com/plausible/hosting.git
synced 2025-01-15 14:34:30 -06:00
v2.1.2
This commit is contained in:
commit
e36dd47ef8
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
*
|
||||
!compose.yml
|
||||
!clickhouse
|
||||
!README.md
|
||||
!.gitignore
|
57
README.md
Normal file
57
README.md
Normal file
@ -0,0 +1,57 @@
|
||||
# Plausible Community Edition
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- **[Docker](https://docs.docker.com/engine/install/)** and **[Docker Compose](https://docs.docker.com/compose/install/)** must be installed on your machine.
|
||||
- **System Requirements for ClickHouse:**
|
||||
- **CPU:** Must support **SSE 4.2** instruction set or higher (required by ClickHouse).
|
||||
- **Memory:** At least **2 GB of RAM** is recommended for running ClickHouse efficiently.
|
||||
- **Storage:** Adequate disk space to store your ClickHouse and PostgreSQL databases, depending on your expected data volume.
|
||||
|
||||
### Quick start
|
||||
|
||||
To set up Plausible Community Edition quickly, follow these steps:
|
||||
|
||||
1. Clone this repository:
|
||||
|
||||
```console
|
||||
$ 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.
|
||||
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
|
||||
README.md
|
||||
clickhouse/
|
||||
compose.yml
|
||||
```
|
||||
|
||||
1. Create and configure your environment file:
|
||||
|
||||
```console
|
||||
$ touch .env
|
||||
$ echo "HTTP_PORT=8080" >> .env
|
||||
$ echo "HTTPS_PORT=8443" >> .env
|
||||
$ echo "BASE_URL=https://plausible.example.com:8443" >> .env
|
||||
$ echo "SECRET_KEY_BASE=$(docker run -ti --rm ghcr.io/plausible/community-edition:v2.1.2 openssl rand -base64 48)" >> .env
|
||||
$ cat .env
|
||||
HTTP_PORT=8080
|
||||
HTTPS_PORT=8443
|
||||
BASE_URL=https://plausible.example.com:8443
|
||||
SECRET_KEY_BASE=As0fZsJlUpuFYSthRjT5Yflg/NlxkFKPRro72xMLXF8yInZ60s6xGGXYVqml+XN1
|
||||
```
|
||||
|
||||
1. Start the services with Docker Compose:
|
||||
|
||||
```console
|
||||
$ docker compose up -d
|
||||
```
|
||||
|
||||
### Next steps
|
||||
|
||||
For more information on installation, upgrades, extra configuration, and available integrations please see our [wiki.](https://github.com/plausible/community-edition/wiki)
|
23
clickhouse/clickhouse-config.xml
Normal file
23
clickhouse/clickhouse-config.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<clickhouse>
|
||||
<logger>
|
||||
<level>warning</level>
|
||||
<console>true</console>
|
||||
</logger>
|
||||
|
||||
<!--
|
||||
Avoid the warning: "Listen [::]:9009 failed: Address family for hostname not supported".
|
||||
If Docker has IPv6 disabled, bind ClickHouse to IPv4 to prevent this issue.
|
||||
Add this to the configuration to ensure it listens on all IPv4 interfaces:
|
||||
<listen_host>0.0.0.0</listen_host>
|
||||
-->
|
||||
|
||||
<!-- Stop all the unnecessary logging -->
|
||||
<query_thread_log remove="remove"/>
|
||||
<query_log remove="remove"/>
|
||||
<text_log remove="remove"/>
|
||||
<trace_log remove="remove"/>
|
||||
<metric_log remove="remove"/>
|
||||
<asynchronous_metric_log remove="remove"/>
|
||||
<session_log remove="remove"/>
|
||||
<part_log remove="remove"/>
|
||||
</clickhouse>
|
8
clickhouse/clickhouse-user-config.xml
Normal file
8
clickhouse/clickhouse-user-config.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<clickhouse>
|
||||
<profiles>
|
||||
<default>
|
||||
<log_queries>0</log_queries>
|
||||
<log_query_threads>0</log_query_threads>
|
||||
</default>
|
||||
</profiles>
|
||||
</clickhouse>
|
52
compose.yml
Normal file
52
compose.yml
Normal file
@ -0,0 +1,52 @@
|
||||
services:
|
||||
plausible_db:
|
||||
image: postgres:16-alpine
|
||||
restart: always
|
||||
volumes:
|
||||
- db-data:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=postgres
|
||||
|
||||
plausible_events_db:
|
||||
image: clickhouse/clickhouse-server:24.3.3.102-alpine
|
||||
restart: always
|
||||
volumes:
|
||||
- event-data:/var/lib/clickhouse
|
||||
- event-logs:/var/log/clickhouse-server
|
||||
- ./clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
|
||||
- ./clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro
|
||||
ulimits:
|
||||
nofile:
|
||||
soft: 262144
|
||||
hard: 262144
|
||||
|
||||
plausible:
|
||||
image: ghcr.io/plausible/community-edition:v2.1.2
|
||||
restart: always
|
||||
command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
|
||||
depends_on:
|
||||
- plausible_db
|
||||
- plausible_events_db
|
||||
ports:
|
||||
# Note that setting ports opens firewall for external access.
|
||||
# When using a reverse proxy, set to "127.0.0.1:${HTTP_PORT}:${HTTP_PORT}" to restrict access to localhost only.
|
||||
- ${HTTP_PORT}:${HTTP_PORT}
|
||||
- ${HTTPS_PORT}:${HTTPS_PORT}
|
||||
volumes:
|
||||
- plausible-data:/var/lib/plausible
|
||||
environment:
|
||||
BASE_URL: ${BASE_URL}
|
||||
SECRET_KEY_BASE: ${SECRET_KEY_BASE}
|
||||
HTTP_PORT: ${HTTP_PORT}
|
||||
# Setting HTTPS port enables automatic issuance of TLS certificates from Let's Encrypt.
|
||||
# Remove this if using a reverse proxy.
|
||||
HTTPS_PORT: ${HTTPS_PORT}
|
||||
DATABASE_URL: postgres://postgres:postgres@plausible_db:5432/plausible_db
|
||||
CLICKHOUSE_DATABASE_URL: http://plausible_events_db:8123/plausible_events_db
|
||||
DISABLE_REGISTRATION: true
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
event-data:
|
||||
event-logs:
|
||||
plausible-data:
|
Loading…
Reference in New Issue
Block a user