example-configs/integreat-cms.ini
# This is the configuration file for integreat-cms.
# It should be located at "/etc/integreat-cms.ini".
# If you want to place the file at a different location, pass the
# absolute path via the environment variable "INTEGREAT_CMS_CONFIG".
# All these settings can also be configured via environment variables
# with the prefix "INTEGREAT_CMS_", e.g. "INTEGREAT_CMS_SECRET_KEY".
# The sections are just for better readability, they can be renamed
# or rearranged as desired.
[base]
# Whether debug mode is enabled [optional, defaults to False]
DEBUG = False
# Whether test mode is enabled [optional, defaults to False]
TEST = False
# The timezone of the server [optional, defaults to "Europe/Berlin"]
CURRENT_TIME_ZONE = Europe/Berlin
# The company operating this CMS [optional, defaults to "Tür an Tür – Digitalfabrik gGmbH"]
COMPANY = Tür an Tür – Digitalfabrik gGmbH
# The URL to the company's website [optional, defaults to "https://tuerantuer.de/digitalfabrik/"]
COMPANY_URL = https://tuerantuer.de/digitalfabrik/
# The branding of the CMS [optional, defaults to "integreat", must be one of ["integreat", "malte", "aschaffenburg", "netzwerk-obdach"]]
BRANDING = integreat
# The list of languages which are available in the UI [optional, defaults to "de" and "en"]
LANGUAGES =
de
en
nl
# The default UI language [optional, defaults to "de"]
LANGUAGE_CODE = de
# The default timeout in seconds for retrieving external APIs etc. [optional, defaults to 10]
DEFAULT_REQUEST_TIMEOUT = 10
# To adjust text and/or translations in the CMS, local .po files can be included from a directory
CUSTOM_LOCALE_PATH = /etc/integreat-cms/locale/
# The slug for the legal notice
IMPRINT_SLUG = imprint
[secrets]
# The secret key for this installation [required]
SECRET_KEY = <your-secret-key>
# If you want to send push notification to your app users, set a path to your firebase credentials file here [optional, defaults to None]
FCM_CREDENTIALS = <your-firebase-key>
# If you want to use automatic translations via DeepL, set your API auth key here [optional, defaults to None]
DEEPL_AUTH_KEY = <your-deepl-auth-key>
[logging]
# The path to your log file [optional, defaults to "integreat-cms.log" in the application directory]
LOGFILE = /var/integreat-cms.log
# Logging level of integreat-cms [optional, defaults to "INFO"]
LOG_LEVEL = INFO
# Logging level of all dependencies [optional, defaults to "WARN"]
DEPS_LOG_LEVEL = WARN
# Whether to log all entries from the messages framework [optional, defaults to False]
MESSAGE_LOGGING_ENABLED = False
[urls]
# The url to your installation [optional, defaults to "http://localhost:8000"]
BASE_URL = https://cms.integreat-app.de
# The url to the web app [optional, defaults to "https://integreat.app"]
WEBAPP_URL = https://integreat.app
# The url to the statistics server [optional, defaults to "https://statistics.integreat-app.de"]
MATOMO_URL = https://statistics.integreat-app.de
# Enable or disable tracking of API requests with Matomo, defaults to False
MATOMO_TRACKING = False
# The url to the blog website [optional, defaults to "https://integreat-app.de"]
WEBSITE_URL = https://integreat-app.de
# The url to the wiki [optional, defaults to "https://wiki.integreat-app.de"]
WIKI_URL = https://wiki.integreat-app.de
# Any additional allowed hosts besides localhost and the hostname of BASE_URL [optional, defaults to an empty list]
ALLOWED_HOSTS =
cms.tuerantuer.org
api.integreat-app.de
# Any additional urls or domains which should be treated as "internal" [optional, defaults to empty list]
INTERNAL_URLS =
tuerantuer.org
integreat-app.de
[static-files]
# The directory for static files [required]
STATIC_ROOT = /var/www/integreat-cms/static
# The directory for media files [optional, defaults to "media" in the application directory]
MEDIA_ROOT = /var/www/integreat-cms/media
# The directory for PDF files [optional, defaults to "pdf" in the application directory]
PDF_ROOT = /var/www/integreat-cms/pdf
# The directory for xliff files [optional, defaults to "xliff" in the application directory]
XLIFF_ROOT = /var/www/integreat-cms/xliff
# Enable the possibility to upload legacy file formats [optional, defaults to False]
LEGACY_FILE_UPLOAD = False
[database]
# Database name [optional, defaults to "integreat"]
DB_NAME = <your-database>
# Database username [optional, defaults to "integreat"]
DB_USER = <your-username>
# Database password [required]
DB_PASSWORD = <your-password>
# Database host [optional, defaults to "localhost"]
DB_HOST = <database-host>
# Database port [optional, defaults to 5432]
DB_PORT = <port>
[cache]
# Whether redis database should be used for caching [optional, defaults to False]
REDIS_CACHE = True
# Set this if you want to connect to redis via socket [optional, defaults to None]
REDIS_UNIX_SOCKET = /var/run/redis/redis-server.sock
[email]
# Sender email [optional, defaults to "keineantwort@integreat-app.de"]
SERVER_EMAIL = <your-email-address>
# SMTP server [optional, defaults to localhost]
EMAIL_HOST = <your-smtp-server>
# SMTP username [optional, defaults to SERVER_EMAIL]
EMAIL_HOST_USER = <your-username>
# SMTP password [required]
EMAIL_HOST_PASSWORD = <your-password>
# SMTP port [optional, defaults to 587]
EMAIL_PORT = <your-port>
# Whether TLS is enabled [optional, defaults to True]
EMAIL_USE_TLS = True
# Whether SSL (implicit TLS) is enabled [optional, defaults to False]
EMAIL_USE_SSL = False
[linkcheck]
# Whether link check should be disabled [optional, defaults to False]
LINKCHECK_DISABLE_LISTENERS = False
# URL types that are not supposed to be shown in the link list (e.g. phone numbers and emails)
LINKCHECK_IGNORED_URL_TYPES =
mailto
phone
[summ-ai]
# The URL to our SUMM.AI API [optional, defaults to "https://backend.summ-ai.com/translate/v1/"]
SUMM_AI_API_URL = <your-summ-ai-api-endpoint>
# If you want to use easy german via Summ.AI, set your API auth key here [optional, defaults to None]
SUMM_AI_API_KEY = <your-summ-ai-key>
# Whether real request are made to the SUMM.AI API [optional, defaults to the value of DEBUG]
SUMM_AI_TEST_MODE = False
# The language slug for German [optional, defaults to "de"]
SUMM_AI_GERMAN_LANGUAGE_SLUG = "de"
# The language slug for Easy German [optional, defaults to "de-si"]
SUMM_AI_EASY_GERMAN_LANGUAGE_SLUG = "de-si"
# The separator which is used to split compound words [optional, defaults to "hyphen", must be one of ["hyphen", "interpunct"]
SUMM_AI_SEPARATOR = "hyphen"
# Whether the SUMM.AI translations are initial by default [optional, defaults to True]
SUMM_AI_IS_INITIAL = True
# Slugs of regions that prefer Plain German over Easy German in the management command
SUMM_AI_PLAIN_GERMAN_REGIONS = "augsburg
testregion"
[MT global]
# The amount of yearly translation credits each region receives for free
MT_CREDITS_FREE = 50_000
# The amount of yearly translation credits a region can book as an add-on
MT_CREDITS_ADDON = 1_000_000
# A percentage of MT_CREDITS_FREE used as a soft margin when deciding if the credit limit has been exceeded
MT_SOFT_MARGIN_FRACTION = 0.01
[deepl]
# The URL to our DeepL API [optional, defaults to None]
DEEPL_API_URL = <your-deepl-api-endpoint>
[textlab]
# If you want to get the hix score for your texts, set your API key here [optional, defaults to None]
TEXTLAB_API_KEY = <your-textlab-api-key>
# URL to the Textlab API
TEXTLAB_API_URL = <your-textlab-api-endpoint>
# Username for the textlab api [optional, defaults to "Integreat"]
TEXTLAB_API_USERNAME = <your-textlab-api-username>
# Minimum HIX score required for machine translation [optional, defaults to 15.0]
HIX_REQUIRED_FOR_MT = 15.0
# How many seconds we should wait between the requests in the bulk management command
TEXTLAB_API_BULK_WAITING_TIME = 0.5
# How many seconds we should wait after finishing a region in the bulk management command
TEXTLAB_API_BULK_COOL_DOWN_PERIOD = 60
[xliff]
# Which XLIFF version to use for export [optional, defaults to "xliff-1.2"]
XLIFF_EXPORT_VERSION = xliff-1.2
[google-translate]
# Selected version of google translate. Either "Advanced" or "Basic"
GOOGLE_TRANSLATE_VERSION = <google-translate-version>
# Path to the saved credential json file
GOOGLE_CREDENTIALS = <path-to-credential-json>
# Google Project id
GOOGLE_PROJECT_ID = <project-id>
# Location
GOOGLE_TRANSLATE_LOCATION = <location>
[xhtml2pdf]
# Slugs of languages for which PDF export should be deactivated
PDF_DEACTIVATED_LANGUAGES = <pdf-deactivated-languages>