mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-24 18:07:17 +01:00
39b1fe0149
currently default objectstorage address is http://127.0.0.1:19000, but ports are not exposed from docker-compose. This commit exposes ports AND updates OBJECT_STORAGE_ENDPOINT to direct to MinIO container rather than localhost, but localhost port is useful either way for admin and testing purposes.
194 lines
5.4 KiB
YAML
194 lines
5.4 KiB
YAML
#
|
|
# `docker-compose` file used ONLY for hobby deployments.
|
|
#
|
|
# Please take a look at https://posthog.com/docs/self-host/deploy/hobby
|
|
# for more info.
|
|
#
|
|
# 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
|
|
# Pin to postgres 12 until we have a process for pg_upgrade to postgres 15 for exsisting installations
|
|
image: ${DOCKER_REGISTRY_PREFIX:-}postgres:12-alpine
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
|
|
redis:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: redis
|
|
clickhouse:
|
|
#
|
|
# Note: please keep the default version in sync across
|
|
# `posthog` and the `charts-clickhouse` repos
|
|
#
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: clickhouse
|
|
restart: on-failure
|
|
depends_on:
|
|
- kafka
|
|
- zookeeper
|
|
volumes:
|
|
- ./posthog/posthog/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
|
|
- clickhouse-data:/var/lib/clickhouse
|
|
zookeeper:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: zookeeper
|
|
volumes:
|
|
- zookeeper-datalog:/datalog
|
|
- zookeeper-data:/data
|
|
- zookeeper-logs:/logs
|
|
kafka:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: kafka
|
|
depends_on:
|
|
- zookeeper
|
|
|
|
worker:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: worker
|
|
environment:
|
|
SENTRY_DSN: $SENTRY_DSN
|
|
SITE_URL: https://$DOMAIN
|
|
SECRET_KEY: $POSTHOG_SECRET
|
|
image: $REGISTRY_URL:$POSTHOG_APP_TAG
|
|
web:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: web
|
|
command: /compose/start
|
|
volumes:
|
|
- ./compose:/compose
|
|
image: $REGISTRY_URL:$POSTHOG_APP_TAG
|
|
environment:
|
|
SENTRY_DSN: $SENTRY_DSN
|
|
SITE_URL: https://$DOMAIN
|
|
SECRET_KEY: $POSTHOG_SECRET
|
|
OBJECT_STORAGE_ENDPOINT: http://objectstorage:19000
|
|
OBJECT_STORAGE_ENABLED: true
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
- clickhouse
|
|
- kafka
|
|
- objectstorage
|
|
|
|
plugins:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: plugins
|
|
image: $REGISTRY_URL:$POSTHOG_APP_TAG
|
|
environment:
|
|
SENTRY_DSN: $SENTRY_DSN
|
|
SITE_URL: https://$DOMAIN
|
|
SECRET_KEY: $POSTHOG_SECRET
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
- clickhouse
|
|
- kafka
|
|
- objectstorage
|
|
|
|
caddy:
|
|
image: caddy:2.6.1
|
|
restart: unless-stopped
|
|
ports:
|
|
- '80:80'
|
|
- '443:443'
|
|
volumes:
|
|
- ./Caddyfile:/etc/caddy/Caddyfile
|
|
depends_on:
|
|
- web
|
|
objectstorage:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: objectstorage
|
|
restart: on-failure
|
|
volumes:
|
|
- objectstorage:/data
|
|
ports:
|
|
- '19000:19000'
|
|
- '19001:19001'
|
|
|
|
asyncmigrationscheck:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: asyncmigrationscheck
|
|
image: $REGISTRY_URL:$POSTHOG_APP_TAG
|
|
environment:
|
|
SENTRY_DSN: $SENTRY_DSN
|
|
SITE_URL: https://$DOMAIN
|
|
SECRET_KEY: $POSTHOG_SECRET
|
|
SKIP_ASYNC_MIGRATIONS_SETUP: 0
|
|
|
|
# Temporal containers
|
|
temporal:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: temporal
|
|
environment:
|
|
- ENABLE_ES=false
|
|
ports:
|
|
- 7233:7233
|
|
volumes:
|
|
- ./posthog/docker/temporal/dynamicconfig:/etc/temporal/config/dynamicconfig
|
|
elasticsearch:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: elasticsearch
|
|
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
|
|
ports:
|
|
- 8081:8080
|
|
depends_on:
|
|
temporal:
|
|
condition: service_started
|
|
db:
|
|
condition: service_healthy
|
|
temporal-django-worker:
|
|
command: /compose/temporal-django-worker
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: temporal-django-worker
|
|
volumes:
|
|
- ./compose:/compose
|
|
image: $REGISTRY_URL:$POSTHOG_APP_TAG
|
|
environment:
|
|
SENTRY_DSN: $SENTRY_DSN
|
|
SITE_URL: https://$DOMAIN
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
- clickhouse
|
|
- kafka
|
|
- objectstorage
|
|
- temporal
|
|
|
|
volumes:
|
|
zookeeper-data:
|
|
zookeeper-datalog:
|
|
zookeeper-logs:
|
|
objectstorage:
|
|
postgres-data:
|
|
clickhouse-data:
|