diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ebaa581 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3.8' + +services: + web: + build: + context: . + dockerfile: Dockerfile + volumes: + - media_volume:/app/media:rw # جنگو باید بتواند فایل بنویسد + labels: + - "traefik.enable=true" + - "traefik.http.routers.django-router.rule=Host(`apibashgah.loolegostar.com`) && !PathPrefix(`/media/`)" + - "traefik.http.services.django-service.loadbalancer.server.port=8000" + + nginx: + image: nginx:alpine + volumes: + - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro + - media_volume:/app/media:ro # ان‌جینکس فقط باید بخواند (امن‌تر) + labels: + - "traefik.enable=true" + - "traefik.http.routers.nginx-router.rule=Host(`apibashgah.loolegostar.com`) && PathPrefix(`/media/`)" + - "traefik.http.services.nginx-service.loadbalancer.server.port=80" + depends_on: + - web + +volumes: + media_volume: \ No newline at end of file diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..abb04b3 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,10 @@ +server { + listen 80; + server_name apibashgah.loolegostar.com; + + location /media/ { + alias /app/media/; + expires 30d; + add_header Cache-Control "public, no-transform"; + } +} \ No newline at end of file