Пропали стили django admin panel

При локальном запуске проекта на докере с подключением Nginx сайт не видит css файлы для админ панели, остальные статичные и медиа файлы сайта работают, без nginx всё работает отлично

nginx.conf:

upstream web {
    server web:80;
}

server {
    listen 80;

    location / {
        include proxy_params;
        proxy_pass http://web;
    }

    location /static/ {
        alias /app/static/;
    }

    location /media/ {
        alias /app/media/;
    }
}

Dockerfile:

FROM python:3.9

SHELL ["/bin/bash", "-c"]

# Создаем пользователя и группу "app"
RUN groupadd -r app && useradd --no-log-init -r -g app app

# Устанавливаем базовые переменные среды
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Создаем и настраиваем рабочую директорию
WORKDIR /app
RUN mkdir /app/static && mkdir /app/media && chown -R app:app /app && chmod 755 /app

# Копируем файл зависимостей и устанавливаем их
COPY ./requirements.txt /app/
RUN pip install -r /app/requirements.txt

# Устанавливаем дополнительные зависимости
RUN apt-get update && apt-get -qy install gcc libjpeg-dev \
    libpq-dev libmariadb-dev-compat gettext cron openssh-client flake8 vim && apt-get clean

# Копируем остальные файлы проекта
COPY wait-for-it.sh /app/wait-for-it.sh
COPY . /app/

# Собираем статические файлы Django
RUN python manage.py collectstatic --noinput

# Устанавливаем права доступа для пользователя app
RUN chown -R app:app /app
RUN chown -R app:app /app/static
RUN chown -R app:app /app/media

# Пользователь app переключается на работу внутри контейнера
USER app

Dockerfile nginx:

FROM nginx:latest

RUN rm /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/conf.d
COPY proxy_params /etc/nginx

COPY --from=procleaning-web /app/static_root /app/static_root

docker-compose.yaml:

version: "3"

services:
  db:
    image: postgres:12
    container_name: db
    volumes:
      - ~/.pg/pg_data/app:/var/lib/postgresql/data
    ports:
      - "5434:5432"
    environment:
      POSTGRES_DB: ${DB_NAME}
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    env_file:
      - .env
  web:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: djangowebsite
    environment:
      DJANGO_SUPERUSER_USERNAME: ${DJANGO_SUPERUSER_USERNAME}
      DJANGO_SUPERUSER_EMAIL: ${DJANGO_SUPERUSER_EMAIL}
      DJANGO_SUPERUSER_PASSWORD: ${DJANGO_SUPERUSER_PASSWORD}
    ports:
      - "8080:80"
    env_file:
      - .env
    depends_on:
      - db
    volumes:
      - static_volume:/app/static
      - media_volume:/app/media
    command: > 
      /bin/sh -c "
      /app/wait-for-it.sh db:5432 -- python manage.py makemigrations &&
      python manage.py migrate &&
      python manage.py runserver 0.0.0.0:80"
  nginx:
    build:
      dockerfile: ./Dockerfile
      context: ./docker/nginx/
    container_name: app_nginx
    image: app_nginx
    volumes:
      - static_volume:/app/static
      - media_volume:/app/media
    depends_on:
      - web
    env_file:
      - .env
    ports:
      - "${NGINX_EXTERNAL_PORT}:80"


volumes:
  static_volume:
  media_volume:

Ответы (0 шт):