# SPDX-FileCopyrightText: Fondation RERO+ # SPDX-License-Identifier: AGPL-3.0-or-later services: app: build: context: ./ args: - ENVIRONMENT=DEV image: rero-ils environment: - "INVENIO_ACCOUNTS_SESSION_REDIS_URL=redis://cache:6379/1" - "INVENIO_BROKER_URL=amqp://guest:guest@mq:5672/" - "INVENIO_CACHE_REDIS_URL=redis://cache:6379/0" - "INVENIO_CACHE_TYPE=redis" - "INVENIO_CELERY_BROKER_URL=amqp://guest:guest@mq:5672/" - "INVENIO_CELERY_RESULT_BACKEND=redis://cache:6379/2" - "INVENIO_SEARCH_ELASTIC_HOSTS=['es:9200']" - "INVENIO_SECRET_KEY=CHANGE_ME" - "INVENIO_SQLALCHEMY_DATABASE_URI=postgresql+psycopg2://rero-ils:rero-ils@db/rero-ils" - "INVENIO_WSGI_PROXIES=2" - "INVENIO_RATELIMIT_STORAGE_URI=redis://cache:6379/3" - "COLLECT_STORAGE='flask_collect.storage.file'" lb: build: ./docker/haproxy/ image: rero-ils-lb restart: "unless-stopped" ports: - "80:80" - "443:443" - "8080:8080" frontend: build: ./docker/nginx/ image: rero-ils-frontend restart: "unless-stopped" ports: - "80" - "443" cache: image: redis restart: "unless-stopped" read_only: true command: redis-server --save "" ports: - "6379:6379" db: image: postgres:17 restart: "unless-stopped" environment: - "POSTGRES_USER=rero-ils" - "POSTGRES_PASSWORD=rero-ils" - "POSTGRES_DB=rero-ils" ports: - "5432:5432" mq: image: rabbitmq:4.2-management restart: "unless-stopped" ports: - "15672:15672" - "5672:5672" healthcheck: test: rabbitmq-diagnostics -q ping interval: 10s timeout: 5s retries: 5 start_period: 30s es: build: ./docker/elasticsearch/ image: elasticsearch-icu-7.10.2 restart: "unless-stopped" environment: - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - "discovery.type=single-node" - "indices.query.bool.max_clause_count=3000" ulimits: memlock: soft: -1 hard: -1 mem_limit: 3g ports: - "9200:9200" - "9300:9300" kibana: image: docker.elastic.co/kibana/kibana-oss:7.10.2 environment: - "ELASTICSEARCH_URL=http://es:9200" - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ports: ['5601:5601'] flower: image: mher/flower command: --broker=amqp://guest:guest@mq:5672/ --broker_api=http://guest:guest@mq:15672/api/ ports: - "5555:5555"