#version: '3.7' services: backend: image: nilsherzig/llocalsearch-backend:latest environment: - OLLAMA_HOST=${OLLAMA_HOST:-http://host.docker.internal:11434} - CHROMA_DB_URL=${CHROMA_DB_URL:-http://chromadb:8000} - SEARXNG_DOMAIN=${SEARXNG_DOMAIN:-http://searxng:8080} - EMBEDDINGS_MODEL_NAME=${EMBEDDINGS_MODEL_NAME:-nomic-embed-text:v1.5} networks: - llm_network extra_hosts: - 'host.docker.internal:host-gateway' ports: - '6379:6379' frontend: depends_on: - backend image: nilsherzig/llocalsearch-frontend:latest ports: - '3001:80' networks: - llm_network chromadb: image: chromadb/chroma networks: - llm_network redis: image: docker.io/library/redis:alpine command: redis-server --save 30 1 --loglevel warning networks: - searxng volumes: - redis-data:/data cap_drop: - ALL cap_add: - SETGID - SETUID - DAC_OVERRIDE searxng: image: docker.io/searxng/searxng:latest networks: - searxng - llm_network volumes: - ./searxng:/etc/searxng:rw environment: - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/ cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID logging: driver: 'json-file' options: max-size: '1m' max-file: '1' ports: - '8080:8080' networks: llm_network: driver: bridge searxng: ipam: driver: default volumes: redis-data: