Emi Matchu
6548666b95
This isn't strictly necessary, this is just artifacts of the upgrade process I did—and I figure may as well leave them here to help me in the future if I need to do it again!
49 lines
1.7 KiB
YAML
Executable file
49 lines
1.7 KiB
YAML
Executable file
services:
|
|
plausible_db:
|
|
# Plausible v2.1.1 was tested against PostgreSQL versions 15 and 16
|
|
# https://github.com/plausible/analytics/blob/v2.1.1/.github/workflows/elixir.yml#L21-L32
|
|
image: postgres:16-alpine
|
|
restart: always
|
|
volumes:
|
|
- db-data-v16:/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.1
|
|
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:
|
|
- 127.0.0.1:8000:8000
|
|
env_file:
|
|
- plausible-conf.env
|
|
|
|
volumes:
|
|
# NOTE: When it comes time to upgrade Postgres, you should:
|
|
# 1. Manually export the database with `pg_dumpall` (via `docker exec`).
|
|
# 2. Change the version number of this volume, to create a fresh data directory.
|
|
# 3. Upgrade the Postgres version, and don't let Plausible itself run yet (so it doesn't init an empty DB).
|
|
# 4. Import the database with `psql` (via `docker exec`).
|
|
# 5. (Optional) Remove the previous volume with `docker volume rm db-data-vXX`.
|
|
db-data-v16:
|
|
driver: local
|
|
event-data:
|
|
driver: local
|
|
event-logs:
|
|
driver: local
|