Stasiek Michalski ff902a
# -*- coding: utf-8 -*-
Stasiek Michalski ff902a
# Copyright (C) 1998-2016 by the Free Software Foundation, Inc.
Stasiek Michalski ff902a
#
Stasiek Michalski ff902a
# This file is part of Mailman Suite.
Stasiek Michalski ff902a
#
Stasiek Michalski ff902a
# Mailman Suite is free sofware: you can redistribute it and/or modify it
Stasiek Michalski ff902a
# under the terms of the GNU General Public License as published by the Free
Stasiek Michalski ff902a
# Software Foundation, either version 3 of the License, or (at your option)
Stasiek Michalski ff902a
# any later version.
Stasiek Michalski ff902a
#
Stasiek Michalski ff902a
# Mailman Suite is distributed in the hope that it will be useful, but
Stasiek Michalski ff902a
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
Stasiek Michalski ff902a
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
Stasiek Michalski ff902a
# for more details.
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# You should have received a copy of the GNU General Public License along
Stasiek Michalski ff902a
# with Mailman Suite.  If not, see <http://www.gnu.org/licenses/>.
Stasiek Michalski ff902a
"""
Stasiek Michalski ff902a
Django Settings for Mailman Suite (hyperkitty + postorius)
Stasiek Michalski ff902a
Stasiek Michalski ff902a
For more information on this file, see
Stasiek Michalski ff902a
https://docs.djangoproject.com/en/1.8/topics/settings/
Stasiek Michalski ff902a
Stasiek Michalski ff902a
For the full list of settings and their values, see
Stasiek Michalski ff902a
https://docs.djangoproject.com/en/1.8/ref/settings/
Stasiek Michalski ff902a
"""
Stasiek Michalski ff902a
Stasiek Michalski ff902a
import os
Stasiek Michalski ba19c9
from mailman_web.settings.base import *
Stasiek Michalski ba19c9
from mailman_web.settings.mailman import *
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# SECURITY WARNING: keep the secret key used in production secret!
Stasiek Michalski 3d3c2b
SECRET_KEY = '{{ pillar['profile']['mailman3']['secret_key'] }}'
Stasiek Michalski ff902a
Stasiek Michalski ff902a
ADMINS = (
Stasiek Michalski 0cfb96
     ('openSUSE Mailing Lists Admins', 'ml-admin@opensuse.org'),
Stasiek Michalski ff902a
)
Stasiek Michalski ff902a
Stasiek Michalski ff902a
SITE_ID = 1
Stasiek Michalski ff902a
Stasiek Michalski ff902a
ALLOWED_HOSTS = [
Stasiek Michalski ff902a
    "localhost",  # Archiving API from Mailman, keep it.
Stasiek Michalski ff902a
    {%- for server in pillar['profile']['mailman3']['server_list'] %}
Stasiek Michalski ff902a
    "{{server}}",
Stasiek Michalski ff902a
    {%- endfor %}
Stasiek Michalski ff902a
]
Stasiek Michalski ff902a
Stasiek Michalski 206863
POSTORIUS_TEMPLATE_BASE_URL='0.0.0.0:8000'
Stasiek Michalski 206863
Stasiek Michalski ff902a
# Mailman API credentials
Stasiek Michalski ff902a
MAILMAN_REST_API_USER = '{{ pillar['profile']['mailman3']['admin_user'] }}'
Stasiek Michalski ff902a
MAILMAN_REST_API_PASS = '{{ pillar['profile']['mailman3']['admin_pass'] }}'
Stasiek Michalski ff902a
MAILMAN_ARCHIVER_KEY = '{{ pillar['profile']['mailman3']['archiver_key'] }}'
Stasiek Michalski ff902a
Stasiek Michalski ff902a
ROOT_URLCONF = 'urls'
Stasiek Michalski ff902a
Stasiek Michalski ff902a
TEMPLATES = [
Stasiek Michalski ff902a
    {
Stasiek Michalski ff902a
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
Stasiek Michalski ff902a
        'DIRS': [
Stasiek Michalski ff902a
            BASE_DIR + '/templates/',
Stasiek Michalski ff902a
        ],
Stasiek Michalski ff902a
        'OPTIONS': {
Stasiek Michalski ff902a
            'loaders': [
Stasiek Michalski ff902a
                ('django.template.loaders.cached.Loader', [
Stasiek Michalski ff902a
                    'django.template.loaders.filesystem.Loader',
Stasiek Michalski ff902a
                    'django.template.loaders.app_directories.Loader',
Stasiek Michalski ff902a
                ]),
Stasiek Michalski ff902a
            ],
Stasiek Michalski ff902a
            'context_processors': [
Stasiek Michalski ff902a
                'django.template.context_processors.debug',
Stasiek Michalski ff902a
                'django.template.context_processors.i18n',
Stasiek Michalski ff902a
                'django.template.context_processors.media',
Stasiek Michalski ff902a
                'django.template.context_processors.static',
Stasiek Michalski ff902a
                'django.template.context_processors.tz',
Stasiek Michalski ff902a
                'django.template.context_processors.csrf',
Stasiek Michalski ff902a
                'django.template.context_processors.request',
Stasiek Michalski ff902a
                'django.contrib.auth.context_processors.auth',
Stasiek Michalski ff902a
                'django.contrib.messages.context_processors.messages',
Stasiek Michalski ff902a
                'django_mailman3.context_processors.common',
Stasiek Michalski ff902a
                'hyperkitty.context_processors.common',
Stasiek Michalski ff902a
                'postorius.context_processors.postorius',
Stasiek Michalski ff902a
            ],
Stasiek Michalski ff902a
        },
Stasiek Michalski ff902a
    },
Stasiek Michalski ff902a
]
Stasiek Michalski ff902a
Stasiek Michalski ff902a
WSGI_APPLICATION = 'wsgi.application'
Stasiek Michalski ff902a
Stasiek Michalski 0cfb96
INSTALLED_APPS = [
Stasiek Michalski 0cfb96
    'hyperkitty',
Stasiek Michalski 0cfb96
    'postorius',
Stasiek Michalski 0cfb96
    'django_mailman3',
Stasiek Michalski 0cfb96
    'django.contrib.admin',
Stasiek Michalski 0cfb96
    'django.contrib.auth',
Stasiek Michalski 0cfb96
    'django.contrib.contenttypes',
Stasiek Michalski 0cfb96
    'django.contrib.sessions',
Stasiek Michalski 0cfb96
    'django.contrib.sites',
Stasiek Michalski 0cfb96
    'django.contrib.messages',
Stasiek Michalski 0cfb96
    'django.contrib.staticfiles',
Stasiek Michalski 0cfb96
    'rest_framework',
Stasiek Michalski 0cfb96
    'django_gravatar',
Stasiek Michalski 0cfb96
    'compressor',
Stasiek Michalski 0cfb96
    'haystack',
Stasiek Michalski 0cfb96
    'django_extensions',
Stasiek Michalski 0cfb96
    'django_q',
Stasiek Michalski 0cfb96
    'allauth',
Stasiek Michalski 0cfb96
    'allauth.account',
Stasiek Michalski 0cfb96
    'allauth.socialaccount',
Stasiek Michalski 0cfb96
    'allauth.socialaccount.providers.openid',
Stasiek Michalski 0cfb96
    'allauth.socialaccount.providers.github',
Stasiek Michalski 0cfb96
    'allauth.socialaccount.providers.gitlab',
Stasiek Michalski 0cfb96
    'allauth.socialaccount.providers.stackexchange',
Stasiek Michalski 0cfb96
    'allauth.socialaccount.providers.google',
Stasiek Michalski 0cfb96
]
Stasiek Michalski 0cfb96
Stasiek Michalski 0cfb96
SOCIALACCOUNT_PROVIDERS = {
Stasiek Michalski 0cfb96
    'openid': {
Stasiek Michalski 0cfb96
        'SERVERS': [
Stasiek Michalski 0cfb96
            dict(id='opensuse',
Stasiek Michalski 0cfb96
                 name='openSUSE',
Stasiek Michalski 0cfb96
                 openid_url='https://www.opensuse.org/openid/'),
Stasiek Michalski 0cfb96
            ]
Stasiek Michalski 0cfb96
    }
Stasiek Michalski 0cfb96
}
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# Database
Stasiek Michalski ff902a
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases
Stasiek Michalski ba19c9
#
Stasiek Michalski ff902a
DATABASES = {
Stasiek Michalski ff902a
    'default': {
Stasiek Michalski ff902a
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
Stasiek Michalski ff902a
        'NAME': 'mailman_frontend',
Stasiek Michalski ff902a
        'USER': '{{ pillar['profile']['mailman3']['database_user'] }}',
Stasiek Michalski ff902a
        'PASSWORD': '{{ pillar['postgres']['users']['mailman3']['password'] }}',
Stasiek Michalski ff902a
        'HOST': '{{ pillar['profile']['mailman3']['database_host'] }}',
Stasiek Michalski ff902a
    }
Stasiek Michalski ff902a
}
Stasiek Michalski ff902a
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# If you're behind a proxy, use the X-Forwarded-Host header
Stasiek Michalski ff902a
# See https://docs.djangoproject.com/en/1.8/ref/settings/#use-x-forwarded-host
Stasiek Michalski ff902a
USE_X_FORWARDED_HOST = True
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# And if your proxy does your SSL encoding for you, set SECURE_PROXY_SSL_HEADER
Stasiek Michalski ff902a
# https://docs.djangoproject.com/en/1.8/ref/settings/#secure-proxy-ssl-header
Stasiek Michalski ff902a
# SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
Stasiek Michalski ff902a
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_SCHEME', 'https')
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# Other security settings
Stasiek Michalski ff902a
# SECURE_SSL_REDIRECT = True
Stasiek Michalski ff902a
# If you set SECURE_SSL_REDIRECT to True, make sure the SECURE_REDIRECT_EXEMPT
Stasiek Michalski ff902a
# contains at least this line:
Stasiek Michalski ff902a
# SECURE_REDIRECT_EXEMPT = [
Stasiek Michalski ff902a
#     "archives/api/mailman/.*",  # Request from Mailman.
Stasiek Michalski ff902a
#     ]
Stasiek Michalski ff902a
SESSION_COOKIE_SECURE = True
Stasiek Michalski ff902a
SECURE_CONTENT_TYPE_NOSNIFF = True
Stasiek Michalski ff902a
SECURE_BROWSER_XSS_FILTER = True
Stasiek Michalski ff902a
CSRF_COOKIE_SECURE = True
Stasiek Michalski ff902a
CSRF_COOKIE_HTTPONLY = True
Stasiek Michalski ff902a
X_FRAME_OPTIONS = 'DENY'
Stasiek Michalski ff902a
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# Static files (CSS, JavaScript, Images)
Stasiek Michalski ff902a
# https://docs.djangoproject.com/en/1.8/howto/static-files/
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# Additional locations of static files
Stasiek Michalski ff902a
STATICFILES_DIRS = (
Stasiek Michalski ff902a
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
Stasiek Michalski ff902a
    # Always use forward slashes, even on Windows.
Stasiek Michalski ff902a
    # Don't forget to use absolute paths, not relative paths.
Stasiek Michalski ff902a
    BASE_DIR + '/static-openSUSE/',
Stasiek Michalski ff902a
)
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# If you enable internal authentication, this is the address that the emails
Stasiek Michalski ff902a
# will appear to be coming from. Make sure you set a valid domain name,
Stasiek Michalski ff902a
# otherwise the emails may get rejected.
Stasiek Michalski ff902a
# https://docs.djangoproject.com/en/1.8/ref/settings/#default-from-email
Stasiek Michalski ff902a
# DEFAULT_FROM_EMAIL = "mailing-lists@you-domain.org"
Stasiek Michalski ff902a
DEFAULT_FROM_EMAIL = 'mailing-lists@opensuse.org'
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# If you enable email reporting for error messages, this is where those emails
Stasiek Michalski ff902a
# will appear to be coming from. Make sure you set a valid domain name,
Stasiek Michalski ff902a
# otherwise the emails may get rejected.
Stasiek Michalski ff902a
# https://docs.djangoproject.com/en/1.8/ref/settings/#std:setting-SERVER_EMAIL
Stasiek Michalski ff902a
# SERVER_EMAIL = 'root@your-domain.org'
Stasiek Michalski ff902a
SERVER_EMAIL = 'admin@opensuse.org'
Stasiek Michalski ff902a
Stasiek Michalski ff902a
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
Stasiek Michalski ff902a
EMAIL_HOST = 'localhost'
Stasiek Michalski ff902a
EMAIL_PORT = 25
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# Disable local signup
Stasiek Michalski ff902a
ACCOUNT_ADAPTER = "django_fedora_nosignup.NoLocalSignUpAdapter"
Stasiek Michalski ff902a
SOCIALACCOUNT_ADAPTER = "django_fedora_nosignup.SignUpEnabledSocialAdapter"
Stasiek Michalski ff902a
Stasiek Michalski ff902a
Stasiek Michalski ff902a
#
Stasiek Michalski ff902a
# Gravatar
Stasiek Michalski ff902a
#
Stasiek Michalski ff902a
GRAVATAR_URL = 'http://cdn.libravatar.org/'
Stasiek Michalski ff902a
GRAVATAR_SECURE_URL = 'https://seccdn.libravatar.org/'
Stasiek Michalski ff902a
GRAVATAR_DEFAULT_SIZE = '80'
Stasiek Michalski ff902a
GRAVATAR_DEFAULT_IMAGE = 'mm'
Stasiek Michalski ff902a
GRAVATAR_DEFAULT_RATING = 'g'
Stasiek Michalski ff902a
GRAVATAR_DEFAULT_SECURE = True
Stasiek Michalski ff902a
Stasiek Michalski ff902a
#
Stasiek Michalski ff902a
# Full-text search engine
Stasiek Michalski ff902a
#
Stasiek Michalski ff902a
HAYSTACK_CONNECTIONS = {
Stasiek Michalski ff902a
    'default': {
Stasiek Michalski 0cfb96
        'ENGINE': 'xapian_backend.XapianEngine',
Stasiek Michalski 0cfb96
        'PATH': os.path.join(os.path.dirname(__file__), 'xapian_index')
Stasiek Michalski ff902a
    },
Stasiek Michalski ff902a
}
Stasiek Michalski ff902a
Stasiek Michalski ff902a
# Using the cache infrastructure can significantly improve performance on a
Stasiek Michalski ff902a
# production setup. This is an example with a local Memcached server.
Stasiek Michalski ba19c9
# CACHES = {
Stasiek Michalski ba19c9
#     'default': {
Stasiek Michalski ba19c9
#         'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
Stasiek Michalski ba19c9
#         'LOCATION': '127.0.0.1:11211',
Stasiek Michalski ba19c9
#     }
Stasiek Michalski ba19c9
# }
Sasi Olin 5399b8
Sasi Olin 5399b8
USE_L10N = False
Sasi Olin 5399b8
TIME_FORMAT = 'H:i'