Files
embedding-buddy/docker-compose.yml

69 lines
1.7 KiB
YAML

services:
opensearch:
image: opensearchproject/opensearch:2
container_name: embeddingbuddy-opensearch
profiles:
- opensearch
environment:
- cluster.name=embeddingbuddy-cluster
- node.name=embeddingbuddy-node
- discovery.type=single-node
- bootstrap.memory_lock=true
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
- "DISABLE_INSTALL_DEMO_CONFIG=true"
- "DISABLE_SECURITY_PLUGIN=true"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
volumes:
- opensearch-data:/usr/share/opensearch/data
ports:
- "9200:9200"
- "9600:9600"
networks:
- embeddingbuddy
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
embeddingbuddy:
build: .
container_name: embeddingbuddy-app
environment:
- EMBEDDINGBUDDY_HOST=0.0.0.0
- EMBEDDINGBUDDY_PORT=8050
- EMBEDDINGBUDDY_DEBUG=false
- OPENSEARCH_HOST=opensearch
- OPENSEARCH_PORT=9200
- OPENSEARCH_SCHEME=http
- OPENSEARCH_VERIFY_CERTS=false
ports:
- "8050:8050"
networks:
- embeddingbuddy
depends_on:
opensearch:
condition: service_healthy
required: false
healthcheck:
test: ["CMD-SHELL", "python -c 'import requests; requests.get(\"http://localhost:8050/\", timeout=5)'"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
restart: unless-stopped
volumes:
opensearch-data:
driver: local
networks:
embeddingbuddy:
driver: bridge