infrastructure/ansible/roles/plausible/files/docker-compose.yml

63 lines
1.8 KiB
YAML

version: "2.3"
services:
plausible:
image: plausible/analytics:latest
restart: unless-stopped
command: sh -c "/entrypoint.sh db migrate && /entrypoint.sh run"
depends_on:
- db
- clickhouse
expose:
- 8000 # https://github.com/plausible/analytics/pull/237
labels:
- traefik.enable=true
- traefik.http.routers.plausible.rule=Host(`plausible.theorangeone.net`)
- traefik.http.routers.plausible.tls.certresolver=le
- traefik.http.routers.plausible.middlewares=compress@file
environment:
- SECRET_KEY_BASE={{ secret_key }}
- SIGNING_SALT={{ signing_salt }}
- DATABASE_URL=postgres://plausible:plausible@db:5432/plausible
- DISABLE_REGISTRATION=true
- DISABLE_SUBSCRIPTION=true
- CLICKHOUSE_DATABASE_HOST=clickhouse
- CLICKHOUSE_DATABASE_NAME=plausible
- DATABASE_POOL_SIZE=20
- CLICKHOUSE_DATABASE_POOLSIZE=20
- HOST=plausible.theorangeone.net
- SCHEME=https
clickhouse:
image: yandex/clickhouse-server:latest
restart: unless-stopped
volumes:
- /mnt/tank/dbs/clickhouse/plausible:/var/lib/clickhouse
ulimits:
nofile:
soft: 262144
hard: 262144
db:
image: postgres:12-alpine
restart: unless-stopped
volumes:
- /mnt/tank/dbs/postgres/plausible:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=plausible
- POSTGRES_USER=plausible
db-backups:
image: prodrigestivill/postgres-backup-local:12-alpine
restart: unless-stopped
volumes:
- /scratch/db-backups:/backups
depends_on:
- db
environment:
- POSTGRES_HOST=db
- POSTGRES_PASSWORD=plausible
- POSTGRES_USER=plausible
- POSTGRES_DB=plausible
- BACKUP_KEEP_MONTHS=1
- BACKUP_KEEP_WEEKS=1