37 lines
4.7 KiB
Markdown
37 lines
4.7 KiB
Markdown
# 2026-07-24 17:43 — Локальная копия, снятие лимитов /compress, скилл деплоя под VPS
|
||
|
||
**Сделано:**
|
||
- Скачали проект WA Dev Tools с сервера в локальную папку `K:\Claude\wadevelop.ru` (код + `.git` + `npm install`, 870 пакетов). node_modules/uploads/downloads не тянули.
|
||
- Настроили git локально: `core.autocrlf=false`, `filemode=false` (Windows↔Linux), identity treamz, origin → Gitea rpi4:3002.
|
||
- **Сняли лимиты в инструменте `/compress` для админа** (`treamz@gmail.com`, `role=admin`): без лимита размера файла, без лимита количества (было 50), без rate-limit (было 30/мин). Применено и проверено на **боевом проде** — работает.
|
||
- **Ключевое открытие топологии:** боевой `wadevelop.ru` живёт НЕ на rpi4, а на VPS `195.140.146.84` (контейнер `wadevelop`). rpi4 — двойник, к домену не подключён.
|
||
- Создали и затем **переписали скилл `/deploy-wadevelop` под VPS** (SFTP + `docker restart`).
|
||
|
||
**Изменённые / созданные файлы:**
|
||
- [routes/compress.js](../../routes/compress.js) — admin-логика: `uploadUser`/`uploadAdmin`, `uploadArray`/`uploadSingle`, `limiter.skip = isAdmin`. (Правка залита на VPS-версию файла; в этом локальном репо — rpi4-вариант, коммиты `4259c3d`, `d997bad`.)
|
||
- [public/compress.html](../../public/compress.html) — `/auth/me` → admin-детект, `MAX_SIZE=Infinity` для админа, раздельная диагностика отсева (формат vs размер), подпись «без лимитов», `id="limitsHint"`.
|
||
- Скилл `C:\Users\tream\.claude\skills\deploy-wadevelop\SKILL.md` — переписан под VPS.
|
||
- Память `C:\Users\tream\.claude\projects\C--Users-tream\memory\project-wa-dev-tools.md` — зафиксирован VPS-прод и rpi4-двойник.
|
||
|
||
**Решения:**
|
||
- **Источник правды для прода — VPS `195.140.146.84`** (по решению пользователя). rpi4 — двойник/dev.
|
||
- Деплой на VPS — **прямой заливкой по SFTP + `docker restart wadevelop`**, НЕ через git (на VPS origin = `localhost:3002`, недоступен; репо на коммите `3061016` + локальные правки).
|
||
- Определение админа — по `req.session.user.role === 'admin'` (сервер) и `fetch('/auth/me').role` (клиент); роль хранится в БД `wa_tools`.
|
||
- Статику (`public/*`) VPS подхватывает без рестарта; серверный код (`*.js`, `.env`) — только после `docker restart wadevelop`.
|
||
|
||
**Открытые вопросы / следующие шаги:**
|
||
- [ ] Две расходящиеся копии кода: VPS-прод (`3061016` + `server.js` от 3 апр, папка `works/`) и rpi4/локалка (`87f8c55` с prod-правками). Свести в один git при желании.
|
||
- [ ] Локальная копия `K:\Claude\wadevelop.ru` склонирована с rpi4 — местами расходится с VPS. Возможна пересборка с VPS-кода как основы.
|
||
- [ ] Решить судьбу rpi4-двойника (оставить как dev / погасить).
|
||
- [ ] (мелочь) В логах контейнера warning `ERR_ERL_KEY_GEN_IPV6` от express-rate-limit v8 (keyGenerator + IPv6). Не критично.
|
||
|
||
**Как продолжить (для чистой сессии):**
|
||
- Контекст: прочитать память `project-wa-dev-tools.md`, `server-195-140-146-84.md`, `server-rpi4.md`. Понять: **прод = VPS 195.140.146.84 / контейнер `wadevelop` / `/opt/sites/www/wadevelop.ru/`**; rpi4 — двойник.
|
||
- Деплой: скилл `/deploy-wadevelop` (SFTP-заливка + `docker restart wadevelop`). НЕ деплоить на rpi4.
|
||
- SSH: `python3 C:/Users/tream/.claude/ssh_cmd.py root@195.140.146.84 "<cmd>"` (именно python3 — paramiko там).
|
||
- Проверка прода: `curl -s -o /dev/null -w "%{http_code}\n" https://wadevelop.ru/` (ждём 200); `docker logs wadevelop --tail 8`.
|
||
|
||
**Ссылки:**
|
||
- Прод: https://wadevelop.ru — VPS 195.140.146.84 (FirstVDS, treamz.fvds.ru), контейнер `wadevelop`
|
||
- Двойник: rpi4 192.168.31.200, `/mnt/webdata/www/images.wadevelop.ru`, Gitea rpi4:3002 (`treamz/wa-dev-tools`)
|