bookssearch/docker-compose.yml

78 lines
No EOL
2.1 KiB
YAML

version: '3.7'
services:
booksearch_app:
build: .
container_name: booksearch_app
ports:
- "8000:5000"
environment:
- ELASTICSEARCH_HOST=booksearch_elastic
- BASE_URL=${BASE_URL}
- CPU_LIMIT=${CPU_LIMIT}
- ADMIN_USER=${ADMIN_USER}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- SNIPPET_CHAR_LIMIT=${SNIPPET_CHAR_LIMIT}
- ITEMS_PER_PAGE=${ITEMS_PER_PAGE}
- INDEXING_BATCH_SIZE=${INDEXING_BATCH_SIZE}
- INDEXING_BATCH_DELAY=${INDEXING_BATCH_DELAY}
volumes:
- ${SMB_SHARE_PATH}:/books
depends_on:
- booksearch_elastic
restart: unless-stopped
deploy:
resources:
limits:
cpus: ${CPU_LIMIT}
memory: 4G
booksearch_elastic:
container_name: booksearch_elastic
image: bitnami/elasticsearch:latest
ports:
- "9200:9200"
- "9300:9300"
environment:
- discovery.type=single-node
- ELASTICSEARCH_USERNAME=${ELASTICSEARCH_USERNAME}
- ELASTICSEARCH_PASSWORD=${ELASTICSEARCH_PASSWORD}
- ELASTICSEARCH_PLUGINS=analysis-stempel
- ES_JAVA_OPTS=-Xms6g -Xmx6g
- bootstrap.memory_lock=true
- "ELASTICSEARCH_HEAP_SIZE=6g"
- "ELASTICSEARCH_EXTRA_JAVA_OPTS=-Xms6g -Xmx6g"
- "ELASTICSEARCH_CLUSTER_SETTINGS=index.max_result_window=50000"
restart: unless-stopped
deploy:
resources:
limits:
memory: 8g
ulimits:
memlock:
soft: -1
hard: -1
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9200/_nodes/plugins?filter_path=nodes.*.plugins"]
interval: 30s
timeout: 10s
retries: 5
# Monitoring service
# booksearch_monitor:
# image: cadvisor/cadvisor:latest
# privileged: true
# devices:
# - /dev/kmsg:/dev/kmsg
# volumes:
# - /:/rootfs:ro
# - /var/run:/var/run:ro
# - /sys:/sys:ro
# - /var/lib/docker/:/var/lib/docker:ro
# - /dev/disk/:/dev/disk:ro
# - /cgroup:/cgroup:ro
# ports:
# - "8085:8080"
# restart: unless-stopped