From 1c5075aae6b4bf1a53c1a127dd7200bb0f089a83 Mon Sep 17 00:00:00 2001 From: Tobias Bengfort Date: Thu, 26 Apr 2018 11:36:01 +0200 Subject: [PATCH] setup docker for stage server TG-251 --- castellum_core/Dockerfile | 9 +++++++++ .../castellum_core/settings/stage.py | 12 ++++++------ castellum_core/setup.py | 3 ++- docker-compose.yml | 17 +++++++++++++++++ 4 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 castellum_core/Dockerfile diff --git a/castellum_core/Dockerfile b/castellum_core/Dockerfile new file mode 100644 index 000000000..1bfafeefa --- /dev/null +++ b/castellum_core/Dockerfile @@ -0,0 +1,9 @@ +FROM python:3.6-alpine3.7 +ENV PYTHONUNBUFFERED 1 + +RUN apk update && apk add gcc make nodejs-npm python-dev musl-dev postgresql-dev openldap openldap-dev cyrus-sasl-dev + +COPY ./ code/ +WORKDIR code/ + +RUN make install diff --git a/castellum_core/castellum_core/castellum_core/settings/stage.py b/castellum_core/castellum_core/castellum_core/settings/stage.py index 9b20f5aa0..f1ea8094b 100644 --- a/castellum_core/castellum_core/castellum_core/settings/stage.py +++ b/castellum_core/castellum_core/castellum_core/settings/stage.py @@ -10,20 +10,20 @@ SECRET_KEY = 'i#$kwk(s24ysn+l%+c!*z9u4+45)oex!-s#!bux#wf2pv2cc0d' DATABASES = { 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + 'ENGINE': 'django.db.backends.postgresql', + 'NAME': 'postgres', + 'USER': 'postgres', + 'HOST': 'db', } } -ALLOWED_HOSTS = [ - 'localhost', -] +ALLOWED_HOSTS = ['*'] # LDAP # See https://django-auth-ldap.readthedocs.io/ AUTHENTICATION_BACKENDS.append("django_auth_ldap.backend.LDAPBackend") -AUTH_LDAP_SERVER_URI = 'ldap://localhost' +AUTH_LDAP_SERVER_URI = 'ldap://ldap' AUTH_LDAP_BIND_DN = 'cn=admin,dc=example,dc=org' AUTH_LDAP_BIND_PASSWORD = 'admin' AUTH_LDAP_USER_SEARCH = LDAPSearch('dc=example,dc=org', ldap.SCOPE_SUBTREE, '(uid=%(user)s)') diff --git a/castellum_core/setup.py b/castellum_core/setup.py index 5c1dd800f..1e85b1c5d 100644 --- a/castellum_core/setup.py +++ b/castellum_core/setup.py @@ -13,6 +13,7 @@ setup( "Django==2.0.4", "django-auth-ldap==1.4.0", "django-bootstrap4==0.0.6", - "django-npm==1.0.0" + "django-npm==1.0.0", + "psycopg2==2.7.4", ], ) diff --git a/docker-compose.yml b/docker-compose.yml index 99ab7e8f0..eac0a7d23 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,8 @@ version: '2' services: + db: + image: postgres ldap: container_name: ldap image: osixia/openldap @@ -9,3 +11,18 @@ services: command: [--copy-service] volumes: - ./ldap/dummy_data.ldif:/container/service/slapd/assets/config/bootstrap/ldif/data.ldif + web: + build: castellum_core + environment: + DJANGO_SETTINGS_MODULE: castellum_core.settings.stage + command: > + sh -c "cd castellum_core && + make bootstrap && + python castellum_core/manage.py runserver 0.0.0.0:8000" + volumes: + - .:/code + ports: + - "8000:8000" + depends_on: + - db + - ldap -- GitLab