Files
wildberries/context.md
T
ruslan 7ee57a1865 Fix cooldown timer visibility after Start; add real-time modal validation; update context.md with prod server
- Cooldown counter now always rendered (hidden) when auto_reply active, shown dynamically via polling
- Modal form validates fields on blur/input with red highlight via .input-invalid class
- Telegram: switched back to tel.4mont.ru proxy (working via /etc/hosts on 192.168.33.19)
- context.md: added prod server 45.129.3.83, deploy commands, NPM routing notes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 22:01:38 +03:00

67 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Контекст проекта WBfeed
## Что это за проект
- Flask-приложение для автоответов на отзывы Wildberries.
- Поддерживает вход, личный кабинет с токенами магазинов, админку, журнал автоответов.
- Автоответ для 5★, 4★, 3★, 2★, 1★ с настраиваемыми пулами шаблонов.
- Уведомления в Telegram через прокси tel.4mont.ru при запросе доступа.
## Серверы
### Основной (локальная сеть)
- SSH: `root@192.168.33.19`, пароль: `utOgbZ09`
- Путь проекта: `/home/sites/wild`
- Docker Compose, порт `54119 → 5000`
- В `/etc/hosts` прописано: `192.168.33.19 tel.4mont.ru` (Telegram прокси)
### Продакшн (публичный)
- SSH: `root@45.129.3.83`, пароль: `utOgbZ09ruslan`
- Путь проекта: `/home/docker/wbfeed`
- Docker Compose, порт `2323 → 5000`, контейнер `wbfeed-app-1`
- NPM (Nginx Proxy Manager) на том же сервере
- Для NPM → wbfeed: Forward `172.19.0.1:2323` (шлюз Docker-сети npm)
- Для любого нового Docker-проекта через NPM: тот же IP `172.19.0.1`, другой порт
## Локальная структура (только контекст, код деплоится на сервер)
- `app.py` — основной backend (Flask + SQLite)
- `templates/*.html` — шаблоны интерфейса
- `static/styles.css` — стили
- `context.md` — этот файл, хранится локально в git
## Деплой
### На основной сервер (192.168.33.19)
```bash
sshpass -p 'utOgbZ09' scp <файл> root@192.168.33.19:/home/sites/wild/<путь>
sshpass -p 'utOgbZ09' ssh root@192.168.33.19 "docker restart wild-app-1"
# templates/ и static/ — перезапуск не нужен, Flask видит сразу
```
### На продакшн (45.129.3.83)
```bash
sshpass -p 'utOgbZ09ruslan' scp -o StrictHostKeyChecking=no <файл> root@45.129.3.83:/home/docker/wbfeed/<путь>
sshpass -p 'utOgbZ09ruslan' ssh root@45.129.3.83 "docker restart wbfeed-app-1"
```
## Учётные данные
- Админ: логин `ruslan`, пароль `utOgbZ09ruslan+`
- Git: https://git.ruslan.xyz/ruslan/wildberries.git
## Telegram уведомления
- Бот токен: `8181219074:AAGvqWqb6t10YP4xpMOQnBq_6LrUqAFm5hM`
- Chat ID: `54986411`
- Прокси URL: `https://tel.4mont.ru/bot{TOKEN}/sendMessage`
- На 192.168.33.19 работает через `/etc/hosts` → локальный прокси
- На 45.129.3.83 прокси недоступен (разные сети) — уведомления не доходят
## Технический стек
- Python 3.11, Flask 3.0.3, SQLite (tokens.db)
- Docker + Docker Compose, Nginx Proxy Manager
- WB API rate limit: 1 запрос / 120 сек
- Автоответ: цикл каждые 120 сек, 1 ответ за цикл, очередь в SQLite
## Известные особенности
- `tokens.db` монтируется как bind-mount: нужно создавать как файл (`touch`), не как папку
- `app.py` монтируется как файл — после `scp` нужен `docker restart` (inode binding)
- `templates/` и `static/` монтируются как папки — изменения видны без рестарта