Безопасность: dev-БД и загрузки не попадают в Docker-образ
Шаблоны .dockerignore отсчитываются от корня контекста: `data/` ловил только корневую папку, `backend/*.db` — только файлы прямо в backend/. Dockerfile копирует backend/ целиком, и в каждый прод-образ уходили backend/data/dev/ (dev-БД с хешами паролей и аудитом, uploads) и egg-info от pip install -e. Теперь исключены backend/data/, любые *.db/-wal/-shm, *.egg-info, .env в любой папке и backups/ (копии прод-БД не уходят и в контекст сборки). README больше не говорит о дыре. #71 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LqSoRj99iwVEH5U5fnZgsd
This commit is contained in:
+14
-5
@@ -1,13 +1,23 @@
|
||||
# Шаблоны отсчитываются от корня контекста: без «**/» правило ловит только корень
|
||||
# (так `data/` пропускал backend/data/dev/ с dev-БД и загрузками в образ, #71).
|
||||
|
||||
# Python
|
||||
**/__pycache__/
|
||||
**/*.pyc
|
||||
**/*.egg-info/
|
||||
backend/.venv/
|
||||
backend/.pytest_cache/
|
||||
backend/*.db
|
||||
backend/*.db-wal
|
||||
backend/*.db-shm
|
||||
backend/openapi.json
|
||||
|
||||
# Данные: dev-БД, загрузки и ачивки дева (backend/data/dev/), любые файлы SQLite и
|
||||
# локальные копии бэкапов — ни в образ, ни в контекст сборки
|
||||
backend/data/
|
||||
data/
|
||||
backups/
|
||||
**/*.db
|
||||
**/*.db-wal
|
||||
**/*.db-shm
|
||||
|
||||
# Node / сборка фронта
|
||||
frontend/node_modules/
|
||||
frontend/dist/
|
||||
@@ -23,8 +33,7 @@ backend/tests/
|
||||
backend/pyproject.toml
|
||||
|
||||
# Прочее
|
||||
.env
|
||||
data/
|
||||
**/.env
|
||||
**/.DS_Store
|
||||
*.md
|
||||
.claude/
|
||||
|
||||
@@ -200,9 +200,8 @@ docker compose up -d # pull_policy: always — тянет свежие
|
||||
(`backend/data/dev/`), prod → `PROD_DATABASE_URL` (том `/data`). Так же раздельно лежат
|
||||
загрузки (`*_UPLOAD_DIR`) и ачивки (`*_ACHIEVEMENTS_DIR`).
|
||||
- **В Docker идёт только прод-код:** dev-вход (stub), dev-удаление аккаунтов и тесты физически
|
||||
исключены из образа (`.dockerignore`).
|
||||
- **Внимание:** данные дева (`backend/data/dev/`) сейчас **попадают** в образ — правило
|
||||
`data/` в `.dockerignore` исключает только корневую папку `data/` (задача #71).
|
||||
исключены из образа (`.dockerignore`). Данные дева (`backend/data/`), любые файлы SQLite
|
||||
и локальные бэкапы (`backups/`) в образ тоже не попадают.
|
||||
|
||||
## Git и деплой
|
||||
|
||||
|
||||
Reference in New Issue
Block a user