Refactor Dockerfile and documentation for non-root user setup. Update CLAUDE.md and README.md to clarify media storage permissions and user requirements. Modify appsettings for local development database configuration. Enhance MediaEndpoints by removing unused regex and improving file resolution logic. Update BumperPreview to use SHA-256 for asset ID generation, ensuring better security practices.
ci / build-backend (push) Successful in 1m33s
ci / build-frontend (push) Successful in 1m2s
ci / tests (push) Successful in 1m52s
ci / sonar (push) Successful in 4m24s

This commit is contained in:
Leonid Pershin
2026-07-26 21:41:33 +03:00
parent e79769be81
commit b52080e026
9 changed files with 103 additions and 51 deletions
+6 -3
View File
@@ -84,9 +84,12 @@
- Один образ: Api раздаёт REST (`/api`) и статику SPA из `wwwroot` (fallback на `index.html`).
Один origin, база API — относительный `/api`.
- Multi-stage Dockerfile: node (фронт) → dotnet sdk (publish + копирование в `wwwroot`) → aspnet
runtime. Никакого gosu/root-drop и Data Protection key-ring — секретов на диске пока нет
(JWT-ключ — обычная конфигурация, не шифруемый секрет at-rest); если появятся зашифрованные
данные (например API-ключи внешних сервисов) — добавлять Data Protection по образцу PnvPanel.
runtime. Контейнер работает под непривилегированным пользователем образа (`USER $APP_UID`,
uid/gid 1654) — но **статически**, без gosu/entrypoint-скриптов и подгонки uid на старте: права
на bind-mount хранилища выставляет оператор на хосте (см. `docs/server-storage-setup.md` § 5).
Data Protection key-ring не заводим — секретов на диске пока нет (JWT-ключ — обычная конфигурация,
не шифруемый секрет at-rest); появятся зашифрованные данные (например API-ключи внешних
сервисов) — добавлять Data Protection по образцу PnvPanel.
- docker-compose: только `app` — PostgreSQL живёт вне compose (внешний сервер/хост, адрес и
креды — в `ConnectionStrings__Default` из `.env`; база и пользователь на нём создаются
заранее вручную, приложение их не сидит). Миграции применяются авто на старте