services: db: container_name: posthog_db environment: POSTGRES_DB: posthog POSTGRES_PASSWORD: posthog POSTGRES_USER: posthog image: postgres:13-alpine volumes: - postgres-data:/var/lib/postgresql/data redis: container_name: posthog_redis image: redis:6-alpine clickhouse: # KEEP CLICKHOUSE-SERVER VERSION IN SYNC WITH # https://github.com/PostHog/charts-clickhouse/blob/main/charts/posthog/templates/clickhouse_instance.yaml#L88 image: yandex/clickhouse-server:21.6.5 depends_on: - kafka - zookeeper ports: - '8123:8123' - '9000:9000' - '9440:9440' - '9009:9009' volumes: - ./ee/idl:/idl - ./docker/clickhouse/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d - ./docker/clickhouse/config.xml:/etc/clickhouse-server/config.xml - ./docker/clickhouse/users.xml:/etc/clickhouse-server/users.xml zookeeper: image: wurstmeister/zookeeper kafka: image: wurstmeister/kafka depends_on: - zookeeper ports: - '9092:9092' environment: KAFKA_ADVERTISED_HOST_NAME: kafka KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 web: container_name: posthog_web depends_on: - db - redis - clickhouse - kafka environment: DATABASE_URL: postgres://posthog:posthog@db:5432/posthog REDIS_URL: redis://redis:6379/ KAFKA_URL: 'kafka://kafka' CLICKHOUSE_HOST: 'clickhouse' CLICKHOUSE_DATABASE: 'posthog' CLICKHOUSE_SECURE: 'false' CLICKHOUSE_VERIFY: 'false' SECRET_KEY: PGHOST: db PGUSER: posthog PGPASSWORD: posthog image: posthog/posthog:latest links: - db:db - redis:redis - clickhouse:clickhouse - kafka:kafka ports: - 8000:8000 - 80:8000 volumes: postgres-data: version: '3'