# yaml-language-server: $schema=https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json services: site: build: . networks: - am-d-model-site-network expose: - "3000" restart: unless-stopped labels: - "io.containers.autoupdate=local" caddy: image: docker.io/library/caddy:latest # entrypoint: ["tail", "-f", "/dev/null"] # Debug # command: ["tail", "-f", "/dev/null"] # Debug depends_on: - site - invenio.am-d-model.eu networks: - am-d-model-proxy-network - am-d-model-site-network ports: - "80:80" - "443:443" volumes: - ./data/caddy:/data/caddy - ./caddy:/etc/caddy restart: unless-stopped labels: - "io.containers.autoupdate=registry" # Repo containers start here # Repo frontend: invenio.am-d-model.eu: extends: file: repo/docker-services.yml service: frontend env_file: ./repo/.env depends_on: - web-ui - web-api volumes: - static_data:/opt/invenio/var/instance/static # Overwrite test certs with certs fetched by caddy - ./data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/invenio.am-d-model.eu/invenio.am-d-model.eu.crt:/etc/ssl/certs/test.crt - ./data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/invenio.am-d-model.eu/invenio.am-d-model.eu.key:/etc/ssl/private/test.key # Also, lets inject some configuration for the outer proxy # - ./caddy/proxy_settings.conf:/etc/nginx/conf.d/proxy_settings.conf # - ./caddy/internal_server.conf:/etc/nginx/conf.d/internal_server.conf ports: - "8080:80" - "8443:443" networks: - am-d-model-proxy-network - am-d-model-repo-network cache: extends: file: repo/docker-compose.full.yml service: cache env_file: ./repo/.env networks: - am-d-model-repo-network db: extends: file: repo/docker-compose.full.yml service: db env_file: ./repo/.env networks: - am-d-model-repo-network mq: extends: file: repo/docker-compose.full.yml service: mq env_file: ./repo/.env networks: - am-d-model-repo-network search: extends: file: repo/docker-compose.full.yml service: search env_file: ./repo/.env volumes: - opensearch_config:/usr/share/opensearch/config networks: - am-d-model-repo-network environment: - discovery.type=single-node s3: extends: file: repo/docker-compose.full.yml service: s3 env_file: ./repo/.env networks: - am-d-model-repo-network # UI Application web-ui: extends: file: repo/docker-compose.full.yml service: web-ui env_file: ./repo/.env build: context: ./repo/ networks: - am-d-model-repo-network environment: - INVENIO_APP_ALLOWED_HOSTS=["invenio.am-d-model.eu"] - UWSGI_LOG_DEBUG=true - UWSGI_LOG_REQ=true # Log requests - UWSGI_LOG_SLOW=true # Log slow requests - UWSGI_LOG_ZERO=true # Log empty requests - UWSGI_LOG_DATE=true # Log dates of requests - UWSGI_LOG_4XX=true # Log 4xx errors - UWSGI_LOG_5XX=true # Log 5xx errors - UWSGI_LOG_MICROS=true # Add microseconds to logs - UWSGI_LOG_MASTER=true - UWSGI_LOG_MASTER_FD=2 # This sends to stderr - UWSGI_LOG_REQ=true - UWSGI_LOG_MASTER_BUFSIZE=10000 # Optional, controls buffer size - FLASK_DEBUG=1 # API Rest Application web-api: extends: file: repo/docker-compose.full.yml service: web-api env_file: ./repo/.env build: context: ./repo/ networks: - am-d-model-repo-network environment: - INVENIO_APP_ALLOWED_HOSTS=["invenio.am-d-model.eu"] - UWSGI_LOG_DEBUG=true - UWSGI_LOG_REQ=true # Log requests - UWSGI_LOG_SLOW=true # Log slow requests - UWSGI_LOG_ZERO=true # Log empty requests - UWSGI_LOG_DATE=true # Log dates of requests - UWSGI_LOG_4XX=true # Log 4xx errors - UWSGI_LOG_5XX=true # Log 5xx errors - UWSGI_LOG_MICROS=true # Add microseconds to logs - UWSGI_LOG_MASTER=true - UWSGI_LOG_MASTER_FD=2 # This sends to stderr - UWSGI_LOG_REQ=true - UWSGI_LOG_MASTER_BUFSIZE=10000 # Optional, controls buffer size - FLASK_DEBUG=1 # Worker worker: extends: file: repo/docker-compose.full.yml service: worker env_file: ./repo/.env build: context: ./repo/ networks: - am-d-model-repo-network networks: am-d-model-site-network: name: am-d-model-site-network am-d-model-repo-network: name: am-d-model-repo-network am-d-model-proxy-network: name: am-d-model-proxy-network volumes: caddy_data: static_data: redis_data: opensearch_config: