Configuration¶
We use flask.app.config
, so to use it do:
from flask import current_app as app
print(app.config['SERVER_DOMAIN'])
Configuration is combination of default settings module and settings module in application repo.
Default settings¶
APPLICATION_NAME
¶
Default: 'Superdesk'
CLIENT_URL
¶
Default: 'http://localhost:9000'
FTP_TIMEOUT
¶
Default: 300
This is used for all ftp operations. Increase if you get ftp timeout errors.
CONTENT_EXPIRY_MINUTES
¶
Changed in version 1.5: Change default value to 0
.
Default: 0
By default content will not expire.
PUBLISHED_CONTENT_EXPIRY_MINUTES
¶
Default: 0
It applies only to published content if the value is greater than 0
and it overrides the desk/stage content
expiry settings. If PUBLISHED_CONTENT_EXPIRY_MINUTES
is set to 0
then the content is expired based on
the content expiry settings for that desk/stage.
INGEST_EXPIRY_MINUTES
¶
Default: 2880
(2 days)
MAX_VALUE_OF_INGEST_SEQUENCE
¶
Default: 9999
MAX_VALUE_OF_PUBLISH_SEQUENCE
¶
Default: 9999
DEFAULT_SOURCE_VALUE_FOR_MANUAL_ARTICLES
¶
Default: 'Superdesk'
Changed in version 1.8: Change default value to 'Superdesk'
.
DEFAULT_PRIORITY_VALUE_FOR_MANUAL_ARTICLES
¶
Default: 6
DEFAULT_URGENCY_VALUE_FOR_MANUAL_ARTICLES
¶
Default: 3
DEFAULT_GENRE_VALUE_FOR_MANUAL_ARTICLES
¶
Default: [{'qcode': 'Article', 'name': 'Article (news)'}]
RESET_PRIORITY_VALUE_FOR_UPDATE_ARTICLES
¶
Default: False
NEWSML_PROVIDER_ID
¶
Default: 'sourcefabric.org'
ORGANIZATION_NAME
¶
Default: 'Your organisation'
Changed in version 1.8: Change default value to 'Your organisation'
.
ORGANIZATION_NAME_ABBREVIATION
¶
Default: 'Short name for your organisation'
Changed in version 1.8: Change default value to 'Short name for your organisation'
.
ODBC_PUBLISH
¶
Default: None
Determines if the ODBC publishing mechanism will be used. If enabled then pyodbc must be installed along with its dependencies.
Mongo connections¶
There are multiple connections by default, so that it can use different instances for legal archive and production content.
For each there is _DBNAME
and _URI
setting, if _URI
is set it will be used as is, if not it will
use localhost
as server and _DBNAME
as db.
MONGO_DBNAME
¶
Default: 'superdesk'
MONGO_URI
¶
Default: 'mongodb://localhost/superdesk'
LEGAL_ARCHIVE_DBNAME
¶
Default: 'legal_archive'
LEGAL_ARCHIVE_URI
¶
Default: 'mongodb://localhost/legal_archive'
ARCHIVED_DBNAME
¶
Default: 'archived'
ARCHIVED_URI
¶
Default: mongodb://localhost/archived'
Elastic settings¶
ELASTICSEARCH_URL
¶
Default: 'http://localhost:9200'
ELASTICSEARCH_INDEX
¶
Default: 'superdesk'
Celery settings¶
BROKER_URL
¶
Default: 'redis://localhost:6379'
HIGH_PRIORITY_QUEUE_ENABLED
¶
New in version 1.31.
Default: False
When enabled you can toggle subscriber priority and those with high priority will use dedicated celery queue for transmissions. This should be only enabled when you have dedicated worker running:
$ celery -A worker worker -Q publish_priority
LDAP settings¶
Used for LDAP based authentication, if not configured it will use mongodb for credentials.
LDAP_SERVER
¶
Default: ''
LDAP_SERVER_PORT
¶
Default: 389
LDAP_FQDN
¶
Default: ''
LDAP_BASE_FILTER
¶
Default: ''
LDAP_USER_FILTER
¶
Default: '(&(objectCategory=user)(objectClass=user)(sAMAccountName={}))'
LDAP_USER_ATTRIBUTES
¶
Default:
{
'givenName': 'first_name',
'sn': 'last_name',
'ipPhone': 'phone',
'mail': 'email',
'displayName': 'display_name'
}
Media settings¶
MEDIA_PREFIX
¶
Default: ''
Uses for generation of media url (<media_prefix>/<media_id>)
:
# if it's empty (default value) uses something like
'http://<host>/api/upload-raw'
# serve directly from AMAZON S3
'https://<bucket>.s3-<region>.amazonaws.com/<subfolder>'
# save relative urls to database
'/media-via-nginx'
# or using api view
'/api/upload-raw'
Amazon S3 settings¶
AMAZON_ACCESS_KEY_ID
¶
Default: ''
AMAZON_SECRET_ACCESS_KEY
¶
Default: ''
AMAZON_REGION
¶
Default: 'us-east-1'
AMAZON_CONTAINER_NAME
¶
Default: ''
AMAZON_S3_SUBFOLDER
¶
Default: ''
AMAZON_OBJECT_ACL
¶
Default: ''
Security settings¶
SESSION_EXPIRY_MINUTES
¶
Default: 240
The number of minutes since the last update of the Mongo auth object after which it will be deleted.
RESET_PASSWORD_TOKEN_TIME_TO_LIVE
¶
Default: 1
The number of days a token is valid, env RESET_PASS_TTL
.
ACTIVATE_ACCOUNT_TOKEN_TIME_TO_LIVE
¶
Default: 7
The number of days an activation token is valid, env ACTIVATE_TTL
.
SECRET_KEY
¶
New in version 1.5.
Changed in version 2.4: Now required as flask.session
will be used for some authentication
Default: Hardcoded value, which should not be used in production!
This value should be set to a unique, unpredictable value. It is used for auth token signing.
Email settings¶
MAIL_SERVER
¶
Default: 'localhost'
MAIL_PORT
¶
Default: 25
MAIL_USE_TLS
¶
Default: False
MAIL_USE_SSL
¶
Default: False
MAIL_USERNAME
¶
Default: ''
MAIL_PASSWORD
¶
Default: ''
MAIL_DEFAULT_SENDER
¶
Default: 'superdesk@localhost'
ADMINS
¶
Default: ['']
Content API Settings¶
New in version 1.5.
CONTENTAPI_URL
Default: localhost:5400
Content API URL. Set this when running api behind a proxy.
CONTENT_API_EXPIRY_DAYS
¶
Default: 0
Define after how many days items expire in content api. When set to 0
no items will be removed.
CONTENTAPI_MONGO_DBNAME
¶
Default: contentapi
CONTENTAPI_MONGO_URI
¶
Default: mongodb://localhost/contentapi
CONTENTAPI_ELASTICSEARCH_URL
¶
Default: http://localhost:9200
CONTENTAPI_ELASTICSEARCH_INDEX
¶
Default: contentapi
Google OAuth Settings¶
New in version 1.8.
GOOGLE_CLIENT_ID
¶
Default: ''
GOOGLE_CLIENT_SECRET
¶
Default: ''
OpenID Connect Auth Settings¶
New in version 2.1.
OIDC_ENABLED
¶
Default: False
OIDC_SERVER_CLIENT
¶
Keycloak client name with access type is confidential
OIDC_SERVER_CLIENT_SECRET
¶
Keycloak server client secret
OIDC_WEB_CLIENT
¶
Keycloak client name with access type is public
OIDC_BROWSER_REDIRECT_URL
¶
Default: CLIENT_URL
Redirect URL for successful authentication with Keycloak
Schema and Editor¶
New in version 1.9.
Allows updating schema and editor settings for item types text
, picture
and composite
.
SCHEMA
¶
Default: {}
Example:
SCHEMA = {
'composite': {
'headline': {'type': 'text', 'required': True, 'maxlength': 200},
...
}
}
EDITOR
¶
Default: {}
Example:
EDITOR = {
'composite': {
'headline': {'order': 1, formatOptions: ['bold']},
...
}
}
OVERRIDE_EDNOTE_FOR_CORRECTIONS
¶
Default: True
Set to False to disable editor note overriding on correction.
OVERRIDE_EDNOTE_TEMPLATE
¶
Default: None
Template to use to override editor note (ignored if OVERRIDE_EDNOTE_FOR_CORRECTIONS
is False
).
If not set, default template will be used.
In your template, you can use {date}
to insert current date or {slugline}
for slugline.
Example:
OVERRIDE_EDNOTE_FOR_CORRECTIONS = True
OVERRIDE_EDNOTE_TEMPLATE = 'Story "{slugline}" corrected on {date}'
GEONAMES_USERNAME
¶
New in version 1.20.
Default: None
When configured it will enable /places_autocomplete
service and client
will use it for place field searching.
Other¶
Extend Superdesk¶
Additional settings which are allowed to change some Superdesk defaults
SCHEMA_UPDATE
Default: None
Allows to update a default schema.
Example:
SCHEMA_UPDATE = {
'archive': {
'extra': {
'type': 'dict',
'schema': {},
'mapping': {
'type': 'object',
'enabled': True
},
'allow_unknown': True,
}
}
}