Skip to content

Commit

Permalink
Bugfix/external services (#1050)
Browse files Browse the repository at this point in the history
* provide a default for rabbitmq host similar to postgres

* use variable hostnames from settings instead of hard coded docker hostnames

* use bash environment variables for hosts and ports, also following the naming scheme of having an SFM_ prefix for environment variables.

* use values provided by postgres and rabbitmq environment variables, used for instance by startconsumer.py
  • Loading branch information
SvenLieber authored Apr 21, 2021
1 parent 6c3ac75 commit 8a75aef
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 17 deletions.
4 changes: 2 additions & 2 deletions docker/consumer/invoke_consumer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
set -e

sh /opt/sfm-setup/setup_reqs.sh
appdeps.py --wait-secs 90 --port-wait db:5432 --file /opt/sfm-ui --port-wait mq:5672 --port-wait ui:8080 --file-wait /sfm-data/collection_set
appdeps.py --wait-secs 90 --port-wait ${SFM_POSTGRES_HOST}:${SFM_POSTGRES_PORT} --file /opt/sfm-ui --port-wait ${SFM_RABBITMQ_HOST}:${SFM_RABBITMQ_PORT} --port-wait ui:8080 --file-wait /sfm-data/collection_set

echo "Running consumer"
exec gosu sfm /opt/sfm-ui/sfm/manage.py startconsumer
exec gosu sfm /opt/sfm-ui/sfm/manage.py startconsumer
2 changes: 1 addition & 1 deletion docker/ui/invoke.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
set -e

sh /opt/sfm-setup/setup_reqs.sh
appdeps.py --wait-secs 60 --port-wait db:5432 --file /opt/sfm-ui --port-wait mq:5672 --file-wait /sfm-data/collection_set
appdeps.py --wait-secs 60 --port-wait ${SFM_POSTGRES_HOST}:${SFM_POSTGRES_PORT} --file /opt/sfm-ui --port-wait ${SFM_RABBITMQ_HOST}:${SFM_RABBITMQ_PORT} --file-wait /sfm-data/collection_set
sh /opt/sfm-setup/setup_ui.sh

echo "Running server"
Expand Down
4 changes: 2 additions & 2 deletions docker/ui/invoke_runserver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
set -e

sh /opt/sfm-setup/setup_reqs.sh
appdeps.py --wait-secs 60 --port-wait db:5432 --file /opt/sfm-ui --port-wait mq:5672 --file-wait /sfm-data/collection_set
appdeps.py --wait-secs 60 --port-wait ${SFM_POSTGRES_HOST}:${SFM_POSTGRES_PORT} --file /opt/sfm-ui --port-wait ${SFM_RABBITMQ_HOST}:${SFM_RABBITMQ_PORT} --file-wait /sfm-data/collection_set
sh /opt/sfm-setup/setup_ui.sh

echo "Running server"
export SFM_RUN_SCHEDULER=True
exec gosu sfm /opt/sfm-ui/sfm/manage.py runserver 0.0.0.0:8080
exec gosu sfm /opt/sfm-ui/sfm/manage.py runserver 0.0.0.0:8080
23 changes: 15 additions & 8 deletions sfm/sfm/settings/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,18 +105,24 @@
# Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases

POSTGRES_HOST = env.get('SFM_POSTGRES_HOST', 'db')
POSTGRES_PORT = env.get('SFM_POSTGRES_PORT', '5432')
POSTGRES_DB = env.get('SFM_POSTGRES_DB', 'sfmdatabase')
POSTGRES_USER = env.get('SFM_POSTGRES_USER', 'postgres')
POSTGRES_PASSWORD = env.get('SFM_POSTGRES_PASSWORD')

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'sfmdatabase',
'USER': 'postgres',
'PASSWORD': env.get('POSTGRES_PASSWORD'),
'HOST': env.get('POSTGRES_HOST', 'db'),
'PORT': '5432',
'NAME': POSTGRES_DB,
'USER': POSTGRES_USER,
'PASSWORD': POSTGRES_PASSWORD,
'HOST': POSTGRES_HOST,
'PORT': POSTGRES_PORT,
}
}

SCHEDULER_DB_URL = "postgresql://{USER}:{PASSWORD}@{HOST}/{NAME}".format(**DATABASES["default"])
SCHEDULER_DB_URL = "postgresql://{USER}:{PASSWORD}@{HOST}:{PORT}/{NAME}".format(**DATABASES["default"])

# Internationalization
# https://docs.djangoproject.com/en/1.8/topics/i18n/
Expand Down Expand Up @@ -162,8 +168,9 @@
ACCOUNT_ADAPTER = "ui.auth.AccountAdapter"
SOCIALACCOUNT_ADAPTER = "ui.auth.SocialAccountAdapter"

RABBITMQ_HOST = env.get('SFM_RABBITMQ_HOST')
RABBITMQ_USER = env.get('SFM_RABBITMQ_USER')
RABBITMQ_HOST = env.get('SFM_RABBITMQ_HOST', 'mq')
RABBITMQ_PORT = env.get('SFM_RABBITMQ_PORT', "5672")
RABBITMQ_USER = env.get('SFM_RABBITMQ_USER', 'sfm_user')
RABBITMQ_PASSWORD = env.get('SFM_RABBITMQ_PASSWORD')
RABBITMQ_MANAGEMENT_PORT = env.get('SFM_RABBITMQ_MANAGEMENT_PORT', "15672")

Expand Down
9 changes: 5 additions & 4 deletions sfm/sfm/settings/docker_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,8 @@
},
},
}
RABBITMQ_HOST = "mq"
RABBITMQ_USER = env.get('RABBITMQ_USER')
RABBITMQ_PASSWORD = env.get('RABBITMQ_PASSWORD')
RABBITMQ_MANAGEMENT_PORT = env.get('RABBITMQ_MANAGEMENT_PORT', '15672')
RABBITMQ_HOST = env.get('SFM_RABBITMQ_HOST', "mq")
RABBITMQ_PORT = env.get('SFM_RABBITMQ_PORT', "5672")
RABBITMQ_USER = env.get('SFM_RABBITMQ_USER', 'sfm_user')
RABBITMQ_PASSWORD = env.get('SFM_RABBITMQ_PASSWORD')
RABBITMQ_MANAGEMENT_PORT = env.get('SFM_RABBITMQ_MANAGEMENT_PORT', '15672')

0 comments on commit 8a75aef

Please sign in to comment.