0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-21 21:49:51 +01:00
posthog/docker-compose.dev.yml

170 lines
4.2 KiB
YAML

#
# docker-compose file used ONLY for local development.
# For more info, see:
# https://posthog.com/handbook/engineering/developing-locally
#
# PostHog has sunset support for self-hosted K8s deployments.
# See: https://posthog.com/blog/sunsetting-helm-support-posthog
#
services:
db:
extends:
file: docker-compose.base.yml
service: db
ports:
- '5432:5432'
# something in the django app when running in dev mode
# (maybe only in Pycharm) keeps many idle transactions open
# and eventually kills postgres, these settings aim to stop that happening.
# They are only for DEV and should not be used in production.
command: postgres -c max_connections=1000 -c idle_in_transaction_session_timeout=300000
redis:
extends:
file: docker-compose.base.yml
service: redis
ports:
- '6379:6379'
flower:
extends:
file: docker-compose.base.yml
service: flower
ports:
- '5555:5555'
clickhouse:
extends:
file: docker-compose.base.yml
service: clickhouse
ports:
- '8123:8123'
- '9000:9000'
- '9440:9440'
- '9009:9009'
volumes:
- ./posthog/idl:/idl
- ./docker/clickhouse/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
- ./docker/clickhouse/config.xml:/etc/clickhouse-server/config.xml
- ./docker/clickhouse/users-dev.xml:/etc/clickhouse-server/users.xml
extra_hosts:
- 'host.docker.internal:host-gateway'
depends_on:
- kafka
- zookeeper
zookeeper:
extends:
file: docker-compose.base.yml
service: zookeeper
ports:
- '2181:2181'
kafka:
extends:
file: docker-compose.base.yml
service: kafka
ports:
- '9092:9092'
depends_on:
- zookeeper
kafka_ui:
extends:
file: docker-compose.base.yml
service: kafka_ui
ports:
- '9093:8080'
depends_on:
- kafka
objectstorage:
extends:
file: docker-compose.base.yml
service: objectstorage
ports:
- '19000:19000'
- '19001:19001'
maildev:
extends:
file: docker-compose.base.yml
service: maildev
ports:
- '1080:1080'
- '1025:1025'
webhook-tester:
image: tarampampam/webhook-tester:1.1.0
restart: on-failure
ports:
- '2080:2080'
environment:
- LISTEN_PORT=2080
# Optional capture
capture:
profiles: ['capture-rs']
extends:
file: docker-compose.base.yml
service: capture
ports:
- 3000:3000
environment:
- DEBUG=1
depends_on:
- redis
- kafka
# Optional capture
replay-capture:
extends:
file: docker-compose.base.yml
service: replay-capture
ports:
- 3001:8000
depends_on:
- redis
- kafka
livestream:
extends:
file: docker-compose.base.yml
service: livestream
environment:
- JWT.TOKEN=${SECRET_KEY}
ports:
- '8666:8080'
volumes:
- ./docker/livestream/configs-dev.yml:/configs/configs.yml
# Temporal containers
elasticsearch:
extends:
file: docker-compose.base.yml
service: elasticsearch
expose:
- 9200
temporal:
extends:
file: docker-compose.base.yml
service: temporal
temporal-admin-tools:
extends:
file: docker-compose.base.yml
service: temporal-admin-tools
depends_on:
- temporal
temporal-ui:
extends:
file: docker-compose.base.yml
service: temporal-ui
depends_on:
temporal:
condition: service_started
db:
condition: service_healthy