Путаница при создании статических файлов, обслуживаемых docker (проблема с конфигурацией)
Моя проблема заключается в том, чтобы настроить мой проект wagtail settings.py для корректного обслуживания статических файлов, и я пытался искать по этой теме, но docker + wagtail (wagtail в существовавший проект django) не в интернете pls помочь мне, если вы хорошо разбираетесь в этом: Dockerfile:
FROM python:3.9-slim-buster
LABEL maintainer="londonappdeveloper.com"
ENV PYTHONUNBUFFERED=1
# Copy application files
COPY ./requirements.txt /requirements.txt
COPY . /app
# COPY except_nextgen.sql /docker-entrypoint-initdb.d/except_nextgen.sql
#added during uwsgi server
COPY ./scripts /scripts
WORKDIR /app
EXPOSE 8000
# Set up virtual environment
RUN python -m venv /py && \
/py/bin/pip install --upgrade pip
# Install dependencies
RUN apt-get update && apt-get install --no-install-recommends -y \
build-essential \
libpq-dev \
gcc \
exiftool \
imagemagick \
libmagickwand-dev \
libmagic1 \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/*
# Install Python dependencies
RUN /py/bin/pip install -r /requirements.txt
# Set up directories for static and media files
RUN adduser --disabled-password --no-create-home app && \
mkdir -p /vol/web/static && \
mkdir -p /vol/web/media && \
chown -R app:app /vol && \
chmod -R 755 /vol && \
chmod -R +x /scripts
# original:ENV PATH="/py/bin:$PATH" updated(uwsgi):ENV PATH="/scripts:/py/bin:$PATH"
ENV PATH="/scripts:/py/bin:$PATH"
# ENV PATH="/py/bin:$PATH"
USER app
CMD ["run.sh"]
settings.py:
import os
from django.utils.translation import gettext_lazy as _
PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
BASE_DIR = os.path.dirname(PROJECT_DIR)
STATICFILES_DIRS = [os.path.join(PROJECT_DIR, "static")]
STATIC_ROOT = os.path.join(BASE_DIR, "/vol/web/static")
STATIC_URL = "/static/"
MEDIA_ROOT = os.path.join(BASE_DIR, "/vol/web/media")
os.environ.setdefault("MEDIA_URL", "/media/")
MEDIA_URL = os.environ.get("MEDIA_URL")
LOCALE_PATHS = [
os.path.join(BASE_DIR, "locale"),
]
я пытаюсь заставить контейнер docker корректно обслуживать статические файлы, но он выдает ошибку, связанную с внутренней ошибкой сервера /favicon.ico