Docker and testing changes
[wolnelektury.git] / src / wolnelektury / settings / basic.py
1 # This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
2 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
3 #
4 import os
5
6 DEBUG = os.environ.get('DEBUG', '')
7 SECRET_KEY = os.environ.get('SECRET_KEY', None)
8
9 ADMINS = [
10     # ('Your Name', 'your_email@domain.com'),
11 ]
12
13 MANAGERS = ADMINS
14
15 CONTACT_EMAIL = 'fundacja@wolnelektury.pl'
16
17 ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', '').split()
18
19 AUTH_PASSWORD_VALIDATORS = [
20     {
21         "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
22     },
23     {
24         "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
25         "OPTIONS": {
26             "min_length": 6,
27         },
28     },
29     {
30         "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
31     },
32     {
33         "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
34     },
35 ]
36
37 CACHE_MIDDLEWARE_SECONDS = 3 * 60
38
39 CACHES = {
40     'default': {
41         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
42         'TIMEOUT': 180,
43         'LOCATION': [
44             'memcached:11211',
45         ],
46     },
47     'template_fragments': {
48         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
49         'TIMEOUT': 86400,
50         'LOCATION': [
51             'memcached:11211',
52         ],
53     },
54 }
55
56 DATABASES = {
57     'default': {
58         'ENGINE': 'django.db.backends.postgresql',
59         'HOST': 'db',
60         'USER': os.environ.get('POSTGRES_USER'),
61         'PASSWORD': os.environ.get('POSTGRES_PASSWORD'),
62         'NAME': os.environ.get('POSTGRES_USER'),
63     }
64 }
65
66 DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
67
68 # Local time zone for this installation. Choices can be found here:
69 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
70 # although not all choices may be available on all operating systems.
71 # If running in a Windows environment this must be set to the same as your
72 # system time zone.
73 TIME_ZONE = 'Europe/Warsaw'
74 USE_TZ = True
75
76 SITE_ID = 1
77
78 TEMPLATES = [{
79     'BACKEND': 'django.template.backends.django.DjangoTemplates',
80     'APP_DIRS': True,
81     'OPTIONS': {
82         'context_processors': (
83             'django.contrib.auth.context_processors.auth',
84             'django.contrib.messages.context_processors.messages',
85             'django.template.context_processors.debug',
86             'django.template.context_processors.i18n',
87             'django.template.context_processors.media',
88             'django.template.context_processors.request',
89             'wolnelektury.context_processors.extra_settings',
90         ),
91     },
92 }]
93
94 MIDDLEWARE = [
95     'debug_toolbar.middleware.DebugToolbarMiddleware',
96     'django.middleware.csrf.CsrfViewMiddleware',
97     'django.middleware.cache.UpdateCacheMiddleware',
98     'django.middleware.common.CommonMiddleware',
99     'django.contrib.sessions.middleware.SessionMiddleware',
100     'django.contrib.auth.middleware.AuthenticationMiddleware',
101     'django.contrib.admindocs.middleware.XViewMiddleware',
102     'fnp_django_pagination.middleware.PaginationMiddleware',
103     'django.middleware.locale.LocaleMiddleware',
104     'django.middleware.common.CommonMiddleware',
105     'django.contrib.messages.middleware.MessageMiddleware',
106     'fnpdjango.middleware.SetRemoteAddrFromXRealIP',
107     'django.middleware.cache.FetchFromCacheMiddleware',
108     'experiments.middleware.experiments_middleware',
109 ]
110
111 ROOT_URLCONF = 'wolnelektury.urls'
112
113 FILE_UPLOAD_PERMISSIONS = 0o640