Quick Start
Запуск проекта за 5 шагов
Время выполнения: ~10-15 минут
Требования
Docker Desktop
Контейнеризация всех сервисов
Docker Compose
Оркестрация сервисов
Git
Клонирование репозитория
8GB RAM (min)
Минимальные требования
20GB disk
Для образов и данных
Telegram Bot Token
От @BotFather
Установка для macOS:
brew install --cask docker && brew install gitШаги установки
1
Клонировать репозиторий
Получить исходный код проекта
git clone <repo-url> clowbotcd clowbotVerify:
ls -la | grep docker-compose.yml2
Создать .env из примера
Скопировать шаблон конфигурации
cp .env.example .envnano .env # или vim, code, etc.Verify:
cat .env | head -53
Настроить TELEGRAM_BOT_TOKEN
Получить токен у @BotFather в Telegram
# 1. Откройте @BotFather в Telegram# 2. Отправьте /newbot# 3. Следуйте инструкциям# 4. Скопируйте токен в .env:TELEGRAM_BOT_TOKEN=1234567890:ABCdefGHI...Verify:
grep TELEGRAM_BOT_TOKEN .env4
Запустить сервисы
Поднять все Docker контейнеры
# Первый запуск (скачает образы)docker-compose up -d# Следить за логамиdocker-compose logs -f botVerify:
docker-compose ps5
Проверить статус
Убедиться что все сервисы работают
# Проверить здоровье ботаcurl http://localhost:28000/health# Проверить БДdocker-compose exec postgres psql -U clowbot -c 'SELECT 1'Verify:
Все сервисы status=running6
Протестировать в Telegram
Отправить первые команды боту
# Откройте ваш бот в Telegram# Отправьте /start# Должен прийти приветственный ответVerify:
Бот отвечает на /startСервисы и порты
bot
28000
Python/FastAPI бот
postgres
25432
PostgreSQL БД
n8n
25678
Workflow automation
ollama
21435
LLM inference
prometheus
29090
Metrics
Health Checks
| Service | Command | Expected |
|---|---|---|
| Bot Health | curl http://localhost:28000/health | {"status":"ok"} |
| Database | docker-compose exec postgres pg_isready | accepting connections |
| Ollama | curl http://localhost:21435/api/tags | {"models": [...]} |
| n8n | curl http://localhost:25678/healthz | ok |
| Prometheus | curl http://localhost:29090/-/healthy | Prometheus is Healthy |
Первые команды в Telegram
/startЗапуск и приветствие
Привет! Я clowbot...
/helpСписок всех команд
Доступные команды:
/start
/help
...
/statusСтатус системы
Bot: OK
DB: OK
Ollama: OK
/settingsНастройки пользователя
Model: phi4-mini
Language: ru
/promodeВключить Pro Mode
Pro Mode активирован
/web <query>Web поиск
Результаты поиска...
Конфигурация (.env)
| Key | Required | Default | Description |
|---|---|---|---|
TELEGRAM_BOT_TOKEN | required | - | Токен от @BotFather |
DEFAULT_MODEL | optional | phi4-mini | Модель LLM по умолчанию |
OLLAMA_MODE | optional | docker | Режим Ollama: docker или host |
POSTGRES_PORT | optional | 25432 | Порт PostgreSQL |
N8N_PORT | optional | 25678 | Порт n8n |
BOT_PORT | optional | 28000 | Порт бота |
TZ | optional | Asia/Bangkok | Часовой пояс |
Типичные проблемы
| Проблема | Решение | Severity |
|---|---|---|
port already in use | Изменить порт в .env (POSTGRES_PORT, N8N_PORT, BOT_PORT) | medium |
ollama connection refused | Подождать 30 сек, Ollama стартует долго. Проверить ollama logs. | low |
bot not responding | Проверить TELEGRAM_BOT_TOKEN в .env. Перезапустить: docker-compose restart bot | high |
migration failed | Проверить логи: docker-compose logs postgres. Удалить volume: docker-compose down -v | high |
out of memory | Увеличить Docker memory limit в Docker Desktop Settings | medium |
permission denied | На Linux: sudo chown -R $USER:$USER . | low |
Полезные команды
Docker:
# Статус сервисов docker-compose ps # Логи docker-compose logs -f bot docker-compose logs --tail=100 postgres # Перезапуск docker-compose restart bot # Полный пересборка docker-compose down && docker-compose up -d --build # Удалить volumes (ВНИМАНИЕ!) docker-compose down -v
Database:
# Подключиться к БД
docker-compose exec postgres psql -U clowbot
# Список таблиц
\dt clowbot.*
# Размер БД
SELECT pg_size_pretty(pg_database_size('clowbot'));
# Backup
docker-compose exec postgres pg_dump -U clowbot clowbot > backup.sql