version: "3.3" services: plausible_db: image: postgres:16-alpine container_name: plausible-db restart: always volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/plausible/database/:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=${PSQL_PASS:-password} #networks: # - proxy plausible_events_db: container_name: plausible-events-db image: clickhouse/clickhouse-server:24.3.3.102-alpine restart: always environment: - CLICKHOUSE_UID=1000 - CLICKHOUSE_GID=1000 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/plausible/event-data:/var/lib/clickhouse - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/plausible/clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/plausible/clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro ulimits: nofile: soft: 262144 hard: 262144 #networks: # - proxy plausible: container_name: plausible image: ghcr.io/plausible/community-edition:v2.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: - 8000:8000 # WEB UI env_file: - .env #networks: # - proxy #labels: # - traefik.enable=true # - traefik.http.routers.plausible.rule=Host(`plausible.example.com`) # - traefik.http.services.plausible.loadbalancer.server.port=8000 # - traefik.docker.network=proxy # # Part for local lan services only # # - traefik.http.routers.plausible.middlewares=local-ipwhitelist@file #networks: # proxy: # external: true