docs: SETUP.md — перенос проекта на другую машину
Чеклист: предустановки, npm install, .env, что переносить вне git (БД/uploads/.env), миграции/seed, запуск, восстановление памяти, ast-index/vex. Данные (с ключами) переносятся отдельным пакетом, не в git. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
# Перенос проекта на другую машину
|
||||
|
||||
Репозиторий содержит **код, конфиг Claude и снимок памяти**, но НЕ содержит
|
||||
**данные и секреты** (база, uploads, `.env`, `node_modules`) — их переносят
|
||||
отдельно, вне git (см. шаг 4 и переносной пакет).
|
||||
|
||||
## 0. Предустановки
|
||||
- **Node.js ≥ 22** (используется встроенный `node:sqlite`; разрабатывалось на Node 24).
|
||||
- **Git**.
|
||||
- *(опционально)* Системный **Chrome** — для генерации учебников через `puppeteer-core`.
|
||||
- *(опционально)* **MySQL / OpenSSL** — если используются внешние скрипты.
|
||||
- *(опционально)* Инструменты поиска по коду: **ast-index** и **vex**.
|
||||
|
||||
## 1. Код
|
||||
```bash
|
||||
git clone <repo-url>
|
||||
cd BQ-System
|
||||
```
|
||||
|
||||
## 2. Зависимости
|
||||
```bash
|
||||
cd backend
|
||||
npm install
|
||||
```
|
||||
(если в корне есть свой `package.json` — `npm install` и там)
|
||||
|
||||
## 3. Секреты — `.env`
|
||||
```bash
|
||||
cp backend/.env.example backend/.env # затем заполнить JWT_SECRET и т.п.
|
||||
```
|
||||
Готовый `.env` есть в переносном пакете — можно взять его.
|
||||
**Ключи ассистента (Kilo / Gemini) лежат в БД** (`app_settings`), не в `.env` — приедут вместе с базой.
|
||||
|
||||
## 4. Данные (из переносного пакета, вне git)
|
||||
Скопировать из пакета в проект:
|
||||
- `learnspace.db` → `backend/data/learnspace.db`
|
||||
- `uploads/` → `backend/uploads/`
|
||||
- `.env` → `backend/.env`
|
||||
|
||||
Без базы сервер поднимется на **пустой** БД (контент, пользователи и ключи ИИ отсутствуют).
|
||||
|
||||
## 5. База с нуля (только если нет готовой learnspace.db)
|
||||
```bash
|
||||
cd backend
|
||||
npm run migrate # применить миграции (создаёт схему)
|
||||
npm run seed # базовые данные
|
||||
# контент — частично через скрипты:
|
||||
npm run import:content
|
||||
npm run import:exam-tasks
|
||||
npm run index:textbooks # RAG-индекс для ассистента
|
||||
```
|
||||
Полностью контент и пользователей seed-скрипты не восстановят — для «как тут» переноси готовую `learnspace.db`.
|
||||
|
||||
## 6. Запуск
|
||||
```bash
|
||||
cd backend
|
||||
npm start # http://localhost:3000
|
||||
```
|
||||
|
||||
## 7. Память Claude
|
||||
Скопировать `.claude/memory/*.md` в пользовательскую папку памяти Claude.
|
||||
Инструкция и команды — в [.claude/memory/README.md](.claude/memory/README.md).
|
||||
|
||||
## 8. Поиск по коду (опционально)
|
||||
Установить `ast-index` и `vex`, затем построить индексы:
|
||||
```bash
|
||||
ast-index rebuild
|
||||
vex index --semantic
|
||||
```
|
||||
|
||||
## Что НЕ переносится репозиторием (резюме)
|
||||
| Объект | Где взять |
|
||||
|---|---|
|
||||
| `backend/data/learnspace.db` | переносной пакет (контент + пользователи + ключи ИИ) |
|
||||
| `backend/uploads/` | переносной пакет (загруженные файлы) |
|
||||
| `backend/.env` | переносной пакет или из `.env.example` |
|
||||
| `node_modules` | `npm install` |
|
||||
| ast-index / vex индексы | пересобрать на машине |
|
||||
| Память Claude (юзер-папка) | `.claude/memory/` → см. README |
|
||||
Reference in New Issue
Block a user