diff --git a/README.md b/README.md index 9465606..8e90ea4 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,6 @@ - SaaS-система с автоматическим расчётом комиссий - **Мультиязычность (i18n)** — английский, испанский, немецкий с переключением в боте - **Новая админ-панель** (Next.js 16 + Prisma + shadcn/ui) на порту 3000: дашборд, каталог, заказы, кошельки, лиды, ИИ-чатбот, аудит, настройки -- **Старая админка** (Express/EJS) на порту 3001 — бэкенд бота, сохранена для совместимости - Tor-прокси с двумя onion-сервисами (SSH + админка) - WireGuard VPN для безопасных транзакций @@ -52,7 +51,7 @@ docker compose up -d --build # 4. Проверить статус docker compose ps -curl http://localhost:3001/health # бот + старая админка +curl http://localhost:3001/health # бот (health-сервер) curl -o /dev/null -w "%{http_code}\n" http://localhost:3000/login # новая админка ``` @@ -65,8 +64,8 @@ curl -o /dev/null -w "%{http_code}\n" http://localhost:3000/login # новая | `BOT_TOKEN` | ✅ | Токен Telegram бота (@BotFather) | | `ADMIN_IDS` | ✅ | ID администраторов через запятую | | `ENCRYPTION_KEY` | ✅ | Ключ шифрования (32 байта hex) | -| `ADMIN_SECRET` | ✅ | Секрет для админ-панели | -| `ADMIN_PORT` | — | Порт админ-панели (по умолчанию 3001) | +| `ADMIN_SECRET` | ✅ | Секрет админки (вход в Next.js админку) | +| `SUPER_ADMIN_SECRET` | — | Секрет супер-админа (роль super_admin в админке) | | `ADMIN_URL` | — | Полный URL админ-панели (для фото товаров) | | `SUPER_ADMIN_IDS` | — | ID супер-админов | | `SUPPORT_LINK` | — | Ссылка на поддержку | @@ -128,7 +127,7 @@ Onion-адреса автоматически сохраняются в `tor-pro Onion services ============================================================ SSH : xxxxx.onion (port 22 -> host SSH) - Admin : yyyyy.onion (port 80 -> telegram_shop_prod:3001) + Admin : yyyyy.onion (port 80 -> tg_shop_admin:3000) ============================================================ Usage: @@ -141,8 +140,8 @@ Usage: | Переменная | По умолчанию | Описание | |---|---|---| | `SSH_HOST_IP` | `host.docker.internal` | Куда Tor перенаправляет SSH | -| `SHOP_CONTAINER` | `telegram_shop_prod` | Контейнер магазина | -| `ADMIN_PORT` | `3001` | Порт админки | +| `SHOP_CONTAINER` | `tg_shop_admin` | Контейнер админки (onion target) | +| `ADMIN_PORT` | `3000` | Порт админки | ## Поддерживаемые устройства @@ -166,9 +165,8 @@ Docker автоматически собирает нативные модули │ │ telegram_shop_prod │ │ tor-proxy │ │ │ │ (node:22-alpine) │ │ (alpine:3.18 + tor) │ │ │ │ │ │ │ │ -│ │ Port 3000 ←─────────────┼── Новая админка (Next.js) │ │ -│ │ Port 3001 ──────────────┼── Бот + старая админка (Express) │ -│ │ Bot + Admin Panel │ HiddenService :80 → админка 3000│ +│ │ Port 3001 ──────────────┼── Бот (health-сервер) │ │ +│ │ Bot + Health Server │ HiddenService :80 → админка 3000│ │ │ │ HiddenService :22 → SSH │ │ │ │ │ │ │ │ │ Net: default │ │ Net: default + proxy_net │ │ @@ -270,7 +268,7 @@ src/i18n/ ## Безопасность - `.env` монтируется только для чтения (`:ro`) -- Порт 3001 (бот + старая админка) и 3000 (новая админка) доступны из LAN и через Tor onion +- Порт 3001 (бот, health-сервер) и 3000 (админка) доступны из LAN и через Tor onion - Onion-адреса сохраняются в volume (персистентность при перезапуске) - Tor hidden services с валидацией env vars - Новая админка (`admin-next/`): вход по токену, `ADMIN_SECRET`/`SUPER_ADMIN_SECRET` из `.env` @@ -290,16 +288,10 @@ src/i18n/ ``` ├── src/ -│ ├── admin/ # Старая админ-панель (Express/EJS) -│ │ ├── routes/ # Роуты админ-панели (вкл. /locales для i18n) -│ │ ├── views/ # Шаблоны HTML -│ │ ├── public/ # Статические файлы (CSS) -│ │ ├── auth.js # Авторизация -│ │ └── server.js # Express-сервер │ ├── config/ # Конфигурация (БД, крипто) │ ├── context/ # Контекст и состояния бота │ ├── handlers/ # Обработчики команд -│ │ ├── adminHandlers/ # Обработчики админа +│ │ ├── adminHandlers/ # Обработчики админа (Telegram) │ │ └── userHandlers/ # Обработчики пользователя │ ├── i18n/ # Интернационализация │ │ ├── index.js # tForUser(), tForLang(), LANGUAGE_NAMES @@ -307,9 +299,10 @@ src/i18n/ │ ├── middleware/ # Промежуточные обработчики │ ├── migrations/ # Миграции БД │ ├── models/ # Модели данных -│ ├── router/ # Роутинг Express +│ ├── router/ # Роутинг callback/text бота │ ├── services/ # Бизнес-логика (вкл. chatbotService, leadService) │ ├── utils/ # Утилиты (логирование, валидация, ошибки) +│ ├── healthServer.js # Минимальный HTTP /health (Docker healthcheck) │ └── index.js # Точка входа ├── admin-next/ # НОВАЯ админ-панель (Next.js 16 + Prisma + shadcn/ui) │ ├── prisma/schema.prisma # Схема БД (та же SQLite, что у бота)