services: tekst: image: "ghcr.io/vedawebproject/tekst:latest" restart: always init: true env_file: .env depends_on: mongo: condition: service_healthy restart: true es: condition: service_healthy restart: true volumes: - ${TEKST_WEB_STATIC_DIR:-/var/www/tekst/static/}:/var/www/tekst/static/:ro ports: - "127.0.0.1:8087:8080" networks: - mongo - es mongo: image: mongo:8.2.5 restart: always environment: MONGO_INITDB_ROOT_USERNAME: ${TEKST_DB__USER} MONGO_INITDB_ROOT_PASSWORD: ${TEKST_DB__PASSWORD} volumes: - mongo_configdb:/data/configdb - mongo_db:/data/db networks: - mongo command: [ "mongod", "--quiet", "--setParameter", "diagnosticDataCollectionEnabled=false", ] healthcheck: test: echo "db.getMongo()" | mongosh --norc --quiet --host=localhost:27017 interval: 1m30s timeout: 10s retries: 3 start_period: 1m start_interval: 5s es: build: dockerfile_inline: | FROM docker.elastic.co/elasticsearch/elasticsearch-wolfi:9.2.0 RUN elasticsearch-plugin install analysis-icu image: localhost/tekst/es environment: ES_SETTING_DISCOVERY_TYPE: single-node ES_SETTING_XPACK_SECURITY_ENABLED: false ES_SETTING_LOGGER_LEVEL: WARN deploy: resources: limits: memory: 2G ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 restart: always volumes: - es_data:/usr/share/elasticsearch/data networks: - es healthcheck: test: curl -f http://localhost:9200 interval: 1m30s timeout: 10s retries: 3 start_period: 3m start_interval: 5s volumes: mongo_configdb: mongo_db: es_data: networks: mongo: es: