From 76586591188d4199107643283a8e1fdadb2efd88 Mon Sep 17 00:00:00 2001 From: Vladislav Kopnin Date: Thu, 10 Sep 2026 01:12:24 +0300 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=B0=D0=B3=D1=84=D0=B8=D0=BA=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 3 +++ README.md | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/Dockerfile b/Dockerfile index a2a6fb2..958473d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,6 +12,9 @@ RUN pip install --no-cache-dir -r requirements.txt \ FROM base AS api COPY --chown=app:app src/backend ./src/backend +# Том с данными монтируется в /data: создаём каталог заранее и отдаём владельцу app, +# чтобы приложение могло писать (БД и загрузки) под своим пользователем. +RUN mkdir -p /data && chown app:app /data ENV LMS_DATA_DIR=/data USER app EXPOSE 8000 diff --git a/README.md b/README.md index 4e0302d..94af49b 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,15 @@ docker compose logs -f # логи `lms-api` достаточно оставить внутри сети compose (в `.env` не публиковать `API_PORT`, либо ограничить доступ файрволом). +Если после обновления кода контейнер api падает с +`PermissionError: ... '/data/uploads'` (старый том создан от root) — сбросьте том +один раз и перезапустите (данных в нём ещё нет): + +```bash +sudo docker compose down -v +sudo ./deploy.sh +``` + ### Вариант 2 — без Docker (процессы через systemd) ```bash