From 81d6da86a2bccbed98a223a5c29a9dfccf33aaed Mon Sep 17 00:00:00 2001 From: tomoron Date: Sat, 17 Aug 2024 17:41:24 +0200 Subject: [PATCH] there is a homepage now --- docker-compose/docker-compose.yml | 23 ++++++------ .../requirements/djangoserver/Dockerfile | 11 +++--- .../djangoserver/file/server/server/models.py | 4 +++ .../file/server/server/settings.py | 4 +-- .../djangoserver/file/server/server/urls.py | 4 +-- .../djangoserver/file/server/server/views.py | 5 +++ .../requirements/djangoserver/start.sh | 5 +++ docker-compose/requirements/nginx/Dockerfile | 10 ++++-- .../requirements/nginx/conf/nginx.conf | 36 ++++++++++--------- 9 files changed, 65 insertions(+), 37 deletions(-) create mode 100644 docker-compose/requirements/djangoserver/file/server/server/models.py create mode 100644 docker-compose/requirements/djangoserver/file/server/server/views.py create mode 100644 docker-compose/requirements/djangoserver/start.sh diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 7dbb280..46c10d0 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -1,8 +1,8 @@ services: nginx: container_name: nginx - volumes: - - website_data:/var/www/djangoserver +# volumes: +# - website_data:/var/www/djangoserver networks: - transcendence depends_on: @@ -14,8 +14,8 @@ services: djangoserver: container_name: djangoserver - volumes: - - website_data:/var/www/djangoserver +# volumes: +# - website_data:/var/www/djangoserver networks: - transcendence build: @@ -25,9 +25,9 @@ services: DB_USERNAME: ${DB_USERNAME} DB_PASSWORD: ${DB_PASSWORD} DB_HOST: ${DB_HOST} + depends_on: + - postgresql restart: always - ports: - - "9000:9000" postgresql: container_name: postgresql @@ -38,13 +38,16 @@ services: DB_NAME: ${DB_NAME} DB_USERNAME: ${DB_USERNAME} DB_PASSWORD: ${DB_PASSWORD} -# volumes: -# - website_data:/var/www/djangoserver networks: - transcendence restart: always - ports: - - "5432:5432" + + adminer: + container_name: adminer + image: adminer:latest + restart: always + networks: + - transcendence volumes: website_data: diff --git a/docker-compose/requirements/djangoserver/Dockerfile b/docker-compose/requirements/djangoserver/Dockerfile index d280dd5..d0d9410 100644 --- a/docker-compose/requirements/djangoserver/Dockerfile +++ b/docker-compose/requirements/djangoserver/Dockerfile @@ -1,6 +1,7 @@ FROM debian:bullseye -RUN apt update && apt upgrade -y +RUN apt update +RUN apt upgrade -y RUN apt install -y python3 python3-pip postgresql-client RUN pip3 install django psycopg @@ -10,6 +11,8 @@ ARG DB_NAME=; ARG DB_USERNAME=; ARG DB_PASSWORD=; +ENV DB_HOST=${DB_HOST} + RUN mkdir -p /var/www/djangoserver/ RUN mkdir -p /var/www/djangoserver/static/ COPY file/server /var/www/djangoserver/server @@ -24,7 +27,5 @@ RUN sed -i "s/VAR_DB_PASSWORD/$DB_PASSWORD/" /var/www/djangoserver/server/server 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"] +COPY start.sh /root/start.sh +ENTRYPOINT ["sh", "/root/start.sh"] diff --git a/docker-compose/requirements/djangoserver/file/server/server/models.py b/docker-compose/requirements/djangoserver/file/server/server/models.py new file mode 100644 index 0000000..301e188 --- /dev/null +++ b/docker-compose/requirements/djangoserver/file/server/server/models.py @@ -0,0 +1,4 @@ +from django.db import models + +class TaMereLaPute(models.Model): + test=models.CharField(max_length=200) diff --git a/docker-compose/requirements/djangoserver/file/server/server/settings.py b/docker-compose/requirements/djangoserver/file/server/server/settings.py index d67da5c..b804ae0 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/settings.py +++ b/docker-compose/requirements/djangoserver/file/server/server/settings.py @@ -23,9 +23,9 @@ BASE_DIR = Path(__file__).resolve().parent.parent SECRET_KEY = 'django-insecure-vgcqdf^%(+@t*+cof@755e#q9p)myir%z2s*e*ea*v^i(4pta9' # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True +DEBUG = False -ALLOWED_HOSTS = [] +ALLOWED_HOSTS = ['*'] # Application definition diff --git a/docker-compose/requirements/djangoserver/file/server/server/urls.py b/docker-compose/requirements/djangoserver/file/server/server/urls.py index c47b8bd..2fc5eee 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/urls.py +++ b/docker-compose/requirements/djangoserver/file/server/server/urls.py @@ -14,9 +14,9 @@ Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ -from django.contrib import admin from django.urls import path +from . import views urlpatterns = [ - path('admin/', admin.site.urls), + path("",views.index, name='patate') ] diff --git a/docker-compose/requirements/djangoserver/file/server/server/views.py b/docker-compose/requirements/djangoserver/file/server/server/views.py new file mode 100644 index 0000000..44f529b --- /dev/null +++ b/docker-compose/requirements/djangoserver/file/server/server/views.py @@ -0,0 +1,5 @@ +from django.http import HttpResponse + + +def index(request): + return HttpResponse("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ca marche enfin") diff --git a/docker-compose/requirements/djangoserver/start.sh b/docker-compose/requirements/djangoserver/start.sh new file mode 100644 index 0000000..61268a5 --- /dev/null +++ b/docker-compose/requirements/djangoserver/start.sh @@ -0,0 +1,5 @@ +until pg_isready -h "$DB_HOST"; do sleep 0.5 ;echo "waiting for database";done +cd /var/www/djangoserver/server +python3 manage.py makemigrations +python3 manage.py migrate +python3 manage.py runserver 0.0.0.0:8000 diff --git a/docker-compose/requirements/nginx/Dockerfile b/docker-compose/requirements/nginx/Dockerfile index 50b7625..0873ed3 100644 --- a/docker-compose/requirements/nginx/Dockerfile +++ b/docker-compose/requirements/nginx/Dockerfile @@ -1,6 +1,12 @@ -FROM nginx:latest +FROM debian:bullseye + +RUN apt update +RUN apt upgrade -y +RUN apt install openssl nginx -y RUN mkdir -p /etc/nginx/ssl -RUN apt install -y openssl RUN openssl req -x509 -nodes -out /etc/nginx/ssl/inception.crt -keyout /etc/nginx/ssl/inception.key -subj "/C=FR/ST=IDF/L=Paris/O=42/OU=42/CN=ptme.com/UID=ptme" + COPY conf/nginx.conf /etc/nginx/nginx.conf + +ENTRYPOINT ["nginx", "-g", "daemon off;"] diff --git a/docker-compose/requirements/nginx/conf/nginx.conf b/docker-compose/requirements/nginx/conf/nginx.conf index 39c326b..1b9a3a6 100644 --- a/docker-compose/requirements/nginx/conf/nginx.conf +++ b/docker-compose/requirements/nginx/conf/nginx.conf @@ -13,21 +13,25 @@ http { client_max_body_size 2G; server { - server_name ptme.com; - listen 443 ssl; - - ssl_protocols TLSv1.2 TLSv1.3; - ssl_certificate /etc/nginx/ssl/inception.crt; - ssl_certificate_key /etc/nginx/ssl/inception.key; - - root /var/www/djangoserver/; - - location /static/ { - alias /var/www/djangoserver/static/; - } - - location / { - proxy_pass https://127.0.0.1:5000; - } + server_name ptme.com; + listen 443 ssl; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_certificate /etc/nginx/ssl/inception.crt; + ssl_certificate_key /etc/nginx/ssl/inception.key; + + root /var/www/djangoserver/; + + location /static/ { + alias /var/www/djangoserver/static/; + } + + location / { + proxy_pass http://djangoserver:8000; + } + + location /admin { + proxy_pass http://adminer:8080; + } } }