add: Nginx внутри контейнера + NPM-сборка CodeMirror внутрь контейнера через Dockerfile
This commit is contained in:
27
Dockerfile
27
Dockerfile
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user