Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 43 additions & 8 deletions dev/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,7 @@ services:
command:
- /bin/bash
stdin_open: true # docker run -i
tty: true # docker run -t

bloomcheck:
container_name: bloomcheck
image: yetiplatform/bloomcheck:dev
entrypoint: ['/app/bloomcheck', '-serve', '/bloomfilters']
volumes:
- /tmp/bloomfilters:/bloomfilters:ro
tty: true # docker run -t

redis:
image: redis:latest
Expand All @@ -68,3 +61,45 @@ services:
- 127.0.0.1:8529:8529
environment:
- ARANGO_ROOT_PASSWORD=

# Microservices

bloomcheck:
container_name: bloomcheck
image: yetiplatform/bloomcheck:dev
entrypoint: [ '/app/bloomcheck', '-serve', '/bloomfilters' ]
volumes:
- /tmp/bloomfilters:/bloomfilters:ro

agents:
container_name: agents
build:
context: ./yeti-agents/
image: yetiplatform/yeti-agents:dev
ports:
- 127.0.0.1:8888:8888
env_file:
- ./yeti-agents/.env
volumes:
- ./yeti-agents/:/app
entrypoint: [ "/bin/bash", "/app/entrypoint.sh" ]
command: [ "manual" ]

ollama:
container_name: ollama
image: ollama/ollama:latest
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama # Persist downloaded models
# Uncomment the below if you have an NVIDIA GPU and the nvidia-container-toolkit installed
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: 1
# capabilities: [gpu]

volumes:
ollama_data:
24 changes: 22 additions & 2 deletions prod/.env
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
YETI_DOCKER_ENVFILE=.env
YETI_IMAGE_TAG=latest

# Yeti database / internals
YETI_REDIS_HOST=yeti-redis
YETI_REDIS_HOST=redis
YETI_REDIS_PORT=6379
YETI_REDIS_DATABASE=0
YETI_ARANGODB_HOST=yeti-arangodb
YETI_ARANGODB_HOST=arangodb
YETI_ARANGODB_PORT=8529
YETI_ARANGODB_DATABASE=yeti
YETI_ARANGODB_USERNAME=root
Expand All @@ -29,3 +30,22 @@ YETI_TIMESKETCH_PASSWORD=dev
# Point to an empty directory if not using bloom filters
YETI_BLOOM_FILTERS_DIR=/opt/yeti/bloomfilters
YETI_BLOOM_BLOOMCHECK_ENDPOINT=http://bloomcheck:8100


# AI features configuration
YETI_AGENTS_ENABLED=True
YETI_AGENTS_HTTP_ROOT=http://agents:8888
YETI_AGENTS_WEBSOCKET_ROOT=ws://agents:8888

# Make sure you configure the .env file in the agents container
#
# Gemini configs
# LLM_PROVIDER=gemini
# GOOGLE_API_KEY=API_KEY
# GEMINI_MODEL=gemini-3-flash-preview
#
# Ollama configs
# LLM_PROVIDER=ollama
# OLLAMA_API_BASE=http://ollama:11434
# Pick a model supporting tools and thinking: https://ollama.com/search?c=thinking&c=tools
# OLLAMA_MODEL=gemma
40 changes: 14 additions & 26 deletions prod/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
services:

frontend:
container_name: yeti-frontend
build:
dockerfile: ./frontend/Dockerfile
image: yetiplatform/yeti-frontend:latest
image: yetiplatform/yeti-frontend:${YETI_IMAGE_TAG:-latest}
ports:
- 80:80
volumes:
Expand All @@ -13,28 +10,22 @@ services:
- api

api:
container_name: yeti-api
image: yetiplatform/yeti:latest
build:
dockerfile: ./yeti/Dockerfile
image: yetiplatform/yeti:${YETI_IMAGE_TAG:-latest}
env_file:
- ${YETI_DOCKER_ENVFILE}
entrypoint:
- /docker-entrypoint.sh
command: ["webserver"]
ports:
- 8000:8000
- 8001:8000
depends_on:
- redis
- arangodb
volumes:
- yeti-exports:/opt/yeti/exports

tasks:
container_name: yeti-tasks
image: yetiplatform/yeti:latest
build:
dockerfile: ./yeti/Dockerfile
image: yetiplatform/yeti:${YETI_IMAGE_TAG:-latest}
env_file:
- ${YETI_DOCKER_ENVFILE}
command: ['tasks']
Expand All @@ -46,10 +37,7 @@ services:
- yeti-exports:/opt/yeti/exports

events-tasks:
container_name: yeti-events-tasks
image: yetiplatform/yeti:latest
build:
dockerfile: ./yeti/Dockerfile
image: yetiplatform/yeti:${YETI_IMAGE_TAG:-latest}
env_file:
- ${YETI_DOCKER_ENVFILE}
command: ['events-tasks']
Expand All @@ -61,22 +49,17 @@ services:
- yeti-exports:/opt/yeti/exports

tasks-beat:
container_name: yeti-tasks-beat
image: yetiplatform/yeti:latest
build:
dockerfile: ./yeti/Dockerfile
image: yetiplatform/yeti:${YETI_IMAGE_TAG:-latest}
env_file:
- ${YETI_DOCKER_ENVFILE}
command: ['tasks-beat']
depends_on:
- redis

redis:
container_name: yeti-redis
image: redis:latest

arangodb:
container_name: yeti-arangodb
image: arangodb:3.11
restart: unless-stopped
environment:
Expand All @@ -85,15 +68,20 @@ services:
- yeti-db:/var/lib/arangodb3

bloomcheck:
container_name: bloomcheck
image: yetiplatform/bloomcheck:dev
image: yetiplatform/bloomcheck:${YETI_IMAGE_TAG:-latest}
entrypoint: ['/app/bloomcheck', '-serve', '/bloomfilters']
volumes:
- ${YETI_BLOOM_FILTERS_DIR}:/bloomfilters:ro

agents:
image: yetiplatform/yeti-agents:${YETI_IMAGE_TAG:-latest}
env_file:
- ${YETI_DOCKER_ENVFILE}
command: ["uv", "run", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8888"]

networks:
default:
name: yeti_network
name: yeti_prod_network

volumes:
yeti-exports:
Expand Down