--- application_id: "web-app-mediawiki" entity_name: "{{ application_id | get_entity_name }}" MEDIAWIKI_SITENAME: "{{ lookup('config', application_id, 'services.mediawiki.sitename') }}" MEDIAWIKI_URL: "{{ lookup('tls', application_id, 'url.base') }}" MEDIAWIKI_HTML_DIR: "/var/www/html" MEDIAWIKI_CONFIG_DIR: "{{ lookup('container', application_id, 'directories.config') }}" MEDIAWIKI_VOLUMES_DIR: "{{ lookup('container', application_id, 'directories.volumes') }}" MEDIAWIKI_LOCALSETTINGS_HOST_PATH: "{{ MEDIAWIKI_CONFIG_DIR }}/LocalSettings.php" MEDIAWIKI_LOCALSETTINGS_CONTAINER_PATH: "{{ MEDIAWIKI_HTML_DIR }}/LocalSettings.php" MEDIAWIKI_LOCAL_MOUNT_DIR: "{{ [ MEDIAWIKI_VOLUMES_DIR, 'mw-local' ] | path_join }}" MEDIAWIKI_LOCAL_PATH: "{{ lookup('volume', 'web-app-mediawiki', 'mw_local').target }}" MEDIAWIKI_VERSION: "{{ lookup('config', application_id, 'services.' ~ entity_name ~ '.version') }}" MEDIAWIKI_IMAGE: "{{ lookup('config', application_id, 'services.' ~ entity_name ~ '.image') }}" MEDIAWIKI_CUSTOM_IMAGE: "{{ entity_name }}_custom" MEDIAWIKI_CONTAINER: "{{ lookup('config', application_id, 'services.' ~ entity_name ~ '.name') }}" MEDIAWIKI_VOLUME_IMAGES: "{{ lookup('volume', application_id, 'images').name }}" MEDIAWIKI_VOLUME_EXTENSIONS: "{{ lookup('volume', application_id, 'extensions').name }}" MEDIAWIKI_USER: "www-data" MEDIAWIKI_USER_GID: "33" MEDIAWIKI_NETWORK_DATABASE: "{{ lookup('database', application_id, 'network') }}" MEDIAWIKI_ADMINISTRATOR_NAME: "{{ lookup('users', 'administrator').username }}" MEDIAWIKI_ADMINISTRATOR_PASSWORD: "{{ lookup('config', application_id, 'secrets.credentials.administrator_password') }}" MEDIAWIKI_SECRET_KEY: "{{ lookup('config', application_id, 'secrets.credentials.secret_key') }}" MEDIAWIKI_OIDC_ENABLED: "{{ lookup('config', application_id, 'services.sso.enabled') }}" MEDIAWIKI_OIDC_CLIENT_ID: "{{ OIDC.CLIENT.ID }}" MEDIAWIKI_OIDC_CLIENT_SECRET: "{{ OIDC.CLIENT.SECRET }}" MEDIAWIKI_OIDC_ISSUER: "{{ OIDC.CLIENT.ISSUER_URL }}" MEDIAWIKI_OIDC_BUTTON_TEXT: "{{ OIDC.BUTTON_TEXT }}" MEDIAWIKI_OIDC_AUTOLOGIN: true MEDIAWIKI_OIDC_LOCALLOGIN: false MEDIAWIKI_LITELLM_ENABLED: "{{ lookup('config', application_id, 'services.litellm.enabled') | bool }}" MEDIAWIKI_LITELLM_PROVIDER: "open-ai" MEDIAWIKI_LITELLM_CONNECTION: url: "{{ LITELLM_OPENAI_BASE_LOCAL_URL }}" endpoint: "chat/completions" model: "{{ LITELLM_CHAT_MODEL }}" secret: "{{ lookup('config', application_id, 'secrets.credentials.litellm_api_key') }}" MEDIAWIKI_LITELLM_HTTP_TIMEOUT: 120 MEDIAWIKI_EXT_BRANCH: "REL{{ (MEDIAWIKI_VERSION | string).split('.')[:2] | join('_') }}" MEDIAWIKI_EXT_CFG_BASE: "{{ [ MEDIAWIKI_CONFIG_DIR, 'mwext', MEDIAWIKI_EXT_BRANCH ] | path_join }}" MEDIAWIKI_EXT_HELPER_DIR: "{{ [ MEDIAWIKI_EXT_CFG_BASE, 'helpers' ] | path_join }}" MEDIAWIKI_EXT_NAMES: "{{ lookup('config', application_id, 'addons') | dict2items | selectattr('value.enabled') | map(attribute='key') | list }}" # nocheck: url MEDIAWIKI_EXT_URL_PREFIX: "https://codeload.github.com/wikimedia/mediawiki-extensions-" MEDIAWIKI_EXT_URL_SUFFIX: "/tar.gz/refs/heads/{{ MEDIAWIKI_EXT_BRANCH }}" MEDIAWIKI_EXT_LIST: >- {% set _exts = [] %} {%- for _name in MEDIAWIKI_EXT_NAMES -%} {%- set _ = _exts.append({'name': _name, 'url': MEDIAWIKI_EXT_URL_PREFIX ~ _name ~ MEDIAWIKI_EXT_URL_SUFFIX}) -%} {%- endfor -%} {{ _exts }}