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:
committed by
stevensting
co-authored by
stevensting
parent
657a540035
commit
4e47fbde47
+15
-3
@@ -5,7 +5,19 @@ DOMAIN=plausible.example.com
|
||||
## Domain aliases
|
||||
#EXTRA_DOMAINS=', `www.plausible.example.com`'
|
||||
LETS_ENCRYPT_ENV=production
|
||||
#LOG_LEVEL=debug
|
||||
|
||||
SECRET_KEY_BASE=replace-me
|
||||
DISABLE_AUTH=replace-me # true or false
|
||||
DISABLE_REGISTRATION=replace-me # true or false
|
||||
DISABLE_REGISTRATION=true # 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
|
||||
@@ -4,13 +4,13 @@
|
||||
|
||||
<!-- metadata -->
|
||||
* **Category**: Apps
|
||||
* **Status**: 1, alpha
|
||||
* **Status**: 3
|
||||
* **Image**: [`plausible/analytics`](https://hub.docker.com/plausible/analytics), 4, upstream
|
||||
* **Healthcheck**:
|
||||
* **Backups**: Yes
|
||||
* **Email**: No
|
||||
* **Tests**:
|
||||
* **SSO**: No
|
||||
* **Email**: Yes
|
||||
* **Tests**: No
|
||||
* **SSO**: N/A
|
||||
<!-- endmetadata -->
|
||||
|
||||
## Basic usage
|
||||
@@ -19,10 +19,11 @@
|
||||
2. Deploy [`coop-cloud/traefik`]
|
||||
3. `abra app new ${REPO_NAME} --secrets` (optionally with `--pass` if you'd like
|
||||
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
|
||||
5. `abra app deploy YOURAPPDOMAIN`
|
||||
6. Open the configured domain in your browser to finish set-up
|
||||
6. `abra app deploy YOURAPPDOMAIN`
|
||||
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
|
||||
[`coop-cloud/traefik`]: https://git.coopcloud.tech/coop-cloud/traefik
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
export CLICKHOUSE_CONF_VERSION=v2
|
||||
export CLICKHOUSE_USER_CONF_VERSION=v2
|
||||
export CLICKHOUSE_ENTRYPOINT_VERSION=v6
|
||||
export CLICKHOUSE_CONFIG_VERSION=v2
|
||||
export CLICKHOUSE_USER_CONFIG_VERSION=v2
|
||||
export CLICKHOUSE_ENTRYPOINT_VERSION=v7
|
||||
export PG_BACKUP_VERSION=v1
|
||||
export CLICKHOUSE_BACKUP_SCRIPT_VERSION=v1
|
||||
export CLICKHOUSE_BACKUP_VERSION=v1
|
||||
export PLAUSIBLE_ENTRYPOINT_VERSION=v2
|
||||
|
||||
+50
-14
@@ -3,27 +3,43 @@ version: "3.8"
|
||||
|
||||
services:
|
||||
app:
|
||||
image: plausible/analytics:v2.0.0
|
||||
command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
|
||||
image: ghcr.io/plausible/community-edition:v2.1.0
|
||||
entrypoint: /plausible_entrypoint.sh
|
||||
depends_on:
|
||||
- db
|
||||
- plausible_events_db
|
||||
- events
|
||||
environment:
|
||||
- BASE_URL=https://$DOMAIN
|
||||
- SECRET_KEY_BASE
|
||||
- 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
|
||||
- MAILER_EMAIL
|
||||
- MAILER_NAME
|
||||
- SMTP_HOST_PORT
|
||||
- SMTP_USER_NAME
|
||||
- SMTP_USER_PWD
|
||||
- SMTP_HOST_SSL_ENABLED
|
||||
- DISABLE_REGISTRATION
|
||||
- DISABLE_AUTH
|
||||
- LOG_LEVEL
|
||||
secrets:
|
||||
- totp_secret
|
||||
- key_base
|
||||
- smtp_password
|
||||
configs:
|
||||
- source: plausible_entrypoint
|
||||
target: /plausible_entrypoint.sh
|
||||
mode: 0555
|
||||
networks:
|
||||
- proxy
|
||||
- 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:
|
||||
restart_policy:
|
||||
# `any`, not `on-failure`: a restore disrupts postgres under the app and Erlang then
|
||||
@@ -66,15 +82,15 @@ services:
|
||||
backupbot.restore: "true"
|
||||
backupbot.restore.post-hook: "/pg_backup.sh restore"
|
||||
|
||||
plausible_events_db:
|
||||
image: clickhouse/clickhouse-server:23.4.2.11-alpine
|
||||
events:
|
||||
image: clickhouse/clickhouse-server:24.3.3.102-alpine
|
||||
volumes:
|
||||
- event-data:/var/lib/clickhouse
|
||||
entrypoint: /custom-entrypoint.sh
|
||||
configs:
|
||||
- source: clickhouse-config
|
||||
- source: clickhouse_config
|
||||
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
|
||||
- source: clickhouse_entrypoint
|
||||
target: /custom-entrypoint.sh
|
||||
@@ -84,6 +100,12 @@ services:
|
||||
mode: 0555
|
||||
networks:
|
||||
- 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:
|
||||
labels:
|
||||
backupbot.backup: "true"
|
||||
@@ -103,11 +125,14 @@ networks:
|
||||
internal:
|
||||
|
||||
configs:
|
||||
clickhouse-config:
|
||||
name: ${STACK_NAME}_clickhouse_config_${CLICKHOUSE_CONF_VERSION}
|
||||
plausible_entrypoint:
|
||||
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
|
||||
clickhouse-user-config:
|
||||
name: ${STACK_NAME}_clickhouse_user_config_${CLICKHOUSE_USER_CONF_VERSION}
|
||||
clickhouse_user_config:
|
||||
name: ${STACK_NAME}_clickhouse_user_config_${CLICKHOUSE_USER_CONFIG_VERSION}
|
||||
file: clickhouse-user-config.xml
|
||||
clickhouse_entrypoint:
|
||||
name: ${STACK_NAME}_clickhouse_entrypoint_${CLICKHOUSE_ENTRYPOINT_VERSION}
|
||||
@@ -116,5 +141,16 @@ configs:
|
||||
name: ${STACK_NAME}_pg_backup_${PG_BACKUP_VERSION}
|
||||
file: pg_backup.sh
|
||||
clickhouse_backup:
|
||||
name: ${STACK_NAME}_clickhouse_backup_${CLICKHOUSE_BACKUP_SCRIPT_VERSION}
|
||||
name: ${STACK_NAME}_clickhouse_backup_${CLICKHOUSE_BACKUP_VERSION}
|
||||
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
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
set -e
|
||||
|
||||
CLICKHOUSE_BACKUP_VERSION=2.4.2
|
||||
CLICKHOUSE_BACKUP_VERSION=2.8.1
|
||||
|
||||
ARCH=$(uname -m)
|
||||
if [[ $ARCH =~ "aarch64" ]]; then
|
||||
|
||||
@@ -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"
|
||||
Reference in New Issue
Block a user