From 4d2dfc829981e584ecf47c287ed033fcd898797b Mon Sep 17 00:00:00 2001 From: Jonas 12t Date: Tue, 5 Oct 2021 13:37:29 +0400 Subject: [PATCH] add nginx for production --- Docker/Production/docker-compose.yml | 61 ++++++++++++++++++++++++++++ Docker/Production/env_example | 20 +++++++++ Nginx/django.conf | 25 ++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 Docker/Production/docker-compose.yml create mode 100644 Docker/Production/env_example create mode 100644 Nginx/django.conf diff --git a/Docker/Production/docker-compose.yml b/Docker/Production/docker-compose.yml new file mode 100644 index 0000000..551f69f --- /dev/null +++ b/Docker/Production/docker-compose.yml @@ -0,0 +1,61 @@ +version: '3.7' +services: + billetterie_postgres: + container_name: billetterie_postgres + image: postgres:11.5-alpine + restart: always +# ports: +# - 5432:5432 + volumes: + - "../../Postgres/dbdata:/var/lib/postgresql/data" + - "/etc/localtime:/etc/localtime:ro" + environment: + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} + networks: + - backend + + + billetterie_django: + container_name: billetterie_django + build: ../Dockerfile/ + restart: always + env_file: .env +# ports: +# - 8002:8002 + volumes: + - "../../DjangoFiles:/DjangoFiles" + - "../../Docker/bashrc:/root/.bashrc" + working_dir: /DjangoFiles + command: "bash /DjangoFiles/launch.sh" + depends_on: + - billetterie_postgres + networks: + - frontend + - backend + + billeterie_nginx: + image: nginx + restart: always + volumes: + - ../DjangoFiles:/DjangoFiles + - ../Nginx:/etc/nginx/conf.d +# ports: +# - 8008:80 + depends_on: + - billeterie_django + labels: + - traefik.enable=true + - traefik.docker.network=frontend + - traefik.http.routers.billeterie_nginx.tls.certresolver=myresolver + - traefik.http.routers.billeterie_nginx.rule=Host(`m.${DOMAIN}`) || Host(`www.${DOMAIN}`) || Host(`raffinerie.${DOMAIN}`) || Host(`bisik.${DOMAIN}`) || Host(`vavangart.${DOMAIN}`) || Host(`manapany.${DOMAIN}`) || Host(`${DOMAIN}`) + networks: + - frontend + + +networks: + frontend: + external: true + backend: + external: true \ No newline at end of file diff --git a/Docker/Production/env_example b/Docker/Production/env_example new file mode 100644 index 0000000..2598710 --- /dev/null +++ b/Docker/Production/env_example @@ -0,0 +1,20 @@ +# CHANGE ME +DJANGO_SECRET='ingeci8ar6Ahr6aiBi!ghovezahs@eiNgai4eingaa1zaeRi7E' + +POSTGRES_HOST='tibillet_postgres' +POSTGRES_USER='tibillet_postgres_user' +POSTGRES_PASSWORD='tibillet_postgres_password' +POSTGRES_DB='tibillet' + +DEBUG_DJANGO=True +TIME_ZONE='Indian/Reunion' + +DOMAIN='tibillet-local.me' +EMAIL='me@me.me' + +EMAIL_HOST="" +EMAIL_PORT="" +EMAIL_HOST_USER="" +EMAIL_HOST_PASSWORD="" + +MOLLIE_API_KEY = "" diff --git a/Nginx/django.conf b/Nginx/django.conf new file mode 100644 index 0000000..a57e25a --- /dev/null +++ b/Nginx/django.conf @@ -0,0 +1,25 @@ +server { + + listen 80; + server_name localhost; + + access_log /DjangoFiles/www/nginxAccess.log; + error_log /DjangoFiles/www/nginxError.log; + + location /static { + root /DjangoFiles/www; + } + + location /media { + root /DjangoFiles/www; + } + + location / { + # everything is passed to Gunicorn + proxy_pass http://billeterie_django:8000; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_redirect off; + } +} +