add: Nginx внутри контейнера + NPM-сборка CodeMirror внутрь контейнера через Dockerfile

This commit is contained in:
2026-01-16 01:08:46 +03:00
parent 2cf74519a1
commit 4115b0e7d4
7 changed files with 142 additions and 13 deletions

View File

@@ -1,3 +1,22 @@
# --- Stage 1: Сборка фронтенда (CodeMirror) ---
FROM node:20-slim as frontend-builder
WORKDIR /app/frontend
# Копируем файлы зависимостей
COPY frontend-assembly/package.json frontend-assembly/package-lock.json ./
# Устанавливаем зависимости (включая devDependencies для сборки)
RUN npm ci
# Копируем исходники
COPY frontend-assembly/ ./
# Собираем бандл через npm script
RUN npm run build
# --- Stage 2: Сборка бэкенда (Django) ---
FROM python:3.13-slim
# Настройки Python
@@ -22,6 +41,12 @@ RUN useradd -m -r appuser
# Копируем код проекта
COPY . /app/
# Создаем папку для данных и статики, чтобы у appuser были права
RUN mkdir -p /app/data /app/public/static_collected
# Копируем собранный фронтенд из первого стейджа
COPY --from=frontend-builder /app/frontend/dist/editor.js /app/public/static/codemirror/editor.js
# Меняем владельца папки
RUN chown -R appuser:appuser /app
@@ -32,4 +57,4 @@ USER appuser
EXPOSE 8000
# Команда запуска через Gunicorn
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "etpgrf_site.wsgi"]
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "--chdir", "/app/etpgrf_site", "etpgrf_site.wsgi"]