From 64b184adff9825c5bcefd8e54cc478817b8228f3 Mon Sep 17 00:00:00 2001 From: tomoron Date: Fri, 16 Aug 2024 19:00:00 +0200 Subject: [PATCH] django database connection now uses .env --- docker-compose/docker-compose.yml | 8 +++++++- docker-compose/requirements/djangoserver/Dockerfile | 11 +++++++++++ .../djangoserver/file/server/server/settings.py | 8 ++++---- docker-compose/requirements/postgresql/setup.sh | 1 + 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 0b8de49..7dbb280 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -18,7 +18,13 @@ services: - website_data:/var/www/djangoserver networks: - transcendence - build: requirements/djangoserver + build: + context: requirements/djangoserver + args: + DB_NAME: ${DB_NAME} + DB_USERNAME: ${DB_USERNAME} + DB_PASSWORD: ${DB_PASSWORD} + DB_HOST: ${DB_HOST} restart: always ports: - "9000:9000" diff --git a/docker-compose/requirements/djangoserver/Dockerfile b/docker-compose/requirements/djangoserver/Dockerfile index ad92aeb..d280dd5 100644 --- a/docker-compose/requirements/djangoserver/Dockerfile +++ b/docker-compose/requirements/djangoserver/Dockerfile @@ -5,6 +5,10 @@ RUN apt update && apt upgrade -y RUN apt install -y python3 python3-pip postgresql-client RUN pip3 install django psycopg +ARG DB_HOST=; +ARG DB_NAME=; +ARG DB_USERNAME=; +ARG DB_PASSWORD=; RUN mkdir -p /var/www/djangoserver/ RUN mkdir -p /var/www/djangoserver/static/ @@ -12,8 +16,15 @@ COPY file/server /var/www/djangoserver/server RUN chmod 755 /var/www/djangoserver/ RUN chown -R www-data:www-data /var/www/djangoserver/ +RUN sed -i "s/VAR_DB_HOST/$DB_HOST/" /var/www/djangoserver/server/server/settings.py +RUN sed -i "s/VAR_DB_NAME/$DB_NAME/" /var/www/djangoserver/server/server/settings.py +RUN sed -i "s/VAR_DB_USERNAME/$DB_USERNAME/" /var/www/djangoserver/server/server/settings.py +RUN sed -i "s/VAR_DB_PASSWORD/$DB_PASSWORD/" /var/www/djangoserver/server/server/settings.py + WORKDIR /var/www/djangoserver STOPSIGNAL SIGKILL #ENTRYPOINT [ "python3", "/var/www/djangoserver/server/manage.py","runserver" ] + +#don't mind this, it's just for testings purposes ENTRYPOINT ["sleep","inf"] diff --git a/docker-compose/requirements/djangoserver/file/server/server/settings.py b/docker-compose/requirements/djangoserver/file/server/server/settings.py index 09702d8..d67da5c 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/settings.py +++ b/docker-compose/requirements/djangoserver/file/server/server/settings.py @@ -76,11 +76,11 @@ WSGI_APPLICATION = 'server.wsgi.application' DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql", - "HOST":"postgresql", + "HOST":"VAR_DB_HOST", "PORT":5432, - "NAME":"patate_douce", - "USER":"tmlp", - "PASSWORD":"password" + "NAME":"VAR_DB_NAME", + "USER":"VAR_DB_USERNAME", + "PASSWORD":"VAR_DB_PASSWORD" } } diff --git a/docker-compose/requirements/postgresql/setup.sh b/docker-compose/requirements/postgresql/setup.sh index 51f2324..16dba2f 100644 --- a/docker-compose/requirements/postgresql/setup.sh +++ b/docker-compose/requirements/postgresql/setup.sh @@ -5,3 +5,4 @@ createdb $DB_NAME psql -c "CREATE USER $DB_USERNAME WITH PASSWORD '$DB_PASSWORD'" psql -c "GRANT ALL PRIVILEGES ON database $DB_NAME TO $DB_USERNAME" EOF +service postgresql stop