services: plausible_db: image: postgres:16-alpine restart: always volumes: - db-data:/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.2 restart: always command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run" depends_on: - plausible_db - plausible_events_db ports: # Note that setting ports opens firewall for external access. - ${HTTP_PORT}:${HTTP_PORT} - ${HTTPS_PORT}:${HTTPS_PORT} volumes: - plausible-data:/var/lib/plausible environment: - BASE_URL=${BASE_URL} - SECRET_KEY_BASE=${SECRET_KEY_BASE} - HTTP_PORT - HTTPS_PORT volumes: db-data: event-data: event-logs: plausible-data: