From 00e9a45271003d7a4050687402b0b84539f3fa95 Mon Sep 17 00:00:00 2001 From: ruslan Date: Fri, 15 May 2026 22:03:16 +0300 Subject: [PATCH] Update context.md: single server (45.129.3.83), local files removed except context Co-Authored-By: Claude Sonnet 4.6 --- context.md | 54 +++++++++++++++++------------------------------------- 1 file changed, 17 insertions(+), 37 deletions(-) diff --git a/context.md b/context.md index 8135692..0c18215 100644 --- a/context.md +++ b/context.md @@ -2,45 +2,27 @@ ## Что это за проект - Flask-приложение для автоответов на отзывы Wildberries. -- Поддерживает вход, личный кабинет с токенами магазинов, админку, журнал автоответов. -- Автоответ для 5★, 4★, 3★, 2★, 1★ с настраиваемыми пулами шаблонов. -- Уведомления в Telegram через прокси tel.4mont.ru при запросе доступа. +- Вход, личный кабинет с токенами магазинов, админка, журнал автоответов. +- Автоответ для 5★–1★ с настраиваемыми пулами шаблонов. +- Уведомления в 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` - Путь проекта: `/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`, другой порт +- Для NPM → wbfeed: Forward `172.19.0.1:2323` +- Для любого нового проекта через NPM: тот же IP `172.19.0.1`, свой порт -## Локальная структура (только контекст, код деплоится на сервер) -- `app.py` — основной backend (Flask + SQLite) -- `templates/*.html` — шаблоны интерфейса -- `static/styles.css` — стили -- `context.md` — этот файл, хранится локально в git +## Локально хранится только этот файл +Все остальные файлы проекта живут на сервере. Редактировать через ssh или scp. -## Деплой - -### На основной сервер (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/<путь> +# После изменения app.py — обязательно рестарт (inode binding): 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 ## Telegram уведомления -- Бот токен: `8181219074:AAGvqWqb6t10YP4xpMOQnBq_6LrUqAFm5hM` +- Прокси: `https://tel.4mont.ru/bot{TOKEN}/sendMessage` +- Токен бота: `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) @@ -60,7 +40,7 @@ sshpass -p 'utOgbZ09ruslan' ssh root@45.129.3.83 "docker restart wbfeed-app-1" - WB API rate limit: 1 запрос / 120 сек - Автоответ: цикл каждые 120 сек, 1 ответ за цикл, очередь в SQLite -## Известные особенности -- `tokens.db` монтируется как bind-mount: нужно создавать как файл (`touch`), не как папку -- `app.py` монтируется как файл — после `scp` нужен `docker restart` (inode binding) -- `templates/` и `static/` монтируются как папки — изменения видны без рестарта +## Важные особенности +- `tokens.db` при первом запуске создавать как файл (`touch tokens.db`), не папку +- `app.py` — bind-mount файла, после scp нужен `docker restart` +- `templates/` и `static/` — bind-mount папок, рестарт не нужен