Author SHA1 Message Date
stevensting 2cff59b910 chore: publish 4.0.0+v2.1.0 release 2026-10-08 13:17:04 +02:00
devydaveandstevensting 4e47fbde47 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>
2026-10-08 11:09:48 +00:00
7 changed files with 90 additions and 30 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
+51 -15
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
@@ -35,7 +51,7 @@ services:
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})" - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- coop-cloud.${STACK_NAME}.version=3.1.0+v2.0.0 - coop-cloud.${STACK_NAME}.version=4.0.0+v2.1.0
db: db:
image: pgautoupgrade/pgautoupgrade:18-alpine image: pgautoupgrade/pgautoupgrade:18-alpine
volumes: volumes:
@@ -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.6.25-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"
+1
View File
@@ -0,0 +1 @@
Switch to the new container of the Plausible Community Edition. Two new secrets need to be added. mail support is now available optionally. the clickhouse container was renamed, hopefully this does not lead to hickups.