Files
compose-anything/src/opensearch/docker-compose.yaml
2025-11-10 19:55:44 +08:00

78 lines
2.4 KiB
YAML

x-defaults: &defaults
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 100m
max-file: "3"
services:
opensearch:
<<: *defaults
image: ${GLOBAL_REGISTRY:-}opensearchproject/opensearch:${OPENSEARCH_VERSION:-2.19.0}
environment:
TZ: ${TZ:-UTC}
cluster.name: ${CLUSTER_NAME:-opensearch-cluster}
node.name: opensearch
discovery.type: single-node
bootstrap.memory_lock: true
OPENSEARCH_JAVA_OPTS: "-Xms${OPENSEARCH_HEAP_SIZE:-512m} -Xmx${OPENSEARCH_HEAP_SIZE:-512m}"
OPENSEARCH_INITIAL_ADMIN_PASSWORD: ${OPENSEARCH_ADMIN_PASSWORD:-Admin@123}
DISABLE_SECURITY_PLUGIN: ${DISABLE_SECURITY_PLUGIN:-false}
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
ports:
- "${OPENSEARCH_PORT_OVERRIDE:-9200}:9200"
- "${OPENSEARCH_PERF_ANALYZER_PORT_OVERRIDE:-9600}:9600"
volumes:
- opensearch_data:/usr/share/opensearch/data
deploy:
resources:
limits:
cpus: ${OPENSEARCH_CPU_LIMIT:-2.0}
memory: ${OPENSEARCH_MEMORY_LIMIT:-2G}
reservations:
cpus: ${OPENSEARCH_CPU_RESERVATION:-1.0}
memory: ${OPENSEARCH_MEMORY_RESERVATION:-1G}
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
opensearch-dashboards:
<<: *defaults
image: ${GLOBAL_REGISTRY:-}opensearchproject/opensearch-dashboards:${OPENSEARCH_DASHBOARDS_VERSION:-2.19.0}
ports:
- "${OPENSEARCH_DASHBOARDS_PORT_OVERRIDE:-5601}:5601"
environment:
TZ: ${TZ:-UTC}
OPENSEARCH_HOSTS: '["https://opensearch:9200"]'
DISABLE_SECURITY_DASHBOARDS_PLUGIN: ${DISABLE_SECURITY_PLUGIN:-false}
depends_on:
opensearch:
condition: service_healthy
deploy:
resources:
limits:
cpus: ${OPENSEARCH_DASHBOARDS_CPU_LIMIT:-1.0}
memory: ${OPENSEARCH_DASHBOARDS_MEMORY_LIMIT:-1G}
reservations:
cpus: ${OPENSEARCH_DASHBOARDS_CPU_RESERVATION:-0.5}
memory: ${OPENSEARCH_DASHBOARDS_MEMORY_RESERVATION:-512M}
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5601/api/status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
volumes:
opensearch_data: