diff --git a/docker-compose.yml b/docker-compose.yml index 565eea8..6fd9bba 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,6 +23,10 @@ services: - docker/lama/dev.env volumes: - ./src:/lama + depends_on: + - dblama + - ldap + - traefik labels: - "traefik.port=80" - "traefik.enable=true" @@ -57,6 +61,9 @@ services: networks: - ldap_net - frontend_net + depends_on: + - traefik + - ldap labels: - "traefik.port=80" - "traefik.enable=true" diff --git a/docker/lama/Dockerfile.dev b/docker/lama/Dockerfile.dev index 2274eb4..fe1360b 100644 --- a/docker/lama/Dockerfile.dev +++ b/docker/lama/Dockerfile.dev @@ -7,6 +7,6 @@ WORKDIR /lama EXPOSE 80 COPY entrypoint.sh / -#ENTRYPOINT ["python3", "manage.py"] -#CMD ["runserver", "0.0.0.0:80"] -CMD ["/entrypoint.sh"] +ENTRYPOINT ["python3", "manage.py"] +CMD ["runserver", "0.0.0.0:80"] +#CMD ["/entrypoint.sh"] diff --git a/docker/lama/dev.env b/docker/lama/dev.env index 3a80422..8a911c7 100644 --- a/docker/lama/dev.env +++ b/docker/lama/dev.env @@ -15,8 +15,8 @@ POSTGRES_PASSWORD=secret DEBUG=True LDAP_SERVER_URI=ldap://ldap:389 -LDAP_BIND_DN=cn=admin,dc=test,dc=de -LDAP_BIND_PASSWORD=secret +LDAP_ADMIN_USER_NAME=cn=admin,dc=test,dc=de +LDAP_ADMIN_USER_PASSWORD=secret LDAP_USER_ENTRY=ou=dc=test,dc=de LDAP_USER_SELECTOR=(cn=%(user)s) @@ -25,9 +25,10 @@ LDAP_GROUP_ENTRY=dc=test,dc=de LDAP_GROUP_SELECTOR=(objectClass=groupOfNames) LDAP_GROUP_NAME_ATTR=cn -EMAIL_HOST=smtp.uni-bamberg.de -EMAIL_PORT=587 -EMAIL_USE_TLS=False -EMAIL_USE_SSL=False +EMAIL_BACKEND=file +#EMAIL_HOST=smtp.uni-bamberg.de +#EMAIL_PORT=587 +#EMAIL_USE_TLS=False +#EMAIL_USE_SSL=False DEFAULT_FROM_EMAIL= SERVER_EMAIL= diff --git a/src/account_manager/main_views.py b/src/account_manager/main_views.py index 09abcc7..a89469d 100644 --- a/src/account_manager/main_views.py +++ b/src/account_manager/main_views.py @@ -84,6 +84,7 @@ def realm_add(request): return render(request, 'realm/realm_add_failed.jinja2', {'realm_name': name, 'error': err}) except LDAPError as err: + logger.debug("Ldap Error", err) return render(request, 'realm/realm_add_failed.jinja2', {'realm_name': name}) else: diff --git a/src/account_manager/models.py b/src/account_manager/models.py index 1e608ad..2a83639 100644 --- a/src/account_manager/models.py +++ b/src/account_manager/models.py @@ -15,6 +15,7 @@ from account_manager.utils.mail_utils import realm_send_mail from multiprocessing import Process from ldap import NO_SUCH_OBJECT, ALREADY_EXISTS from django.core.exceptions import ObjectDoesNotExist +import os class LdapUser(Model): @@ -22,8 +23,8 @@ class LdapUser(Model): Class for representing an LDAP user entry. """ # LDAP meta-data - ROOT_DN = "dc=stuve,dc=de" - base_dn = "dc=stuve,dc=de" + ROOT_DN = os.environ.get('LDAP_USER_ENTRY', 'dc=test,dc=de') + base_dn = ROOT_DN object_classes = ['inetOrgPerson'] # last_modified = ldap_fields.DateTimeField(db_column='modifyTimestamp', blank=True) @@ -119,8 +120,8 @@ class LdapGroup(Model): Class for representing an LDAP group entry. """ # LDAP meta-data - ROOT_DN = "dc=stuve,dc=de" - base_dn = "dc=stuve,dc=de" + ROOT_DN = os.environ.get('LDAP_USER_ENTRY', 'dc=test,dc=de') + base_dn = ROOT_DN object_classes = ['groupOfNames'] name = ldap_fields.CharField(db_column='cn', max_length=200, primary_key=True) diff --git a/src/core/docker_settings.py b/src/core/docker_settings.py index 32759ec..6a93327 100644 --- a/src/core/docker_settings.py +++ b/src/core/docker_settings.py @@ -18,7 +18,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) DOMAIN = os.environ['DOMAIN'] SITE_NAME = os.environ['SITE_NAME'] SECRET_KEY = os.environ['SECRET_KEY'] -DEBUG = True #bool(os.environ.get('DEBUG', False)) +DEBUG = True # bool(os.environ.get('DEBUG', False)) ALLOWED_HOSTS = os.environ['ALLOWED_HOSTS'].split() # Application definition @@ -168,20 +168,50 @@ AUTH_PROFILE_MODULE = 'account_manager.UserProfile' ######################################################################################################################## # EMAIL Config # ######################################################################################################################## -# EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend' -# EMAIL_FILE_PATH = os.path.join(BASE_DIR, "sent_emails") -EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' -EMAIL_TIMEOUT = 15 -EMAIL_HOST = os.environ['EMAIL_HOST'] -EMAIL_PORT = os.environ['EMAIL_PORT'] -EMAIL_USE_TLS = bool(os.environ.get('EMAIL_USE_TLS', False)) -EMAIL_USE_SSL = bool(os.environ.get('EMAIL_USE_SSL', False)) +if 'file' in os.environ['EMAIL_BACKEND']: + EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend' + EMAIL_FILE_PATH = os.path.join(BASE_DIR, "sent_emails") +else: + EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' + EMAIL_TIMEOUT = 15 + EMAIL_HOST = os.environ['EMAIL_HOST'] + EMAIL_PORT = os.environ['EMAIL_PORT'] + EMAIL_USE_TLS = bool(os.environ.get('EMAIL_USE_TLS', False)) + EMAIL_USE_SSL = bool(os.environ.get('EMAIL_USE_SSL', False)) + DEFAULT_FROM_EMAIL = os.environ['DEFAULT_FROM_EMAIL'] SERVER_EMAIL = os.environ['SERVER_EMAIL'] +LOGIN_URL = 'login' +LOGIN_REDIRECT_URL = 'realm-home' +PASSWORD_RESET_TIMEOUT_DAYS = 3 + ######################################################################################################################## # Logging Config # ######################################################################################################################## -LOGIN_URL = 'login' -LOGIN_REDIRECT_URL = 'realm-home' -PASSWORD_RESET_TIMEOUT_DAYS = 3 +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'default': { + 'format': '%(asctime)s %(module)s [%(levelname)s]: %(message)s', + 'datefmt': '%Y-%m-%d %H:%M:%S', + } + }, + 'handlers': { + 'console': { + 'class': 'logging.StreamHandler', + 'formatter': 'default', + }, + }, + 'loggers': { + 'account_manager': { + 'handlers': ['console', ], + 'level': 'DEBUG', + }, + 'account_helper': { + 'handlers': ['console', ], + 'level': 'DEBUG', + }, + }, +}