65 lines
1.5 KiB
YAML
65 lines
1.5 KiB
YAML
services:
|
|
opensearch:
|
|
build:
|
|
context: ../..
|
|
dockerfile: deploy/production/Dockerfile.opensearch
|
|
restart: unless-stopped
|
|
environment:
|
|
discovery.type: single-node
|
|
bootstrap.memory_lock: "true"
|
|
DISABLE_SECURITY_PLUGIN: "true"
|
|
OPENSEARCH_JAVA_OPTS: ${OPENSEARCH_JAVA_OPTS:--Xms2g -Xmx2g}
|
|
mem_limit: ${OPENSEARCH_MEM_LIMIT:-4g}
|
|
expose:
|
|
- "9200"
|
|
ulimits:
|
|
memlock:
|
|
soft: -1
|
|
hard: -1
|
|
nofile:
|
|
soft: 65536
|
|
hard: 65536
|
|
volumes:
|
|
- opensearch-data:/usr/share/opensearch/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:9200/_cluster/health || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 10
|
|
|
|
backend:
|
|
build:
|
|
context: ../..
|
|
dockerfile: deploy/production/Dockerfile.backend
|
|
restart: unless-stopped
|
|
environment:
|
|
REVIEW_SECRET: ${REVIEW_SECRET:?set REVIEW_SECRET in .env}
|
|
command:
|
|
- python
|
|
- -m
|
|
- search.api
|
|
- --host
|
|
- 0.0.0.0
|
|
- --port
|
|
- "8080"
|
|
- --url
|
|
- http://opensearch:9200
|
|
- --index
|
|
- ${SEARCH_INDEX:-akyldash-fragments-current}
|
|
- --data
|
|
- /app/data/minjust-normalized
|
|
- --reviews-db
|
|
- /app/data/search-reviews.sqlite3
|
|
- --review-secret
|
|
- ${REVIEW_SECRET}
|
|
ports:
|
|
- "127.0.0.1:${BACKEND_PORT:-8080}:8080"
|
|
depends_on:
|
|
opensearch:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ${DATA_ROOT:?set DATA_ROOT in .env}:/app/data
|
|
|
|
volumes:
|
|
opensearch-data:
|