docs: этапы 3–4 — роли, профиль и жизненный цикл

This commit is contained in:
2026-10-27 18:42:08 +03:00
parent 1d21e66dc4
commit 4a2daf2fec
6 changed files with 388 additions and 6 deletions

View File

@@ -47,7 +47,15 @@ cp .env.prod.example .env.prod
nano .env.prod
```
Обязательно задайте надёжный `LMS_DB_PASSWORD`. Остальные значения по умолчанию подходят.
Обязательно задайте `LMS_DB_PASSWORD` и `LMS_INTERNAL_TOKEN`. Остальные
значения по умолчанию подходят.
`LMS_INTERNAL_TOKEN` — общий секрет для внутренних вызовов identity из
academic/progress (профиль студента, состав группы). Сгенерируйте длинную
случайную строку (например, `openssl rand -hex 32`) и укажите её в `.env.prod`.
Compose передаёт одно и то же значение identity, academic и progress.
Значение по умолчанию `dev-internal-token` для production не используйте;
`.env.prod` не коммитьте.
## 4. Собрать и запустить
@@ -148,6 +156,9 @@ Backup на том же сервере — не единственная защ
JWKS: должно быть `LMS_JWT_JWK_SET_URI=http://identity:8081/api/v1/auth/jwks.json`
(уже прописано в `docker-compose.prod.yml` для academic/progress/gateway).
Внутри контейнера `localhost:8081` недоступен, поэтому токен не проверяется.
- **403/502 в профиле студента или составе группы** — проверьте, что
`LMS_INTERNAL_TOKEN` задан в `.env.prod` и одинаков у identity, academic
и progress. При неверном внутреннем токене identity отвечает `403`.
- **Не проходят загрузки больших ZIP** — увеличьте `client_max_body_size` в nginx
(сейчас 120 МБ) и `spring.servlet.multipart.max-request-size`.