Update 2.1.0 (#11)

this is the start of many updates, this version is a small jump because it replaces the old unmaintained docker image with the community edition

---------

Co-authored-by: stevensting <stefan@klasse-methode.it>
Reviewed-on: https://git.coopcloud.tech/coop-cloud/plausible/pulls/11
Co-authored-by: devydave <bittedanke@tutanota.com>
This commit is contained in:
devydave
2026-10-08 11:09:48 +00:00
committed by stevensting
co-authored by stevensting
parent 657a540035
commit 4e47fbde47
6 changed files with 88 additions and 29 deletions
+15 -3
View File
@@ -5,7 +5,19 @@ DOMAIN=plausible.example.com
## Domain aliases ## Domain aliases
#EXTRA_DOMAINS=', `www.plausible.example.com`' #EXTRA_DOMAINS=', `www.plausible.example.com`'
LETS_ENCRYPT_ENV=production LETS_ENCRYPT_ENV=production
#LOG_LEVEL=debug
SECRET_KEY_BASE=replace-me DISABLE_REGISTRATION=true # true or false
DISABLE_AUTH=replace-me # true or false
DISABLE_REGISTRATION=replace-me # true or false # Mail Configuration
#SECRET_SMTP_PASSWORD_VERSION=v1 # generate=false
#MAILER_ADAPTER=Bamboo.Mua
#MAILER_EMAIL=noreply@example.com
#MAILER_NAME=Noreply
#SMTP_HOST_ADDR=mail.example.com
#SMTP_HOST_PORT=587
#SMTP_USER_NAME=foo
#SMTP_HOST_SSL_ENABLED=false
SECRET_TOTP_VAULT_KEY_VERSION=v1 # length=32 encoding=base64
SECRET_KEY_BASE_VERSION=v1 # length=64
+8 -7
View File
@@ -4,13 +4,13 @@
<!-- metadata --> <!-- metadata -->
* **Category**: Apps * **Category**: Apps
* **Status**: 1, alpha * **Status**: 3
* **Image**: [`plausible/analytics`](https://hub.docker.com/plausible/analytics), 4, upstream * **Image**: [`plausible/analytics`](https://hub.docker.com/plausible/analytics), 4, upstream
* **Healthcheck**: * **Healthcheck**:
* **Backups**: Yes * **Backups**: Yes
* **Email**: No * **Email**: Yes
* **Tests**: * **Tests**: No
* **SSO**: No * **SSO**: N/A
<!-- endmetadata --> <!-- endmetadata -->
## Basic usage ## Basic usage
@@ -19,10 +19,11 @@
2. Deploy [`coop-cloud/traefik`] 2. Deploy [`coop-cloud/traefik`]
3. `abra app new ${REPO_NAME} --secrets` (optionally with `--pass` if you'd like 3. `abra app new ${REPO_NAME} --secrets` (optionally with `--pass` if you'd like
to save secrets in `pass`) to save secrets in `pass`)
4. `abra app config YOURAPPDOMAIN` - be sure to change `$DOMAIN` to something that resolves to 4. `abra app secret insert YOURAPPDOMAIN smtp_password v1` and add your smtp password
5. `abra app config YOURAPPDOMAIN` - be sure to change `$DOMAIN` to something that resolves to
your Docker swarm box your Docker swarm box
5. `abra app deploy YOURAPPDOMAIN` 6. `abra app deploy YOURAPPDOMAIN`
6. Open the configured domain in your browser to finish set-up 7. Open the configured domain in your browser to finish set-up and create an admin account
[`abra`]: https://git.coopcloud.tech/coop-cloud/abra [`abra`]: https://git.coopcloud.tech/coop-cloud/abra
[`coop-cloud/traefik`]: https://git.coopcloud.tech/coop-cloud/traefik [`coop-cloud/traefik`]: https://git.coopcloud.tech/coop-cloud/traefik
+5 -4
View File
@@ -1,5 +1,6 @@
export CLICKHOUSE_CONF_VERSION=v2 export CLICKHOUSE_CONFIG_VERSION=v2
export CLICKHOUSE_USER_CONF_VERSION=v2 export CLICKHOUSE_USER_CONFIG_VERSION=v2
export CLICKHOUSE_ENTRYPOINT_VERSION=v6 export CLICKHOUSE_ENTRYPOINT_VERSION=v7
export PG_BACKUP_VERSION=v1 export PG_BACKUP_VERSION=v1
export CLICKHOUSE_BACKUP_SCRIPT_VERSION=v1 export CLICKHOUSE_BACKUP_VERSION=v1
export PLAUSIBLE_ENTRYPOINT_VERSION=v2
+50 -14
View File
@@ -3,27 +3,43 @@ version: "3.8"
services: services:
app: app:
image: plausible/analytics:v2.0.0 image: ghcr.io/plausible/community-edition:v2.1.0
command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run" entrypoint: /plausible_entrypoint.sh
depends_on: depends_on:
- db - db
- plausible_events_db - events
environment: environment:
- BASE_URL=https://$DOMAIN - BASE_URL=https://$DOMAIN
- SECRET_KEY_BASE - SECRET_KEY_BASE
- DATABASE_URL=postgres://plausible:plausible@${STACK_NAME}_db:5432/plausible - DATABASE_URL=postgres://plausible:plausible@${STACK_NAME}_db:5432/plausible
- CLICKHOUSE_DATABASE_URL=http://${STACK_NAME}_plausible_events_db:8123/plausible_events_db - CLICKHOUSE_DATABASE_URL=http://${STACK_NAME}_events:8123/plausible_events_db
- MAILER_ADAPTER
- SMTP_HOST_ADDR - SMTP_HOST_ADDR
- MAILER_EMAIL - MAILER_EMAIL
- MAILER_NAME
- SMTP_HOST_PORT - SMTP_HOST_PORT
- SMTP_USER_NAME - SMTP_USER_NAME
- SMTP_USER_PWD - SMTP_USER_PWD
- SMTP_HOST_SSL_ENABLED - SMTP_HOST_SSL_ENABLED
- DISABLE_REGISTRATION - DISABLE_REGISTRATION
- DISABLE_AUTH - LOG_LEVEL
secrets:
- totp_secret
- key_base
- smtp_password
configs:
- source: plausible_entrypoint
target: /plausible_entrypoint.sh
mode: 0555
networks: networks:
- proxy - proxy
- internal - internal
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:8000"]
interval: 15s
timeout: 10s
retries: 10
start_period: 15s
deploy: deploy:
restart_policy: restart_policy:
# `any`, not `on-failure`: a restore disrupts postgres under the app and Erlang then # `any`, not `on-failure`: a restore disrupts postgres under the app and Erlang then
@@ -66,15 +82,15 @@ services:
backupbot.restore: "true" backupbot.restore: "true"
backupbot.restore.post-hook: "/pg_backup.sh restore" backupbot.restore.post-hook: "/pg_backup.sh restore"
plausible_events_db: events:
image: clickhouse/clickhouse-server:23.4.2.11-alpine image: clickhouse/clickhouse-server:24.3.3.102-alpine
volumes: volumes:
- event-data:/var/lib/clickhouse - event-data:/var/lib/clickhouse
entrypoint: /custom-entrypoint.sh entrypoint: /custom-entrypoint.sh
configs: configs:
- source: clickhouse-config - source: clickhouse_config
target: /etc/clickhouse-server/config.d/logging.xml target: /etc/clickhouse-server/config.d/logging.xml
- source: clickhouse-user-config - source: clickhouse_user_config
target: /etc/clickhouse-server/users.d/clickhouse-user-config.xml target: /etc/clickhouse-server/users.d/clickhouse-user-config.xml
- source: clickhouse_entrypoint - source: clickhouse_entrypoint
target: /custom-entrypoint.sh target: /custom-entrypoint.sh
@@ -84,6 +100,12 @@ services:
mode: 0555 mode: 0555
networks: networks:
- internal - internal
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:8123/ping || exit 1"]
interval: 15s
timeout: 10s
retries: 10
start_period: 15s
deploy: deploy:
labels: labels:
backupbot.backup: "true" backupbot.backup: "true"
@@ -103,11 +125,14 @@ networks:
internal: internal:
configs: configs:
clickhouse-config: plausible_entrypoint:
name: ${STACK_NAME}_clickhouse_config_${CLICKHOUSE_CONF_VERSION} name: ${STACK_NAME}_plausible_entrypoint_${PLAUSIBLE_ENTRYPOINT_VERSION}
file: plausible_entrypoint.sh
clickhouse_config:
name: ${STACK_NAME}_clickhouse_config_${CLICKHOUSE_CONFIG_VERSION}
file: clickhouse-config.xml file: clickhouse-config.xml
clickhouse-user-config: clickhouse_user_config:
name: ${STACK_NAME}_clickhouse_user_config_${CLICKHOUSE_USER_CONF_VERSION} name: ${STACK_NAME}_clickhouse_user_config_${CLICKHOUSE_USER_CONFIG_VERSION}
file: clickhouse-user-config.xml file: clickhouse-user-config.xml
clickhouse_entrypoint: clickhouse_entrypoint:
name: ${STACK_NAME}_clickhouse_entrypoint_${CLICKHOUSE_ENTRYPOINT_VERSION} name: ${STACK_NAME}_clickhouse_entrypoint_${CLICKHOUSE_ENTRYPOINT_VERSION}
@@ -116,5 +141,16 @@ configs:
name: ${STACK_NAME}_pg_backup_${PG_BACKUP_VERSION} name: ${STACK_NAME}_pg_backup_${PG_BACKUP_VERSION}
file: pg_backup.sh file: pg_backup.sh
clickhouse_backup: clickhouse_backup:
name: ${STACK_NAME}_clickhouse_backup_${CLICKHOUSE_BACKUP_SCRIPT_VERSION} name: ${STACK_NAME}_clickhouse_backup_${CLICKHOUSE_BACKUP_VERSION}
file: clickhouse_backup.sh file: clickhouse_backup.sh
secrets:
totp_secret:
name: ${STACK_NAME}_totp_secret_${SECRET_TOTP_VAULT_KEY_VERSION}
external: true
key_base:
name: ${STACK_NAME}_key_base_${SECRET_KEY_BASE_VERSION}
external: true
smtp_password:
name: ${STACK_NAME}_smtp_password_${SECRET_SMTP_PASSWORD_VERSION}
external: true
+1 -1
View File
@@ -7,7 +7,7 @@
set -e set -e
CLICKHOUSE_BACKUP_VERSION=2.4.2 CLICKHOUSE_BACKUP_VERSION=2.8.1
ARCH=$(uname -m) ARCH=$(uname -m)
if [[ $ARCH =~ "aarch64" ]]; then if [[ $ARCH =~ "aarch64" ]]; then
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
set -e
[ -f /run/secrets/totp_secret ] && export TOTP_VAULT_KEY="$(cat /run/secrets/totp_secret)"
[ -f /run/secrets/key_base ] && export SECRET_KEY_BASE="$(cat /run/secrets/key_base)"
[ -f /run/secrets/smtp_password ] && export SMTP_USER_PWD="$(cat /run/secrets/smtp_password)"
sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"