- scripts/backup.sh: консистентный снимок SQLite (.backup) + архив fs_<TS>.tar.gz с uploads и achievements в backups/, локальная ротация; при заданном BACKUP_VPS_HOST — push на VPS (scp отдельным ключом/юзером) с удалённой ротацией. Настройки читаются из .env (BACKUP_*). - scripts/restore.sh: восстановление архива в прод (stop app → очистка тома → docker cp → start). - .env.example: блок BACKUP_* (host/user/dir/key/keep). .gitignore: id_backup* (ключ бэкапа). - deploy/pi/README, deploy/vps/README: настройка ключа и юзера backup, /srv/fs-backups, cron, restore. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
50 lines
1007 B
Plaintext
50 lines
1007 B
Plaintext
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
.venv/
|
|
venv/
|
|
*.egg-info/
|
|
.pytest_cache/
|
|
.mypy_cache/
|
|
.ruff_cache/
|
|
|
|
# Базы данных / данные (dev-БД лежит в backend/data/dev/)
|
|
*.db
|
|
*.db-wal
|
|
*.db-shm
|
|
data/
|
|
backend/dev.db*
|
|
|
|
# Env / секреты — коммитим ТОЛЬКО шаблон .env.example (единый .env для dev/test/prod)
|
|
.env
|
|
!.env.example
|
|
|
|
# Сертификаты и приватные ключи (живут на VPS/Pi/ПК, не в репозитории)
|
|
*.pem
|
|
*.key
|
|
id_tunnel*
|
|
id_backup*
|
|
deploy/**/certs/
|
|
|
|
# Node / фронт
|
|
node_modules/
|
|
frontend/dist/
|
|
frontend/.vite/
|
|
*.tsbuildinfo
|
|
|
|
# Сгенерированный снапшот OpenAPI (контракт фронта закоммичен в schema.d.ts)
|
|
backend/openapi.json
|
|
|
|
# Бэкапы (создаёт scripts/backup.sh на Pi)
|
|
backups/
|
|
|
|
# AI-ассистенты (локальные, в репозиторий не идут)
|
|
CLAUDE.md
|
|
.claude/
|
|
|
|
# Редактор / ОС
|
|
.DS_Store
|
|
Thumbs.db
|
|
.idea/
|
|
.vscode/
|