Skip to content
Snippets Groups Projects
Commit c29061a2 authored by Tanner Prestegard's avatar Tanner Prestegard Committed by GraceDB
Browse files

Get DB name from environment for containerized version

parent 92056652
No related branches found
No related tags found
No related merge requests found
...@@ -40,19 +40,14 @@ RUN pip install -r requirements.txt ...@@ -40,19 +40,14 @@ RUN pip install -r requirements.txt
# Give pip-installed packages priority over distribution packages # Give pip-installed packages priority over distribution packages
ENV PYTHONPATH /usr/local/lib/python2.7/dist-packages:$PYTHONPATH ENV PYTHONPATH /usr/local/lib/python2.7/dist-packages:$PYTHONPATH
# Collect static components. First step: set settings module and # Collect static components. Have to set a settings module envvar
# fake a few other required environment variables # and fake a few other required environment variables
ENV DJANGO_SETTINGS_MODULE ${SETTINGS_MODULE} RUN DJANGO_SETTINGS_MODULE=${SETTINGS_MODULE} \
ENV DJANGO_DB_PASSWORD fake_password DJANGO_DB_NAME=fake_name \
ENV DJANGO_SECRET_KEY fake_key DJANGO_DB_PASSWORD=fake_password \
ENV DJANGO_PRIMARY_FQDN fake_fqdn DJANGO_SECRET_KEY=fake_key \
RUN python manage.py collectstatic --noinput DJANGO_PRIMARY_FQDN=fake_fqdn \
python manage.py collectstatic --noinput
# Unset faked environment variables
RUN unset DJANGO_SETTINGS_MODULE \
DJANGO_DB_PASSWORD \
DJANGO_SECRET_KEY \
DJANGO_PRIMARY_FQDN
# Expose port and run Gunicorn # Expose port and run Gunicorn
EXPOSE 8000 EXPOSE 8000
......
...@@ -7,10 +7,15 @@ from ..base import * ...@@ -7,10 +7,15 @@ from ..base import *
# Get required variables from environment variables --------------------------- # Get required variables from environment variables ---------------------------
# Get database password from environment and check # Get database password from environment and check
DB_PASSWORD = os.environ.get('DJANGO_DB_PASSWORD', None) db_password = os.environ.get('DJANGO_DB_PASSWORD', None)
if DB_PASSWORD is None: if db_password is None:
raise ImproperlyConfigured('Could not get database password from envvars.') raise ImproperlyConfigured('Could not get database password from envvars.')
# Get database name from environment and check
db_name = os.environ.get('DJANGO_DB_NAME', None)
if db_name is None:
raise ImproperlyConfigured('Could not get database name from envvars.')
# Secret key for a Django installation # Secret key for a Django installation
SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY', None) SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY', None)
if SECRET_KEY is None: if SECRET_KEY is None:
...@@ -29,10 +34,10 @@ TWILIO_AUTH_TOKEN = os.environ.get('DJANGO_TWILIO_AUTH_TOKEN', 'abcd') ...@@ -29,10 +34,10 @@ TWILIO_AUTH_TOKEN = os.environ.get('DJANGO_TWILIO_AUTH_TOKEN', 'abcd')
# Database settings ----------------------------------------------------------- # Database settings -----------------------------------------------------------
DATABASES = { DATABASES = {
'default' : { 'default' : {
'NAME': 'gracedb', 'NAME': db_name,
'ENGINE': 'django.db.backends.mysql', 'ENGINE': 'django.db.backends.mysql',
'USER': os.environ.get('DJANGO_DB_USER', 'gracedb'), 'USER': os.environ.get('DJANGO_DB_USER', 'gracedb'),
'PASSWORD': DB_PASSWORD, 'PASSWORD': db_password,
'HOST': os.environ.get('DJANGO_DB_HOST', ''), 'HOST': os.environ.get('DJANGO_DB_HOST', ''),
'PORT': os.environ.get('DJANGO_DB_PORT', ''), 'PORT': os.environ.get('DJANGO_DB_PORT', ''),
'OPTIONS': { 'OPTIONS': {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment