Run only tg-userbot in Docker Compose.
Remove embedded n8n and qdrant services from compose and update README to match deployment with external n8n/qdrant and compose-based userbot operations. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,33 +1,4 @@
|
|||||||
version: "3.8"
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
n8n:
|
|
||||||
image: n8nio/n8n:latest
|
|
||||||
container_name: dbbot-n8n
|
|
||||||
ports:
|
|
||||||
- "5678:5678"
|
|
||||||
environment:
|
|
||||||
- N8N_HOST=localhost
|
|
||||||
- N8N_PORT=5678
|
|
||||||
- N8N_PROTOCOL=http
|
|
||||||
- WEBHOOK_URL=http://localhost:5678/
|
|
||||||
- GENERIC_TIMEZONE=Europe/Moscow
|
|
||||||
volumes:
|
|
||||||
- ./n8n_data:/home/node/.n8n
|
|
||||||
depends_on:
|
|
||||||
- qdrant
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
qdrant:
|
|
||||||
image: qdrant/qdrant:latest
|
|
||||||
container_name: dbbot-qdrant
|
|
||||||
ports:
|
|
||||||
- "6333:6333"
|
|
||||||
- "6334:6334"
|
|
||||||
volumes:
|
|
||||||
- ./qdrant_data:/qdrant/storage
|
|
||||||
restart: unless-stopped
|
|
||||||
|
|
||||||
tg-userbot:
|
tg-userbot:
|
||||||
build: .
|
build: .
|
||||||
container_name: dbbot-tg-userbot
|
container_name: dbbot-tg-userbot
|
||||||
@@ -35,6 +6,4 @@ services:
|
|||||||
- .env
|
- .env
|
||||||
volumes:
|
volumes:
|
||||||
- ./session_data:/app/session
|
- ./session_data:/app/session
|
||||||
depends_on:
|
|
||||||
- n8n
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
38
redme.md
38
redme.md
@@ -1,7 +1,8 @@
|
|||||||
## DBBot: production-схема (n8n + отдельный userbot-контейнер)
|
## DBBot: production-схема (отдельные n8n/Qdrant + tg-userbot)
|
||||||
|
|
||||||
Этот проект рассчитан на ситуацию, когда:
|
Этот проект рассчитан на ситуацию, когда:
|
||||||
- `n8n` уже запущен и доступен по URL;
|
- `n8n` уже запущен и доступен по URL;
|
||||||
|
- `qdrant` уже запущен отдельно;
|
||||||
- бот в чужую группу добавить нельзя;
|
- бот в чужую группу добавить нельзя;
|
||||||
- сообщения читаются через `Telethon userbot` из отдельного Docker-контейнера.
|
- сообщения читаются через `Telethon userbot` из отдельного Docker-контейнера.
|
||||||
|
|
||||||
@@ -71,32 +72,23 @@ cp .env.example .env
|
|||||||
|
|
||||||
## Подробный цикл запуска проекта
|
## Подробный цикл запуска проекта
|
||||||
|
|
||||||
### Шаг 1. Собрать контейнер userbot
|
`docker-compose.yaml` в этом проекте содержит только один сервис: `tg-userbot`.
|
||||||
|
|
||||||
|
### Шаг 1. Поднять контейнер tg-userbot
|
||||||
|
|
||||||
Из корня проекта:
|
Из корня проекта:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker build -t dbbot-userbot:latest .
|
docker compose up -d --build
|
||||||
```
|
```
|
||||||
|
|
||||||
### Шаг 2. Запустить контейнер
|
### Шаг 2. Проверить, что webhook получает данные
|
||||||
|
|
||||||
```bash
|
|
||||||
docker run -d \
|
|
||||||
--name dbbot-userbot \
|
|
||||||
--env-file .env \
|
|
||||||
-v "$(pwd)/session_data:/app/session" \
|
|
||||||
--restart unless-stopped \
|
|
||||||
dbbot-userbot:latest
|
|
||||||
```
|
|
||||||
|
|
||||||
### Шаг 3. Проверить, что webhook получает данные
|
|
||||||
|
|
||||||
1. Открой `Executions` в `n8n`.
|
1. Открой `Executions` в `n8n`.
|
||||||
2. Убедись, что появились вызовы `Webhook TG Inbox`.
|
2. Убедись, что появились вызовы `Webhook TG Inbox`.
|
||||||
3. Проверь, что далее проходят `Build Context Block` и `Qdrant Insert`.
|
3. Проверь, что далее проходят `Build Context Block` и `Qdrant Insert`.
|
||||||
|
|
||||||
### Шаг 4. Проверить RAG-ответ
|
### Шаг 3. Проверить RAG-ответ
|
||||||
|
|
||||||
1. Напиши вопрос Telegram-боту, подключенному к `Telegram Trigger` в workflow.
|
1. Напиши вопрос Telegram-боту, подключенному к `Telegram Trigger` в workflow.
|
||||||
2. Проверь выполнение ветки `AI Agent`.
|
2. Проверь выполнение ветки `AI Agent`.
|
||||||
@@ -115,9 +107,9 @@ docker run -d \
|
|||||||
Команды:
|
Команды:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker stop dbbot-userbot
|
docker compose stop
|
||||||
rm -f session_data/history_done.flag
|
rm -f session_data/history_done.flag
|
||||||
docker start dbbot-userbot
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
## Управление и диагностика
|
## Управление и диагностика
|
||||||
@@ -125,7 +117,7 @@ docker start dbbot-userbot
|
|||||||
Логи контейнера:
|
Логи контейнера:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker logs -f dbbot-userbot
|
docker compose logs -f tg-userbot
|
||||||
```
|
```
|
||||||
|
|
||||||
Проверить, что контейнер жив:
|
Проверить, что контейнер жив:
|
||||||
@@ -137,13 +129,7 @@ docker ps --filter name=dbbot-userbot
|
|||||||
Перезапустить после изменения `.env`:
|
Перезапустить после изменения `.env`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker rm -f dbbot-userbot
|
docker compose up -d --build --force-recreate
|
||||||
docker run -d \
|
|
||||||
--name dbbot-userbot \
|
|
||||||
--env-file .env \
|
|
||||||
-v "$(pwd)/session_data:/app/session" \
|
|
||||||
--restart unless-stopped \
|
|
||||||
dbbot-userbot:latest
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Формат payload, который скрипт шлет в n8n
|
## Формат payload, который скрипт шлет в n8n
|
||||||
|
|||||||
Reference in New Issue
Block a user