2022-05-26 11:36:44 +02:00
#
# `docker-compose` file used ONLY for hobby deployments.
#
# Please take a look at https://posthog.com/docs/self-host/deploy/hobby
# for more info.
#
2021-11-23 12:25:31 +01:00
version : '3'
services :
db :
image : postgres:12-alpine
restart : on -failure
environment :
POSTGRES_USER : posthog
POSTGRES_DB : posthog
POSTGRES_PASSWORD : posthog
redis :
2022-05-03 15:35:26 +02:00
image : redis:6.2.7-alpine
2021-11-23 12:25:31 +01:00
restart : on -failure
2022-05-05 14:17:32 +02:00
command : redis-server --maxmemory-policy allkeys-lru --maxmemory 200mb
2021-11-23 12:25:31 +01:00
clickhouse :
2022-03-15 12:19:21 +01:00
#
# Note: please keep the default version in sync across
# `posthog` and the `charts-clickhouse` repos
#
2022-05-21 05:32:22 +02:00
image : ${CLICKHOUSE_SERVER_IMAGE:-clickhouse/clickhouse-server:22.3}
2021-11-23 12:25:31 +01:00
restart : on -failure
depends_on :
- kafka
- zookeeper
volumes :
2022-06-22 23:24:03 +02:00
- ./posthog/posthog/idl:/idl
2021-11-23 12:25:31 +01:00
- ./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 :
2022-05-04 16:07:54 +02:00
image : zookeeper:3.7.0
2021-11-23 12:25:31 +01:00
restart : on -failure
2022-05-16 19:10:36 +02:00
volumes :
- zookeeper-datalog:/datalog
- zookeeper-data:/data
- zookeeper-logs:/logs
2021-11-23 12:25:31 +01:00
kafka :
2022-03-21 12:49:43 +01:00
image : bitnami/kafka:2.8.1-debian-10-r99
2021-11-23 12:25:31 +01:00
restart : on -failure
depends_on :
- zookeeper
environment :
2022-03-21 12:49:43 +01:00
KAFKA_BROKER_ID : 1001
KAFKA_CFG_RESERVED_BROKER_MAX_ID : 1001
KAFKA_CFG_LISTENERS : PLAINTEXT://:9092
KAFKA_CFG_ADVERTISED_LISTENERS : PLAINTEXT://kafka:9092
KAFKA_CFG_ZOOKEEPER_CONNECT : zookeeper:2181
ALLOW_PLAINTEXT_LISTENER : 'true'
2021-11-23 12:25:31 +01:00
worker : &worker
2022-03-09 14:42:15 +01:00
image : posthog/posthog:$POSTHOG_APP_TAG
2021-11-23 12:25:31 +01:00
command : ./bin/docker-worker-celery --with-scheduler
restart : on -failure
environment :
2022-01-25 07:14:50 +01:00
SENTRY_DSN : $SENTRY_DSN
SITE_URL : https://$DOMAIN
2021-11-23 12:25:31 +01:00
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/'
2022-01-25 07:14:50 +01:00
SECRET_KEY : $POSTHOG_SECRET
2021-11-23 12:25:31 +01:00
PGHOST : db
PGUSER : posthog
PGPASSWORD : posthog
2022-02-03 23:04:28 +01:00
DEPLOYMENT : hobby
2021-11-23 12:25:31 +01:00
depends_on :
- db
- redis
- clickhouse
- kafka
2022-05-20 10:56:50 +02:00
- object_storage
2021-11-23 12:25:31 +01:00
web :
<< : *worker
command : /compose/start
2022-05-26 11:36:44 +02:00
restart : on -failure
2021-11-23 12:25:31 +01:00
volumes :
- ./compose:/compose
caddy :
image : caddy
restart : unless-stopped
ports :
- '80:80'
- '443:443'
volumes :
- ./Caddyfile:/etc/caddy/Caddyfile
depends_on :
- web
plugins :
2022-03-09 14:42:15 +01:00
image : posthog/posthog:$POSTHOG_APP_TAG
2021-11-23 12:25:31 +01:00
command : ./bin/plugin-server --no-restart-loop
restart : on -failure
environment :
DATABASE_URL : 'postgres://posthog:posthog@db:5432/posthog'
KAFKA_HOSTS : 'kafka:9092'
REDIS_URL : 'redis://redis:6379/'
CLICKHOUSE_HOST : 'clickhouse'
depends_on :
- db
- redis
- clickhouse
- kafka
2022-05-20 10:56:50 +02:00
- object_storage
object_storage :
image : minio/minio
2022-05-26 11:36:44 +02:00
restart : on -failure
2022-05-20 10:56:50 +02:00
volumes :
- object_storage:/data
environment :
MINIO_ROOT_USER : object_storage_root_user
MINIO_ROOT_PASSWORD : object_storage_root_password
entrypoint : sh
command : -c 'mkdir -p /data/posthog && minio server --address ":19000" --console-address ":19001" /data' # create the 'posthog' bucket before starting the service
2022-03-09 14:42:15 +01:00
asyncmigrationscheck :
<< : *worker
command : python manage.py run_async_migrations --check
restart : 'no'
scale : 0
2022-05-16 19:10:36 +02:00
volumes :
zookeeper-data :
zookeeper-datalog :
zookeeper-logs :
2022-05-20 10:56:50 +02:00
object_storage :