added production settings, AWS support
This commit is contained in:
@@ -50,6 +50,7 @@ INSTALLED_APPS = [
|
|||||||
'corsheaders',
|
'corsheaders',
|
||||||
'taggit_serializer',
|
'taggit_serializer',
|
||||||
'tagulous',
|
'tagulous',
|
||||||
|
'anymail',
|
||||||
|
|
||||||
# local apps
|
# local apps
|
||||||
'core',
|
'core',
|
||||||
|
|||||||
@@ -24,8 +24,6 @@ DATABASES = {
|
|||||||
MEDIA_URL = '/media/'
|
MEDIA_URL = '/media/'
|
||||||
MEDIA_ROOT = BASE_DIR + '/../media/'
|
MEDIA_ROOT = BASE_DIR + '/../media/'
|
||||||
GEOIP_PATH = BASE_DIR + '/../datasets/'
|
GEOIP_PATH = BASE_DIR + '/../datasets/'
|
||||||
# MEDIA_ROOT = os.path.join(BASE_DIR, '/../media/')
|
|
||||||
# GEOIP_PATH = os.path.join(BASE_DIR, '/../datasets/')
|
|
||||||
|
|
||||||
# JWT SETTINGS
|
# JWT SETTINGS
|
||||||
SIMPLE_JWT = {
|
SIMPLE_JWT = {
|
||||||
|
|||||||
@@ -10,5 +10,65 @@ ALLOWED_HOSTS = ['127.0.0.1:8000', 'localhost']
|
|||||||
|
|
||||||
# Databases configuration
|
# Databases configuration
|
||||||
DATABASES = {
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.contrib.gis.db.backends.postgis',
|
||||||
|
'NAME': os.getenv('DB_NAME'),
|
||||||
|
'USER': os.getenv('DB_USER'),
|
||||||
|
'PASSWORD': os.getenv('DB_PASSWORD'),
|
||||||
|
'HOST': os.getenv('DB_HOST'),
|
||||||
|
'PORT': os.getenv('DB_PORT'),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Django private storage - Amazon S3
|
||||||
|
AWS_ACCESS_KEY_ID = os.getenv('AWS_ACCESS_KEY_ID_S3')
|
||||||
|
AWS_SECRET_ACCESS_KEY = os.getenv('AWS_SECRET_ACCESS_KEY_S3')
|
||||||
|
AWS_STORAGE_BUCKET_NAME = os.getenv('S3_BUCKET')
|
||||||
|
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
|
||||||
|
AWS_S3_OBJECT_PARAMETERS = {
|
||||||
|
'CacheControl': 'max-age=86400',
|
||||||
|
}
|
||||||
|
AWS_S3_REGION_NAME = 'eu-west-1'
|
||||||
|
AWS_DEFAULT_ACL = None
|
||||||
|
|
||||||
|
EMAIL_BACKEND = "anymail.backends.amazon_ses.EmailBackend"
|
||||||
|
DEFAULT_FROM_EMAIL = "no-reply@latienda.com"
|
||||||
|
SERVER_EMAIL = "mail-server@latienda.com"
|
||||||
|
|
||||||
|
ANYMAIL = {
|
||||||
|
"AMAZON_SES_CLIENT_PARAMS": {
|
||||||
|
"aws_access_key_id": os.getenv("AWS_ACCESS_KEY_ID_SES"),
|
||||||
|
"aws_secret_access_key": os.getenv("AWS_SECRET_ACCESS_KEY_SES"),
|
||||||
|
"region_name": "eu-west-1",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
# JWT SETTINGS
|
||||||
|
SIMPLE_JWT = {
|
||||||
|
'ACCESS_TOKEN_LIFETIME': timedelta(minutes=60),
|
||||||
|
'REFRESH_TOKEN_LIFETIME': timedelta(days=1),
|
||||||
|
'ROTATE_REFRESH_TOKENS': False,
|
||||||
|
'BLACKLIST_AFTER_ROTATION': True,
|
||||||
|
'UPDATE_LAST_LOGIN': False,
|
||||||
|
|
||||||
|
'ALGORITHM': 'HS256',
|
||||||
|
'SIGNING_KEY': SECRET_KEY,
|
||||||
|
'VERIFYING_KEY': None,
|
||||||
|
'AUDIENCE': None,
|
||||||
|
'ISSUER': None,
|
||||||
|
|
||||||
|
'AUTH_HEADER_TYPES': ('Bearer',),
|
||||||
|
'AUTH_HEADER_NAME': 'HTTP_AUTHORIZATION',
|
||||||
|
'USER_ID_FIELD': 'id',
|
||||||
|
'USER_ID_CLAIM': 'user_id',
|
||||||
|
|
||||||
|
'AUTH_TOKEN_CLASSES': ('rest_framework_simplejwt.tokens.AccessToken',),
|
||||||
|
'TOKEN_TYPE_CLAIM': 'token_type',
|
||||||
|
|
||||||
|
'JTI_CLAIM': 'jti',
|
||||||
|
|
||||||
|
'SLIDING_TOKEN_REFRESH_EXP_CLAIM': 'refresh_exp',
|
||||||
|
'SLIDING_TOKEN_LIFETIME': timedelta(minutes=5),
|
||||||
|
'SLIDING_TOKEN_REFRESH_LIFETIME': timedelta(days=1),
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
12
example.env
12
example.env
@@ -1,6 +1,12 @@
|
|||||||
# rename file to .env and populate fields accordingly
|
# rename file to .env and populate fields accordingly
|
||||||
DB_HOST = 'localhost'
|
DB_HOST = ''
|
||||||
DB_PORT = '3306'
|
DB_PORT = ''
|
||||||
DB_NAME = ''
|
DB_NAME = ''
|
||||||
DB_USER = ''
|
DB_USER = ''
|
||||||
DB_PASSWORD = ''
|
DB_PASSWORD = ''
|
||||||
|
# REQUIRED FOR PRODUCTION
|
||||||
|
AWS_ACCESS_KEY_ID_S3 = ''
|
||||||
|
AWS_SECRET_ACCESS_KEY_S3 = ''
|
||||||
|
S3_BUCKET=''
|
||||||
|
AWS_ACCESS_KEY_ID_SES = ''
|
||||||
|
AWS_SECRET_ACCESS_KEY_SES = ''
|
||||||
@@ -14,3 +14,5 @@ drf-extra-fields==3.0.4
|
|||||||
django-ipware==3.0.2
|
django-ipware==3.0.2
|
||||||
geoip2==4.1.0
|
geoip2==4.1.0
|
||||||
woocommerce==2.1.1
|
woocommerce==2.1.1
|
||||||
|
# required for production
|
||||||
|
django-anymail[amazon_ses]==8.2
|
||||||
|
|||||||
Reference in New Issue
Block a user