2024-09-10 14:24:46 -07:00
|
|
|
services:
|
|
|
|
|
|
2024-09-17 08:47:35 -07:00
|
|
|
config_generator:
|
2024-09-10 14:24:46 -07:00
|
|
|
build:
|
|
|
|
|
context: ../../
|
|
|
|
|
dockerfile: config_generator/Dockerfile
|
|
|
|
|
volumes:
|
|
|
|
|
- ../../envoyfilter/envoy.template.yaml:/usr/src/app/envoy.template.yaml
|
2024-09-17 08:56:47 -07:00
|
|
|
- ./bolt_config.yaml:/usr/src/app/bolt_config.yaml
|
2024-09-10 14:24:46 -07:00
|
|
|
- ./generated:/usr/src/app/out
|
|
|
|
|
|
2024-09-16 23:20:26 -07:00
|
|
|
bolt:
|
2024-09-10 14:24:46 -07:00
|
|
|
build:
|
|
|
|
|
context: ../../
|
|
|
|
|
dockerfile: envoyfilter/Dockerfile
|
2024-09-16 23:20:26 -07:00
|
|
|
hostname: bolt
|
2024-09-10 14:24:46 -07:00
|
|
|
ports:
|
|
|
|
|
- "10000:10000"
|
|
|
|
|
- "19901:9901"
|
|
|
|
|
volumes:
|
|
|
|
|
- ./generated/envoy.yaml:/etc/envoy/envoy.yaml
|
|
|
|
|
- /etc/ssl/cert.pem:/etc/ssl/cert.pem
|
|
|
|
|
depends_on:
|
2024-09-17 08:47:35 -07:00
|
|
|
config_generator:
|
2024-09-10 14:24:46 -07:00
|
|
|
condition: service_completed_successfully
|
2024-09-17 08:47:35 -07:00
|
|
|
model_server:
|
2024-09-10 14:24:46 -07:00
|
|
|
condition: service_healthy
|
|
|
|
|
environment:
|
|
|
|
|
- LOG_LEVEL=debug
|
|
|
|
|
|
2024-09-17 08:47:35 -07:00
|
|
|
model_server:
|
2024-09-10 14:24:46 -07:00
|
|
|
build:
|
2024-09-17 08:47:35 -07:00
|
|
|
context: ../../model_server
|
2024-09-10 14:24:46 -07:00
|
|
|
dockerfile: Dockerfile
|
|
|
|
|
ports:
|
|
|
|
|
- "18081:80"
|
|
|
|
|
healthcheck:
|
|
|
|
|
test: ["CMD", "curl" ,"http://localhost:80/healthz"]
|
|
|
|
|
interval: 5s
|
|
|
|
|
retries: 20
|
|
|
|
|
volumes:
|
|
|
|
|
- ~/.cache/huggingface:/root/.cache/huggingface
|
2024-09-23 22:56:35 -07:00
|
|
|
- ./bolt_config.yaml:/root/bolt_config.yaml
|
2024-09-10 14:24:46 -07:00
|
|
|
|
2024-09-17 08:47:35 -07:00
|
|
|
function_resolver:
|
2024-09-10 14:24:46 -07:00
|
|
|
build:
|
|
|
|
|
context: ../../function_resolver
|
|
|
|
|
dockerfile: Dockerfile
|
|
|
|
|
ports:
|
|
|
|
|
- "18082:80"
|
|
|
|
|
healthcheck:
|
|
|
|
|
test: ["CMD", "curl" ,"http://localhost:80/healthz"]
|
|
|
|
|
interval: 5s
|
|
|
|
|
retries: 20
|
|
|
|
|
volumes:
|
|
|
|
|
- ~/.cache/huggingface:/root/.cache/huggingface
|
|
|
|
|
environment:
|
|
|
|
|
# use ollama endpoint that is hosted by host machine (no virtualization)
|
2024-09-17 16:08:13 -07:00
|
|
|
- OLLAMA_ENDPOINT=${OLLAMA_ENDPOINT:-host.docker.internal}
|
2024-09-10 14:24:46 -07:00
|
|
|
# uncomment following line to use ollama endpoint that is hosted by docker
|
|
|
|
|
# - OLLAMA_ENDPOINT=ollama
|
|
|
|
|
|
2024-09-20 14:38:10 -07:00
|
|
|
api_server:
|
|
|
|
|
build:
|
|
|
|
|
context: api_server
|
|
|
|
|
dockerfile: Dockerfile
|
|
|
|
|
ports:
|
|
|
|
|
- "18083:80"
|
|
|
|
|
healthcheck:
|
|
|
|
|
test: ["CMD", "curl" ,"http://localhost:80/healthz"]
|
|
|
|
|
interval: 5s
|
|
|
|
|
retries: 20
|
|
|
|
|
|
2024-09-10 14:24:46 -07:00
|
|
|
ollama:
|
|
|
|
|
image: ollama/ollama
|
|
|
|
|
container_name: ollama
|
|
|
|
|
volumes:
|
|
|
|
|
- ./ollama:/root/.ollama
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
ports:
|
|
|
|
|
- '11434:11434'
|
|
|
|
|
profiles:
|
|
|
|
|
- manual
|
|
|
|
|
|
2024-09-17 16:08:13 -07:00
|
|
|
open-webui:
|
|
|
|
|
image: ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG-main}
|
|
|
|
|
container_name: open-webui
|
|
|
|
|
volumes:
|
|
|
|
|
- ./open-webui:/app/backend/data
|
|
|
|
|
# depends_on:
|
|
|
|
|
# - ollama
|
|
|
|
|
ports:
|
|
|
|
|
- 18090:8080
|
|
|
|
|
environment:
|
|
|
|
|
- OLLAMA_BASE_URL=http://${OLLAMA_ENDPOINT:-host.docker.internal}:11434
|
|
|
|
|
- WEBUI_AUTH=false
|
|
|
|
|
extra_hosts:
|
|
|
|
|
- host.docker.internal:host-gateway
|
|
|
|
|
restart: unless-stopped
|
2024-09-19 17:48:50 -07:00
|
|
|
profiles:
|
|
|
|
|
- monitoring
|
2024-09-17 16:08:13 -07:00
|
|
|
|
2024-09-17 08:47:35 -07:00
|
|
|
chatbot_ui:
|
2024-09-10 14:24:46 -07:00
|
|
|
build:
|
2024-09-17 08:47:35 -07:00
|
|
|
context: ../../chatbot_ui
|
2024-09-10 14:24:46 -07:00
|
|
|
dockerfile: Dockerfile
|
|
|
|
|
ports:
|
|
|
|
|
- "18080:8080"
|
|
|
|
|
environment:
|
2024-09-17 16:08:13 -07:00
|
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY:?error}
|
2024-09-19 17:48:50 -07:00
|
|
|
- CHAT_COMPLETION_ENDPOINT=http://bolt:10000/v1
|
2024-09-10 14:24:46 -07:00
|
|
|
|
|
|
|
|
prometheus:
|
|
|
|
|
image: prom/prometheus
|
|
|
|
|
container_name: prometheus
|
|
|
|
|
command:
|
|
|
|
|
- '--config.file=/etc/prometheus/prometheus.yaml'
|
|
|
|
|
ports:
|
|
|
|
|
- 9090:9090
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
volumes:
|
|
|
|
|
- ./prometheus:/etc/prometheus
|
|
|
|
|
- ./prom_data:/prometheus
|
2024-09-17 08:47:35 -07:00
|
|
|
profiles:
|
|
|
|
|
- monitoring
|
2024-09-10 14:24:46 -07:00
|
|
|
|
|
|
|
|
grafana:
|
|
|
|
|
image: grafana/grafana
|
|
|
|
|
container_name: grafana
|
|
|
|
|
ports:
|
|
|
|
|
- 3000:3000
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
environment:
|
|
|
|
|
- GF_SECURITY_ADMIN_USER=admin
|
|
|
|
|
- GF_SECURITY_ADMIN_PASSWORD=grafana
|
|
|
|
|
volumes:
|
|
|
|
|
- ./grafana:/etc/grafana/provisioning/datasources
|
|
|
|
|
- ./grafana/dashboard.yaml:/etc/grafana/provisioning/dashboards/main.yaml
|
|
|
|
|
- ./grafana/dashboards:/var/lib/grafana/dashboards
|
2024-09-17 08:47:35 -07:00
|
|
|
profiles:
|
|
|
|
|
- monitoring
|