Update context.md: single server (45.129.3.83), local files removed except context

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-15 22:03:16 +03:00
parent 7ee57a1865
commit 00e9a45271
+17 -37
View File
@@ -2,45 +2,27 @@
## Что это за проект ## Что это за проект
- Flask-приложение для автоответов на отзывы Wildberries. - Flask-приложение для автоответов на отзывы Wildberries.
- Поддерживает вход, личный кабинет с токенами магазинов, админку, журнал автоответов. - Вход, личный кабинет с токенами магазинов, админка, журнал автоответов.
- Автоответ для 5★, 4★, 3★, 2★, 1★ с настраиваемыми пулами шаблонов. - Автоответ для 5★1★ с настраиваемыми пулами шаблонов.
- Уведомления в Telegram через прокси tel.4mont.ru при запросе доступа. - Уведомления в Telegram при запросе доступа через форму на странице входа.
## Серверы ## Сервер (единственный)
### Основной (локальная сеть)
- 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` - SSH: `root@45.129.3.83`, пароль: `utOgbZ09ruslan`
- Путь проекта: `/home/docker/wbfeed` - Путь проекта: `/home/docker/wbfeed`
- Docker Compose, порт `2323 → 5000`, контейнер `wbfeed-app-1` - Docker Compose, порт `2323 → 5000`, контейнер `wbfeed-app-1`
- NPM (Nginx Proxy Manager) на том же сервере - NPM (Nginx Proxy Manager) на том же сервере
- Для NPM → wbfeed: Forward `172.19.0.1:2323` (шлюз Docker-сети npm) - Для NPM → wbfeed: Forward `172.19.0.1:2323`
- Для любого нового Docker-проекта через NPM: тот же IP `172.19.0.1`, другой порт - Для любого нового проекта через NPM: тот же IP `172.19.0.1`, свой порт
## Локальная структура (только контекст, код деплоится на сервер) ## Локально хранится только этот файл
- `app.py` — основной backend (Flask + SQLite) Все остальные файлы проекта живут на сервере. Редактировать через ssh или scp.
- `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 ```bash
sshpass -p 'utOgbZ09ruslan' scp -o StrictHostKeyChecking=no <файл> root@45.129.3.83:/home/docker/wbfeed/<путь> sshpass -p 'utOgbZ09ruslan' scp -o StrictHostKeyChecking=no <файл> root@45.129.3.83:/home/docker/wbfeed/<путь>
# После изменения app.py — обязательно рестарт (inode binding):
sshpass -p 'utOgbZ09ruslan' ssh root@45.129.3.83 "docker restart wbfeed-app-1" sshpass -p 'utOgbZ09ruslan' ssh root@45.129.3.83 "docker restart wbfeed-app-1"
# templates/ и static/ — рестарт не нужен, Flask видит сразу
``` ```
## Учётные данные ## Учётные данные
@@ -48,11 +30,9 @@ sshpass -p 'utOgbZ09ruslan' ssh root@45.129.3.83 "docker restart wbfeed-app-1"
- Git: https://git.ruslan.xyz/ruslan/wildberries.git - Git: https://git.ruslan.xyz/ruslan/wildberries.git
## Telegram уведомления ## Telegram уведомления
- Бот токен: `8181219074:AAGvqWqb6t10YP4xpMOQnBq_6LrUqAFm5hM` - Прокси: `https://tel.4mont.ru/bot{TOKEN}/sendMessage`
- Токен бота: `8181219074:AAGvqWqb6t10YP4xpMOQnBq_6LrUqAFm5hM`
- Chat ID: `54986411` - 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) - Python 3.11, Flask 3.0.3, SQLite (tokens.db)
@@ -60,7 +40,7 @@ sshpass -p 'utOgbZ09ruslan' ssh root@45.129.3.83 "docker restart wbfeed-app-1"
- WB API rate limit: 1 запрос / 120 сек - WB API rate limit: 1 запрос / 120 сек
- Автоответ: цикл каждые 120 сек, 1 ответ за цикл, очередь в SQLite - Автоответ: цикл каждые 120 сек, 1 ответ за цикл, очередь в SQLite
## Известные особенности ## Важные особенности
- `tokens.db` монтируется как bind-mount: нужно создавать как файл (`touch`), не как папку - `tokens.db` при первом запуске создавать как файл (`touch tokens.db`), не папку
- `app.py` монтируется как файл после `scp` нужен `docker restart` (inode binding) - `app.py` — bind-mount файла, после scp нужен `docker restart`
- `templates/` и `static/` монтируются как папки — изменения видны без рестарта - `templates/` и `static/` — bind-mount папок, рестарт не нужен