add nginx for production

This commit is contained in:
Jonas 12t 2021-10-05 13:37:29 +04:00
parent d2620447c1
commit 4d2dfc8299
3 changed files with 106 additions and 0 deletions

View File

@ -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

View File

@ -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 = ""

25
Nginx/django.conf Normal file
View File

@ -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;
}
}