mirror of
https://github.com/hanzoai/insights.git
synced 2026-10-30 16:15:31 +00:00
The funnel queries call the unversioned UDFs (aggregate_funnel_array and kin), declared only in docker/datastore/user_defined_function.xml, which no image carries. The binaries already ship in insights/user_scripts, so the config moves beside them: a datastore takes both from one image.
269 lines
6.6 KiB
YAML
269 lines
6.6 KiB
YAML
#
|
|
# docker-compose file used ONLY for local development.
|
|
# This file is the same as `docker-compose.dev.yml` except it boots the services in containers instead of you running them locally
|
|
# For more info, see:
|
|
# https://insights.hanzo.ai/handbook/engineering/developing-locally
|
|
#
|
|
# Insights has sunset support for self-hosted K8s deployments.
|
|
# See: https://insights.hanzo.ai/blog/sunsetting-helm-support-insights
|
|
#
|
|
|
|
services:
|
|
proxy:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: proxy
|
|
ports:
|
|
- 8010:8000
|
|
depends_on:
|
|
- replay-capture
|
|
- capture
|
|
- feature-flags
|
|
- web
|
|
db:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: db
|
|
ports:
|
|
- '5432:5432'
|
|
volumes:
|
|
- postgres-15-data:/var/lib/postgresql/data
|
|
|
|
kv:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: kv
|
|
ports:
|
|
- '6379:6379'
|
|
|
|
datastore:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: datastore
|
|
ports:
|
|
- '8123:8123'
|
|
- '9000:9000'
|
|
- '9440:9440'
|
|
- '9009:9009'
|
|
volumes:
|
|
- ./insights/idl:/idl
|
|
- ./docker/datastore/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
|
|
- ./docker/datastore/config.xml:/etc/datastore-server/config.xml
|
|
- ./docker/datastore/config.d/default.xml:/etc/datastore-server/config.d/default.xml
|
|
- ./docker/datastore/users-dev.xml:/etc/datastore-server/users.xml
|
|
- ./insights/user_scripts/user_defined_function.xml:/etc/datastore-server/user_defined_function.xml
|
|
- ./insights/user_scripts:/var/lib/datastore/user_scripts
|
|
depends_on:
|
|
- kafka
|
|
|
|
kafka:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: kafka
|
|
ports:
|
|
- '9092:9092'
|
|
|
|
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:
|
|
- PORT=2080
|
|
- OTEL_SDK_DISABLED=true
|
|
|
|
worker:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: worker
|
|
build: .
|
|
volumes:
|
|
- .:/app/insights
|
|
environment:
|
|
- DEBUG=1
|
|
- PLUGIN_SERVER_IDLE=1
|
|
|
|
web:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: web
|
|
ports:
|
|
- 8000:8000
|
|
build: .
|
|
command: ./bin/docker-server-unit
|
|
volumes:
|
|
- .:/app/insights
|
|
environment:
|
|
- DEBUG=1
|
|
- OBJECT_STORAGE_ENDPOINT=http://objectstorage:19000
|
|
- INSIGHTS_SKIP_MIGRATION_CHECKS=true
|
|
- JS_URL=http://localhost:8000
|
|
depends_on:
|
|
- db
|
|
- kv
|
|
- datastore
|
|
- kafka
|
|
links:
|
|
- objectstorage:objectstorage
|
|
|
|
capture:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: capture
|
|
environment:
|
|
- DEBUG=1
|
|
depends_on:
|
|
- kv
|
|
- kafka
|
|
|
|
replay-capture:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: replay-capture
|
|
depends_on:
|
|
- kv
|
|
- kafka
|
|
|
|
property-defs-rs:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: property-defs-rs
|
|
depends_on:
|
|
- kafka
|
|
|
|
feature-flags:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: feature-flags
|
|
depends_on:
|
|
- kv
|
|
- db
|
|
|
|
plugins:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: plugins
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.node
|
|
volumes:
|
|
- .:/app/insights
|
|
environment:
|
|
- DOCKER=1
|
|
depends_on:
|
|
- db
|
|
- kv
|
|
- datastore
|
|
- kafka
|
|
- objectstorage
|
|
|
|
migrate:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: migrate
|
|
build: .
|
|
volumes:
|
|
- .:/app/insights
|
|
environment:
|
|
- DEBUG=1
|
|
|
|
# Temporal containers
|
|
elasticsearch:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: elasticsearch
|
|
expose:
|
|
- 9200
|
|
temporal:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: temporal
|
|
ports:
|
|
- 7233:7233
|
|
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:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: temporal-django-worker
|
|
build: .
|
|
volumes:
|
|
- .:/app/insights
|
|
depends_on:
|
|
- db
|
|
- kv
|
|
- datastore
|
|
- kafka
|
|
- objectstorage
|
|
- temporal
|
|
|
|
cyclotron-janitor:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: cyclotron-janitor
|
|
environment:
|
|
DATABASE_URL: 'postgres://insights:insights@db:5432/cyclotron'
|
|
KAFKA_HOSTS: 'kafka:9092'
|
|
DEBUG: 1 # Add debug mode like other services
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
kafka:
|
|
condition: service_started
|
|
|
|
otel-collector:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: otel-collector
|
|
depends_on:
|
|
- jaeger
|
|
|
|
jaeger:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: jaeger
|
|
|
|
localstack:
|
|
extends:
|
|
file: docker-compose.base.yml
|
|
service: localstack
|
|
|
|
networks:
|
|
otel_network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
postgres-15-data:
|
|
redpanda-data:
|