Статические файлы 404 django (docker+nginx)

Что не так в настройках статических файлов? Если запускать без docker и nginx - работает нормально. Я пробовал вручную collectstatic, но это не помогает

settings.py

import os

from pathlib import Path, PurePath

BASE_DIR = Path(__file__).parent.parent

STATIC_ROOT = PurePath(BASE_DIR.parent, "static/")
STATIC_URL = "/static/"

nginx.conf

events {
    worker_connections 1024;
}

http {
    sendfile on;

    upstream app_server {
        server django:8000;
    }

    server {
        server_tokens off;
        listen 80;
        add_header Access-Control-Allow-Origin * always;
        add_header Access-Control-Allow-Methods GET,POST,DELETE,PUT,PATCH,OPTIONS;
        add_header Access-Control-Allow-Headers X-Requested-With,Content-Type;

        location /static/ {
        alias /static/;
        expires 1y;
        access_log off;
        add_header Cache-Control "public";
        include /etc/nginx/mime.types;
        }

        location / {
                root /var/www/contacts/static/;
                index index.html;
    }

        location ~ ^/(manage|categories|events|persons|swagger|redoc|events) {
            proxy_pass         http://app_server;
            proxy_redirect     off;
            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-Host $server_name;
        }
    }
}

часть docker-compose

django:
    tty: true
    build:
      context: ../backend
      dockerfile: Dockerfile
    command: bash -c "poetry run gunicorn -c /etc/gunicorn/gunicorn.conf.py project.wsgi:application & poetry run python manage.py makemigrations & poetry run python manage.py migrate & poetry run python manage.py rundramatiq"
    container_name: contacts_django
    env_file: ../secrets/django.env
    depends_on:
      - postgresql
    image: contacts_django
    networks:
      - contacts_app_to_db
    ports:
      - 8000:8000
    restart: unless-stopped
    volumes:
      - ../static:/static

nginx:
    tty: true
    build:
      context: ../services/nginx/
      dockerfile: Dockerfile
    container_name: contacts_nginx
    depends_on:
      - django
    env_file: ../secrets/nginx.env
    image: contacts_nginx
    networks:
      - contacts_nginx_to_app
    ports:
      - 89:80
    restart: unless-stopped
    volumes:
      - ../static:/static

Я думаю, что это из-за томов в docker или неправильного конфига nginx, но где ошибка не могу найти. Staticcollect мне нужно запускать вручную или нет?

Вернуться на верх