commit
892e4991bd
|
@ -1,5 +1,5 @@
|
|||
# dev, production, etc
|
||||
DJANGO_SETTINGS_MODULE=db.settings.dev
|
||||
ENVIRONMENT=dev
|
||||
DEBUG=True
|
||||
|
||||
# Email
|
||||
DEFAULT_FROM_EMAIL=noreply@example.com
|
||||
|
@ -9,6 +9,7 @@ ADMINS_FROM_EMAIL=noreply@example.com
|
|||
# Security
|
||||
SECRET_KEY=changeme
|
||||
ALLOWED_HOSTS=*
|
||||
SITE_URL=http://localhost:8000
|
||||
|
||||
# Database
|
||||
DATABASE_URL=sqlite:///db.sqlite3
|
||||
|
@ -18,6 +19,5 @@ OPBEAT_ORGID=
|
|||
OPBEAT_APPID=
|
||||
OPBEAT_SECRET=
|
||||
GOOGLE_ANALYTICS_KEY=
|
||||
|
||||
MAPBOX_MAP_ID=
|
||||
MAPBOX_TOKEN=
|
||||
|
|
|
@ -134,7 +134,7 @@ def suggestion(request):
|
|||
admins = User.objects.filter(is_superuser=True)
|
||||
site = get_current_site(request)
|
||||
subject = '[{0}] A new suggestion was submitted'.format(site.name)
|
||||
template = 'emails/exported_frames.txt'
|
||||
template = 'emails/new_suggestion.txt'
|
||||
saturl = '{0}{1}'.format(
|
||||
site.domain,
|
||||
reverse('satellite', kwargs={'norad': suggestion.satellite.norad_cat_id})
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
from __future__ import absolute_import
|
||||
|
||||
import os
|
||||
import dotenv
|
||||
|
||||
from celery import Celery
|
||||
|
||||
dotenv.read_dotenv()
|
||||
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'db.settings.production')
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'db.settings')
|
||||
|
||||
from django.conf import settings # noqa
|
||||
|
||||
|
|
|
@ -3,6 +3,9 @@ import dj_database_url
|
|||
|
||||
BASE_DIR = path.dirname(path.dirname(__file__))
|
||||
|
||||
ENVIRONMENT = getenv('ENVIRONMENT', 'production')
|
||||
DEBUG = getenv('DEBUG', False)
|
||||
|
||||
# Apps
|
||||
DJANGO_APPS = (
|
||||
'django.contrib.auth',
|
||||
|
@ -22,13 +25,12 @@ THIRD_PARTY_APPS = (
|
|||
'crispy_forms',
|
||||
'compressor',
|
||||
'csp',
|
||||
'opbeat.contrib.django',
|
||||
)
|
||||
LOCAL_APPS = (
|
||||
'db.base',
|
||||
'db.api',
|
||||
)
|
||||
BOWER_INSTALLED_APPS = (
|
||||
)
|
||||
|
||||
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS
|
||||
|
||||
|
@ -41,23 +43,37 @@ MIDDLEWARE_CLASSES = (
|
|||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'csp.middleware.CSPMiddleware',
|
||||
'opbeat.contrib.django.middleware.OpbeatAPMMiddleware',
|
||||
'opbeat.contrib.django.middleware.Opbeat404CatchMiddleware',
|
||||
)
|
||||
|
||||
# Email
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
|
||||
if DEBUG:
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
||||
else:
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
|
||||
EMAIL_HOST = 'localhost'
|
||||
EMAIL_PORT = 25
|
||||
EMAIL_TIMEOUT = 300
|
||||
DEFAULT_FROM_EMAIL = getenv('DEFAULT_FROM_EMAIL', 'noreply@satnogs.org')
|
||||
ADMINS = (
|
||||
(
|
||||
getenv('ADMINS_FROM_NAME', 'ADMINS'),
|
||||
getenv('ADMINS_FROM_EMAIL', 'noreply@example.com')
|
||||
getenv('ADMINS_FROM_NAME', 'SatNOGS Admins'),
|
||||
getenv('ADMINS_FROM_EMAIL', DEFAULT_FROM_EMAIL)
|
||||
),
|
||||
)
|
||||
MANAGERS = ADMINS
|
||||
SERVER_EMAIL = DEFAULT_FROM_EMAIL
|
||||
|
||||
# Cache
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
|
||||
'LOCATION': 'unique-snowflake'
|
||||
'BACKEND': getenv('CACHE_BACKEND', 'django.core.cache.backends.locmem.LocMemCache'),
|
||||
'LOCATION': getenv('CACHE_LOCATION', 'unique-snowflake'),
|
||||
'OPTIONS': {
|
||||
'CLIENT_CLASS': getenv('CACHE_CLIENT_CLASS', None),
|
||||
},
|
||||
'KEY_PREFIX': 'db-{0}'.format(ENVIRONMENT),
|
||||
}
|
||||
}
|
||||
CACHE_TTL = int(getenv('CACHE_TTL', 300))
|
||||
|
@ -74,7 +90,7 @@ USE_TZ = True
|
|||
TEMPLATES = [
|
||||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [path.join(BASE_DIR, 'templates')],
|
||||
'DIRS': [path.join(BASE_DIR, 'db/templates')],
|
||||
'OPTIONS': {
|
||||
'debug': False,
|
||||
'context_processors': [
|
||||
|
@ -102,7 +118,7 @@ TEMPLATES = [
|
|||
STATIC_ROOT = path.join(path.dirname(BASE_DIR), 'staticfiles')
|
||||
STATIC_URL = '/static/'
|
||||
STATICFILES_DIRS = (
|
||||
path.join(BASE_DIR, 'static'),
|
||||
path.join(BASE_DIR, 'db/static'),
|
||||
)
|
||||
STATICFILES_FINDERS = (
|
||||
'django.contrib.staticfiles.finders.FileSystemFinder',
|
||||
|
@ -188,6 +204,9 @@ CELERY_TASK_SERIALIZER = 'json'
|
|||
CELERY_RESULT_SERIALIZER = 'json'
|
||||
CELERY_SEND_TASK_ERROR_EMAILS = True
|
||||
CELERY_TASK_ALWAYS_EAGER = True
|
||||
CELERY_DEFAULT_QUEUE = 'db-{0}-queue'.format(ENVIRONMENT)
|
||||
CELERY_BROKER_URL = getenv('CELERY_BROKER_URL', 'redis://redis:6379/0')
|
||||
CELERY_RESULT_BACKEND = getenv('CELERY_RESULT_BACKEND', 'redis://redis:6379/0')
|
||||
|
||||
# API
|
||||
REST_FRAMEWORK = {
|
||||
|
@ -218,6 +237,13 @@ CSP_IMG_SRC = (
|
|||
'https://*.mapbox.com',
|
||||
'https://*.google-analytics.com',
|
||||
)
|
||||
SECURE_HSTS_SECONDS = getenv('SECURE_HSTS_SECONDS', 31536000)
|
||||
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
|
||||
SECURE_CONTENT_TYPE_NOSNIFF = True
|
||||
SECURE_BROWSER_XSS_FILTER = True
|
||||
ALLOWED_HOSTS = [
|
||||
getenv('ALLOWED_HOSTS', '*')
|
||||
]
|
||||
|
||||
# Database
|
||||
DATABASE_URL = getenv('DATABASE_URL', 'sqlite:///db.sqlite3')
|
||||
|
@ -233,3 +259,10 @@ SATELLITE_POSITION_ENDPOINT = getenv('SATELLITE_POSITION_ENDPOINT',
|
|||
MAPBOX_GEOCODE_URL = 'https://api.tiles.mapbox.com/v4/geocode/mapbox.places/'
|
||||
MAPBOX_MAP_ID = getenv('MAPBOX_MAP_ID', '')
|
||||
MAPBOX_TOKEN = getenv('MAPBOX_TOKEN', '')
|
||||
|
||||
# Metrics
|
||||
OPBEAT = {
|
||||
'ORGANIZATION_ID': getenv('OPBEAT_ORGID', None),
|
||||
'APP_ID': getenv('OPBEAT_APPID', None),
|
||||
'SECRET_TOKEN': getenv('OPBEAT_SECRET', None),
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
from base import * # flake8: noqa
|
||||
|
||||
ENVIRONMENT = 'dev'
|
||||
|
||||
# Debug
|
||||
DEBUG = True
|
||||
|
||||
# Mail
|
||||
EMAIL_HOST = 'localhost'
|
||||
EMAIL_PORT = 1025
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
|
@ -1,28 +0,0 @@
|
|||
from base import * # flake8: noqa
|
||||
|
||||
ENVIRONMENT = 'dev'
|
||||
|
||||
# Debug
|
||||
DEBUG = True
|
||||
|
||||
# Mail
|
||||
EMAIL_HOST = 'localhost'
|
||||
EMAIL_PORT = 1025
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
||||
|
||||
# Cache
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND': 'redis_cache.RedisCache',
|
||||
'LOCATION': 'redis://redis:6379/0',
|
||||
'OPTIONS': {
|
||||
'CLIENT_CLASS': 'django_redis.client.DefaultClient'
|
||||
},
|
||||
'KEY_PREFIX': 'db-{0}'.format(ENVIRONMENT)
|
||||
}
|
||||
}
|
||||
|
||||
# Celery
|
||||
CELERY_DEFAULT_QUEUE = 'db-{0}-queue'.format(ENVIRONMENT)
|
||||
CELERY_BROKER_URL = getenv('CELERY_BROKER_URL', 'redis://redis:6379/0')
|
||||
CELERY_RESULT_BACKEND = getenv('CELERY_RESULT_BACKEND', 'redis://redis:6379/0')
|
|
@ -1,53 +0,0 @@
|
|||
import os
|
||||
from base import * # flake8: noqa
|
||||
|
||||
ENVIRONMENT = 'production'
|
||||
|
||||
# Opbeat
|
||||
MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + (
|
||||
'opbeat.contrib.django.middleware.OpbeatAPMMiddleware',
|
||||
'opbeat.contrib.django.middleware.Opbeat404CatchMiddleware',
|
||||
)
|
||||
INSTALLED_APPS = INSTALLED_APPS + (
|
||||
'opbeat.contrib.django',
|
||||
)
|
||||
|
||||
# Cache
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND': 'redis_cache.RedisCache',
|
||||
'LOCATION': 'unix://var/run/redis/redis.sock',
|
||||
'OPTIONS': {
|
||||
'CLIENT_CLASS': 'django_redis.client.DefaultClient'
|
||||
},
|
||||
'KEY_PREFIX': 'db-{0}'.format(ENVIRONMENT)
|
||||
}
|
||||
}
|
||||
|
||||
# Celery
|
||||
CELERY_DEFAULT_QUEUE = 'db-{0}-queue'.format(ENVIRONMENT)
|
||||
CELERY_BROKER_URL = getenv('CELERY_BROKER_URL', 'unix://var/run/redis/redis.sock')
|
||||
CELERY_RESULT_BACKEND = getenv('CELERY_RESULT_BACKEND', 'unix://var/run/redis/redis.sock')
|
||||
|
||||
# Security
|
||||
SECURE_HSTS_SECONDS = 60
|
||||
SECURE_HSTS_INCLUDE_SUBDOMAINS = True
|
||||
SECURE_CONTENT_TYPE_NOSNIFF = True
|
||||
SECURE_BROWSER_XSS_FILTER = True
|
||||
ALLOWED_HOSTS = [
|
||||
os.getenv('ALLOWED_HOSTS', '*')
|
||||
]
|
||||
|
||||
# Email
|
||||
EMAIL_HOST = 'localhost'
|
||||
EMAIL_PORT = 25
|
||||
EMAIL_TIMEOUT = 300
|
||||
DEFAULT_FROM_EMAIL = os.getenv('DEFAULT_FROM_EMAIL', 'noreply@example.com')
|
||||
SERVER_EMAIL = DEFAULT_FROM_EMAIL
|
||||
|
||||
# Metrics
|
||||
OPBEAT = {
|
||||
'ORGANIZATION_ID': os.getenv('OPBEAT_ORGID', None),
|
||||
'APP_ID': os.getenv('OPBEAT_APPID', None),
|
||||
'SECRET_TOKEN': os.getenv('OPBEAT_SECRET', None),
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
import os
|
||||
from base import * # flake8: noqa
|
||||
|
||||
ENVIRONMENT = 'stage'
|
||||
|
||||
# Opbeat
|
||||
MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + (
|
||||
'opbeat.contrib.django.middleware.OpbeatAPMMiddleware',
|
||||
'opbeat.contrib.django.middleware.Opbeat404CatchMiddleware',
|
||||
)
|
||||
INSTALLED_APPS = INSTALLED_APPS + (
|
||||
'opbeat.contrib.django',
|
||||
)
|
||||
|
||||
# Cache
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND': 'redis_cache.RedisCache',
|
||||
'LOCATION': 'unix://var/run/redis/redis.sock',
|
||||
'OPTIONS': {
|
||||
'CLIENT_CLASS': 'django_redis.client.DefaultClient'
|
||||
},
|
||||
'KEY_PREFIX': 'db-{0}'.format(ENVIRONMENT)
|
||||
}
|
||||
}
|
||||
|
||||
# Celery
|
||||
CELERY_DEFAULT_QUEUE = 'db-{0}-queue'.format(ENVIRONMENT)
|
||||
CELERY_BROKER_URL = getenv('CELERY_BROKER_URL', 'redis+socket:///var/run/redis/redis.sock')
|
||||
CELERY_RESULT_BACKEND = getenv('CELERY_RESULT_BACKEND', 'redis+socket:///var/run/redis/redis.sock')
|
||||
|
||||
# Security
|
||||
ALLOWED_HOSTS = [
|
||||
os.getenv('ALLOWED_HOSTS', '*')
|
||||
]
|
||||
|
||||
# Mail
|
||||
EMAIL_HOST = 'localhost'
|
||||
EMAIL_PORT = 25
|
||||
EMAIL_TIMEOUT = 300
|
||||
DEFAULT_FROM_EMAIL = os.getenv('DEFAULT_FROM_EMAIL', 'noreply@example.com')
|
||||
SERVER_EMAIL = DEFAULT_FROM_EMAIL
|
||||
|
||||
# Metrics
|
||||
OPBEAT = {
|
||||
'ORGANIZATION_ID': os.getenv('OPBEAT_ORGID', None),
|
||||
'APP_ID': os.getenv('OPBEAT_APPID', None),
|
||||
'SECRET_TOKEN': os.getenv('OPBEAT_SECRET', None),
|
||||
}
|
|
@ -1,6 +1,9 @@
|
|||
#!/usr/bin/env python
|
||||
import os
|
||||
import dotenv
|
||||
from django.core.wsgi import get_wsgi_application
|
||||
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'db.settings')
|
||||
|
||||
dotenv.read_dotenv(dotenv='.env')
|
||||
application = get_wsgi_application()
|
||||
|
|
|
@ -30,9 +30,8 @@ web:
|
|||
- redis
|
||||
- celery
|
||||
environment:
|
||||
- DJANGO_SETTINGS_MODULE=db.settings.docker
|
||||
- DEFAULT_FROM_EMAIL=noreply@example.com
|
||||
- ALLOWED_HOSTS=*
|
||||
- ENVIRONMENT=stage
|
||||
- DEBUG=True
|
||||
- DATABASE_URL=mysql://satnogsdb:satnogsdb@db/satnogsdb
|
||||
command:
|
||||
./docker/run-web.sh
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#!/usr/bin/env python
|
||||
import os
|
||||
import sys
|
||||
import dotenv
|
||||
|
||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'db.settings')
|
||||
|
||||
if __name__ == "__main__":
|
||||
dotenv.read_dotenv()
|
||||
|
||||
from django.core.management import execute_from_command_line
|
||||
|
||||
execute_from_command_line(sys.argv)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[pytest]
|
||||
addopts = -v --cov --cov-report term-missing
|
||||
python_files = tests.py
|
||||
DJANGO_SETTINGS_MODULE=db.settings.dev
|
||||
DJANGO_SETTINGS_MODULE=db.settings
|
||||
|
|
Loading…
Reference in New Issue