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:
|
||||
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:
|
||||
build: .
|
||||
container_name: dbbot-tg-userbot
|
||||
@@ -35,6 +6,4 @@ services:
|
||||
- .env
|
||||
volumes:
|
||||
- ./session_data:/app/session
|
||||
depends_on:
|
||||
- n8n
|
||||
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;
|
||||
- `qdrant` уже запущен отдельно;
|
||||
- бот в чужую группу добавить нельзя;
|
||||
- сообщения читаются через `Telethon userbot` из отдельного Docker-контейнера.
|
||||
|
||||
@@ -71,32 +72,23 @@ cp .env.example .env
|
||||
|
||||
## Подробный цикл запуска проекта
|
||||
|
||||
### Шаг 1. Собрать контейнер userbot
|
||||
`docker-compose.yaml` в этом проекте содержит только один сервис: `tg-userbot`.
|
||||
|
||||
### Шаг 1. Поднять контейнер tg-userbot
|
||||
|
||||
Из корня проекта:
|
||||
|
||||
```bash
|
||||
docker build -t dbbot-userbot:latest .
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
### Шаг 2. Запустить контейнер
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name dbbot-userbot \
|
||||
--env-file .env \
|
||||
-v "$(pwd)/session_data:/app/session" \
|
||||
--restart unless-stopped \
|
||||
dbbot-userbot:latest
|
||||
```
|
||||
|
||||
### Шаг 3. Проверить, что webhook получает данные
|
||||
### Шаг 2. Проверить, что webhook получает данные
|
||||
|
||||
1. Открой `Executions` в `n8n`.
|
||||
2. Убедись, что появились вызовы `Webhook TG Inbox`.
|
||||
3. Проверь, что далее проходят `Build Context Block` и `Qdrant Insert`.
|
||||
|
||||
### Шаг 4. Проверить RAG-ответ
|
||||
### Шаг 3. Проверить RAG-ответ
|
||||
|
||||
1. Напиши вопрос Telegram-боту, подключенному к `Telegram Trigger` в workflow.
|
||||
2. Проверь выполнение ветки `AI Agent`.
|
||||
@@ -115,9 +107,9 @@ docker run -d \
|
||||
Команды:
|
||||
|
||||
```bash
|
||||
docker stop dbbot-userbot
|
||||
docker compose stop
|
||||
rm -f session_data/history_done.flag
|
||||
docker start dbbot-userbot
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Управление и диагностика
|
||||
@@ -125,7 +117,7 @@ docker start dbbot-userbot
|
||||
Логи контейнера:
|
||||
|
||||
```bash
|
||||
docker logs -f dbbot-userbot
|
||||
docker compose logs -f tg-userbot
|
||||
```
|
||||
|
||||
Проверить, что контейнер жив:
|
||||
@@ -137,13 +129,7 @@ docker ps --filter name=dbbot-userbot
|
||||
Перезапустить после изменения `.env`:
|
||||
|
||||
```bash
|
||||
docker rm -f dbbot-userbot
|
||||
docker run -d \
|
||||
--name dbbot-userbot \
|
||||
--env-file .env \
|
||||
-v "$(pwd)/session_data:/app/session" \
|
||||
--restart unless-stopped \
|
||||
dbbot-userbot:latest
|
||||
docker compose up -d --build --force-recreate
|
||||
```
|
||||
|
||||
## Формат payload, который скрипт шлет в n8n
|
||||
|
||||
Reference in New Issue
Block a user