version: '3' services: db: image: postgres:12-alpine restart: on-failure environment: POSTGRES_USER: posthog POSTGRES_DB: posthog POSTGRES_PASSWORD: posthog ports: - '5432:5432' redis: image: 'redis:alpine' restart: on-failure ports: - '6379:6379' clickhouse: image: yandex/clickhouse-server:21.6.5 restart: on-failure depends_on: - kafka - zookeeper ports: - '8123:8123' - '9000:9000' - '9440:9440' - '9009:9009' volumes: - ./posthog/ee/idl:/idl - ./posthog/docker/clickhouse/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d - ./posthog/docker/clickhouse/config.xml:/etc/clickhouse-server/config.xml - ./posthog/docker/clickhouse/users.xml:/etc/clickhouse-server/users.xml zookeeper: image: wurstmeister/zookeeper restart: on-failure kafka: image: wurstmeister/kafka restart: on-failure depends_on: - zookeeper ports: - '9092:9092' environment: KAFKA_ADVERTISED_HOST_NAME: kafka KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 worker: &worker image: posthog/posthog:latest-release command: ./bin/docker-worker-celery --with-scheduler restart: on-failure environment: SENTRY_DSN: ${SENTRY_DSN} SITE_URL: https://${DOMAIN} DISABLE_SECURE_SSL_REDIRECT: 'true' IS_BEHIND_PROXY: 'true' DATABASE_URL: 'postgres://posthog:posthog@db:5432/posthog' CLICKHOUSE_HOST: 'clickhouse' CLICKHOUSE_DATABASE: 'posthog' CLICKHOUSE_SECURE: 'false' CLICKHOUSE_VERIFY: 'false' KAFKA_URL: 'kafka://kafka' REDIS_URL: 'redis://redis:6379/' SECRET_KEY: ${POSTHOG_SECRET} PRIMARY_DB: 'clickhouse' PGHOST: db PGUSER: posthog PGPASSWORD: posthog depends_on: - db - redis - clickhouse - kafka links: - db:db - redis:redis - clickhouse:clickhouse - kafka:kafka web: <<: *worker command: /compose/start ports: - '8000:8000' - '8234:8234' volumes: - ./compose:/compose caddy: image: caddy restart: unless-stopped ports: - '80:80' - '443:443' volumes: - ./Caddyfile:/etc/caddy/Caddyfile depends_on: - web plugins: image: posthog/posthog:latest-release command: ./bin/plugin-server --no-restart-loop restart: on-failure environment: DATABASE_URL: 'postgres://posthog:posthog@db:5432/posthog' KAFKA_ENABLED: 'true' KAFKA_HOSTS: 'kafka:9092' REDIS_URL: 'redis://redis:6379/' CLICKHOUSE_HOST: 'clickhouse' depends_on: - db - redis - clickhouse - kafka links: - db:db - redis:redis - clickhouse:clickhouse - kafka:kafka