version: "3.8"

volumes:
  plausible:
    name: ${PLAUSIBLE_VOLUME_NAME:-plausible}

services:
  plausible:
    container_name: ${PLAUSIBLE_CONTAINER_NAME:-plausible}
    image: ${PLAUSIBLE_IMAGE:-plausible/analytics:v1.4.4}
    restart: always
    command: ${PLAUSIBLE_DOCKER_COMMAND:-sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh db init-admin && /entrypoint.sh run"}
    depends_on:
      - clickhouse
      - postgres
    environment:
      ADMIN_USER_NAME: ${ADMIN_USER_NAME:?err}
      ADMIN_USER_EMAIL: ${ADMIN_USER_EMAIL:?err}
      ADMIN_USER_PWD: ${ADMIN_USER_PWD:?err}
      BASE_URL: ${BASE_URL}
      SECRET_KEY_BASE: ${SECRET_KEY_BASE:?err}
      DISABLE_AUTH: ${DISABLE_AUTH:-false}
      DISABLE_REGISTRATION: ${DISABLE_REGISTRATION:-false}
      DATABASE_URL: postgres://${POSTGRES_USER:?err}:${POSTGRES_PASSWORD:?err}@${POSTGRES_CONTAINER_NAME:-postgres}:5432/${POSTGRES_DB:?err}
      CLICKHOUSE_DATABASE_URL: http://${CLICKHOUSE_CONTAINER_NAME:-clickhouse}:8123/${CLICKHOUSE_CONTAINER_NAME:-clickhouse}
      SITE_LIMIT: ${SITE_LIMIT:-3}
      SELFHOST: ${SELFHOST:-true}
      LOG_LEVEL: ${LOG_LEVEL:-warn}
    volumes:
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro