From 2c8911fb78d90563e0e91d4150a25fb696ea4aca Mon Sep 17 00:00:00 2001 From: Mono Mono Date: Sat, 28 Sep 2024 14:04:13 -0500 Subject: [PATCH] ci(Dev): Using docker to serve django and vue on same host. --- django.Dockerfile | 8 ++++++++ docker-compose.yml | 19 +++++++++++++++++++ nginx.Dockerfile | 10 ++++++++++ nginx.conf | 18 ++++++++++++++++++ .../frontend/don-confiao/vite.config.mjs | 2 +- 5 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 django.Dockerfile create mode 100644 docker-compose.yml create mode 100644 nginx.Dockerfile create mode 100644 nginx.conf diff --git a/django.Dockerfile b/django.Dockerfile new file mode 100644 index 0000000..77a17dc --- /dev/null +++ b/django.Dockerfile @@ -0,0 +1,8 @@ +from python:3.12-slim + +WORKDIR /app/ + +COPY requirements.txt ./ +RUN pip install --no-cache-dir -r requirements.txt + +CMD ["python", "manage.py", "runserver", "0.0.0.0:9090"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6c3a52e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,19 @@ +services: + nginx: + build: + context: ./ + dockerfile: nginx.Dockerfile + ports: + - "7000:80" + volumes: + - ./nginx.conf:/etc/nginx/conf.d/default.conf + - ./tienda_ilusion/don_confiao/static/frontend:/var/www/frontend/ + django: + build: + context: ./ + dockerfile: django.Dockerfile + volumes: + - ./tienda_ilusion:/app/ + ports: + - 7001:9090 + diff --git a/nginx.Dockerfile b/nginx.Dockerfile new file mode 100644 index 0000000..587874a --- /dev/null +++ b/nginx.Dockerfile @@ -0,0 +1,10 @@ +FROM nginx:latest + +# Copiamos el archivo de configuración NGINX +COPY nginx.conf /etc/nginx/conf.d/default.conf + +# Establecemos la variable de entorno para el proxy inverso +ENV DJANGO_PROXY_URL http://django:8000 + +# Creamos un directorio estático +RUN mkdir -p /var/www/frontend diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..11d8d9b --- /dev/null +++ b/nginx.conf @@ -0,0 +1,18 @@ +server { + listen 80; + server_name donconfiao.org; + + location /frontend { + alias /var/www/frontend/; + # index index.html; + autoindex on; + } + + location / { + proxy_pass http://django:9090; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } +} \ No newline at end of file diff --git a/tienda_ilusion/don_confiao/frontend/don-confiao/vite.config.mjs b/tienda_ilusion/don_confiao/frontend/don-confiao/vite.config.mjs index dae669e..b26c415 100644 --- a/tienda_ilusion/don_confiao/frontend/don-confiao/vite.config.mjs +++ b/tienda_ilusion/don_confiao/frontend/don-confiao/vite.config.mjs @@ -67,5 +67,5 @@ export default defineConfig({ build: { outDir: '../../static/frontend/', }, - base: '/static/frontend/', + base: '/frontend/', })