An error occurred while loading the file. Please try again.
-
Victor Agababov authored6a27f268
version: "3.9"
services:
db:
image: timescale/timescaledb-ha:pg17.2-ts2.17.2-all
container_name: timescaledb
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: secret
POSTGRES_DB: products_db
ports:
- "5435:5432"
volumes:
- db-data:/var/lib/postgresql/data
- ../migrations/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
vectorizer-worker:
image: timescale/pgai-vectorizer-worker:0.2.0
environment:
PGAI_VECTORIZER_WORKER_DB_URL: postgres://postgres:secret@timescaledb:5435/products_db
PGAI_VECTORIZER_OLLAMA_MAX_CHUNKS_PER_BATCH: 4096
OLLAMA_HOST: http://ollama:11434
command: [ "--poll-interval", "5s" ]
depends_on:
- db
- ollama
zookeeper:
image: bitnami/zookeeper:latest
container_name: zookeeper
environment:
ALLOW_ANONYMOUS_LOGIN: "yes"
ports:
- "2181:2181"
volumes:
- zookeeper-data:/bitnami/zookeeper
kafka:
image: bitnami/kafka:latest
container_name: kafka
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
ALLOW_PLAINTEXT_LISTENER: "yes"
ports:
- "9092:9092"
depends_on:
- zookeeper
otel-collector:
image: otel/opentelemetry-collector-contrib:latest
container_name: otel-collector
command: ["--config=/etc/otel-collector-config.yaml"]
volumes:
- ./config/otel-collector-config.yaml:/etc/otel-collector-config.yaml:ro
ports:
- "4317:4317" # gRPC receiver для OTLP
- "4318:4318" # HTTP receiver для OTLP
jaeger:
container_name: jaeger
image: jaegertracing/all-in-one:1.49
ports:
- "16686:16686"
- "4317"
kafka-ui:
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
container_name: kafka-ui
image: provectuslabs/kafka-ui:v0.7.2
ports:
- "8071:8080"
environment:
KAFKA_CLUSTERS_0_NAME: "local"
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: "kafka:9092"
depends_on:
- kafka
ollama:
image: ollama/ollama:latest
container_name: ollama
ports:
- "11434:11434"
volumes:
- ollama-models:/models
- ./ollama-entrypoint.sh:/entrypoint.sh:ro
entrypoint: [ "/entrypoint.sh" ]
app:
build:
context: ..
dockerfile: ./deployment/Dockerfile
container_name: app
environment:
- DB_CONNECTION=host=db user=postgres password=secret dbname=products_db port=5432 sslmode=disable
- LLM_MODEL_NAME=mistral:7b-instruct
- LLM_API_KEY=your-api-key
- LLM_ENDPOINT=http://ollama:11434
- SERVER_PORT=8080
- KAFKA_BOOTSTRAP_SERVERS=kafka:9092
- OTEL_OTLP_ENDPOINT=http://otel-collector:4317
- OTEL_OTLP_INSECURE=true
- OTEL_OTLP_TIMEOUT=10s
- OTEL_OTLP_HTTP=false
- OTEL_RETRY_ENABLED=true
- OTEL_RETRY_INITIAL_INTERVAL=5s
- OTEL_RETRY_MAX_INTERVAL=30s
- OTEL_RETRY_MAX_ELAPSED_TIME=1m
ports:
- "8080:8080"
depends_on:
- db
- kafka
- ollama
- otel-collector
profiles:
- full
volumes:
db-data:
zookeeper-data:
kafka-data:
ollama-models: