version: "3.8" services: opensearch: image: opensearchproject/opensearch:2.17.0 container_name: fuse-opensearch environment: - discovery.type=single-node - DISABLE_SECURITY_PLUGIN=true - OPENSEARCH_INITIAL_ADMIN_PASSWORD=FuseDev123! - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: { soft: -1, hard: -1 } nofile: { soft: 65536, hard: 65536 } ports: - "9200:9200" volumes: - os-data:/usr/share/opensearch/data healthcheck: test: ["CMD-SHELL", "curl -sf http://localhost:9200/_cluster/health || exit 1"] interval: 10s timeout: 5s retries: 12 fuse-server: build: context: . dockerfile: Dockerfile container_name: fuse-server ports: - "9400:9400" volumes: - ./fuse.local.toml:/etc/fuse/fuse.toml:ro environment: - FUSE_CONFIG=/etc/fuse/fuse.toml - RUST_LOG=info depends_on: opensearch: condition: service_healthy healthcheck: test: ["CMD-SHELL", "curl -sf http://localhost:9400/api/fuse/health || exit 1"] interval: 10s timeout: 5s retries: 10 dashboards: build: context: . dockerfile: Dockerfile.osd container_name: fuse-dashboards ports: - "5601:5601" environment: - FUSE_ENGINE_URL=http://fuse-server:9400 depends_on: opensearch: condition: service_healthy fuse-server: condition: service_healthy volumes: os-data: