mirror of
https://github.com/Cian-H/iform-invenio.git
synced 2025-12-22 20:41:56 +00:00
189 lines
6.6 KiB
YAML
189 lines
6.6 KiB
YAML
# yaml-language-server: $schema=https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json
|
|
services:
|
|
caddy:
|
|
image: docker.io/library/caddy:latest
|
|
depends_on:
|
|
- invenio-rdm
|
|
networks:
|
|
- invenio-network
|
|
ports:
|
|
- "8080:80"
|
|
- "8443:443"
|
|
volumes:
|
|
- caddy_data:/data
|
|
- ./env/${COMPOSE_PROFILES}/caddy:/etc/caddy
|
|
restart: unless-stopped
|
|
labels:
|
|
- "io.containers.autoupdate=registry"
|
|
invenio-rdm:
|
|
build:
|
|
context: .
|
|
networks:
|
|
- invenio-network
|
|
volumes:
|
|
- uploaded_data:/opt/invenio/var/instance/data
|
|
- archived_data:/opt/invenio/var/instance/archive
|
|
- static_files:/opt/invenio/var/instance/static
|
|
- ./invenio.cfg:/opt/invenio/var/instance/invenio.cfg
|
|
- ./dev_templates:/dev_templates
|
|
environment:
|
|
- INVENIO_THEME_LOGO
|
|
- INVENIO_THEME_FRONTPAGE_TITLE
|
|
- INVENIO_THEME_SITENAME
|
|
- INVENIO_THEME_FRONTPAGE_SUBTITLE
|
|
- INVENIO_THEME_SHOW_FRONTPAGE_INTRO_SECTION
|
|
- INVENIO_SECURITY_REGISTERABLE
|
|
- INVENIO_SQLALCHEMY_DATABASE_URI=postgresql+psycopg2://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db/${POSTGRES_DB}
|
|
- INVENIO_CACHE_TYPE
|
|
- INVENIO_CACHE_REDIS_URL
|
|
- INVENIO_ACCOUNTS_SESSION_REDIS_URL
|
|
- INVENIO_CELERY_RESULT_BACKEND
|
|
- INVENIO_RATELIMIT_STORAGE_URI
|
|
- INVENIO_COMMUNITIES_IDENTITIES_CACHE_REDIS_URL
|
|
- INVENIO_BROKER_URL
|
|
- INVENIO_CELERY_BROKER_URL
|
|
- INVENIO_WSGI_PROXIES
|
|
- INVENIO_SITE_UI_URL
|
|
- INVENIO_SITE_API_URL
|
|
- INVENIO_DATACITE_ENABLED
|
|
- INVENIO_DATACITE_USERNAME
|
|
- INVENIO_DATACITE_PASSWORD
|
|
- INVENIO_DATACITE_PREFIX
|
|
- INVENIO_DATACITE_TEST_MODE
|
|
- INVENIO_DATACITE_DATACENTER_SYMBOL
|
|
- INVENIO_RDM_ALLOW_METADATA_ONLY_RECORDS
|
|
- INVENIO_RDM_ALLOW_RESTRICTED_RECORDS
|
|
- INVENIO_RDM_ALLOW_EXTERNAL_DOI_VERSIONING
|
|
- INVENIO_RDM_CITATION_STYLES_DEFAULT
|
|
- INVENIO_RDM_DEFAULT_CITATION_STYLE
|
|
- INVENIO_MAIL_SUPPRESS_SEND
|
|
- INVENIO_SECURITY_EMAIL_SENDER
|
|
- INVENIO_ACCOUNTS_LOCAL_LOGIN_ENABLED
|
|
- INVENIO_ORCID_APP_CREDENTIALS_CONSUMER_KEY=${INVENIO_ORCID_CLIENT_ID}
|
|
- INVENIO_ORCID_APP_CREDENTIALS_CONSUMER_SECRET=${INVENIO_ORCID_SECRET}
|
|
- INVENIO_GITHUB_APP_CREDENTIALS_CONSUMER_KEY=${INVENIO_GITHUB_CLIENT_ID}
|
|
- INVENIO_GITHUB_APP_CREDENTIALS_CONSUMER_SECRET=${INVENIO_GITHUB_SECRET}
|
|
- INVENIO_OAISERVER_ID_PREFIX
|
|
- INVENIO_FILES_REST_STORAGE_FACTORY
|
|
- INVENIO_S3_ENDPOINT_URL
|
|
- INVENIO_S3_ACCESS_KEY_ID
|
|
- INVENIO_S3_SECRET_ACCESS_KEY
|
|
- INVENIO_S3_BUCKET_NAME
|
|
- INVENIO_SEARCH_HOSTS
|
|
- INVENIO_SEARCH_INDEX_PREFIX
|
|
- INVENIO_LOGGING_CONSOLE_LEVEL
|
|
- INVENIO_ENV=${COMPOSE_PROFILES}
|
|
- FLASK_ENV=${COMPOSE_PROFILES}
|
|
- NODE_ENV=${COMPOSE_PROFILES}
|
|
- FLASK_DEBUG
|
|
depends_on:
|
|
search:
|
|
condition: service_started
|
|
cache:
|
|
condition: service_started
|
|
db:
|
|
condition: service_started
|
|
worker:
|
|
command: "celery -A invenio_app.celery worker --beat --events --loglevel=WARNING"
|
|
build:
|
|
context: .
|
|
networks:
|
|
- invenio-network
|
|
volumes:
|
|
- uploaded_data:/opt/invenio/var/instance/data
|
|
environment:
|
|
- INVENIO_MAIL_SUPPRESS_SEND=true
|
|
# Passthrough of shared env variables
|
|
- INVENIO_SQLALCHEMY_DATABASE_URI=postgresql+psycopg2://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db/${POSTGRES_DB:-inveniordm}
|
|
- INVENIO_SEARCH_HOSTS
|
|
- INVENIO_SEARCH_INDEX_PREFIX
|
|
- INVENIO_CACHE_TYPE
|
|
- INVENIO_CACHE_REDIS_URL
|
|
- INVENIO_ACCOUNTS_SESSION_REDIS_URL
|
|
- INVENIO_CELERY_RESULT_BACKEND
|
|
- INVENIO_RATELIMIT_STORAGE_URI
|
|
- INVENIO_COMMUNITIES_IDENTITIES_CACHE_REDIS_URL
|
|
- INVENIO_BROKER_URL
|
|
- INVENIO_CELERY_BROKER_URL
|
|
- INVENIO_MAIL_SERVER
|
|
- INVENIO_MAIL_PORT
|
|
- INVENIO_MAIL_USERNAME
|
|
- INVENIO_MAIL_PASSWORD
|
|
- INVENIO_MAIL_USE_SSL
|
|
- INVENIO_FILES_REST_STORAGE_FACTORY
|
|
- INVENIO_S3_ENDPOINT_URL
|
|
- INVENIO_S3_ACCESS_KEY_ID
|
|
- INVENIO_S3_SECRET_ACCESS_KEY
|
|
- INVENIO_S3_BUCKET_NAME
|
|
- INVENIO_ENV=${COMPOSE_PROFILES}
|
|
- FLASK_ENV=${COMPOSE_PROFILES}
|
|
- NODE_ENV=${COMPOSE_PROFILES}
|
|
- FLASK_DEBUG
|
|
depends_on:
|
|
search:
|
|
condition: service_started
|
|
cache:
|
|
condition: service_started
|
|
db:
|
|
condition: service_started
|
|
cache:
|
|
image: valkey/valkey:7.2.5-bookworm
|
|
networks:
|
|
- invenio-network
|
|
restart: "unless-stopped"
|
|
volumes:
|
|
- "valkey_data:/data"
|
|
ports:
|
|
- "6379:6379"
|
|
db:
|
|
image: postgres:16.4-bookworm
|
|
networks:
|
|
- invenio-network
|
|
restart: "unless-stopped"
|
|
environment:
|
|
- POSTGRES_USER
|
|
- POSTGRES_PASSWORD
|
|
- POSTGRES_DB
|
|
volumes:
|
|
- "postgres_data:/var/lib/postgresql/data"
|
|
ports:
|
|
- 5432:5432
|
|
search:
|
|
image: opensearchproject/opensearch:2.12.0
|
|
networks:
|
|
- invenio-network
|
|
restart: "unless-stopped"
|
|
environment:
|
|
- OPENSEARCH_INITIAL_ADMIN_PASSWORD
|
|
- bootstrap.memory_lock=true
|
|
- OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m
|
|
- DISABLE_INSTALL_DEMO_CONFIG=true
|
|
- DISABLE_SECURITY_PLUGIN=true
|
|
- discovery.type=single-node
|
|
ulimits:
|
|
memlock:
|
|
soft: -1
|
|
hard: -1
|
|
nofile:
|
|
soft: 65536
|
|
hard: 65536
|
|
mem_limit: 2g
|
|
volumes:
|
|
- opensearch_data:/usr/share/opensearch/data
|
|
ports:
|
|
- "9200:9200"
|
|
- "9600:9600"
|
|
|
|
networks:
|
|
invenio-network:
|
|
|
|
volumes:
|
|
app_data:
|
|
uploaded_data:
|
|
archived_data:
|
|
static_files:
|
|
postgres_data:
|
|
opensearch_data:
|
|
valkey_data:
|
|
caddy_data:
|