- Docker Desktop (Windows/Mac) или Docker + Docker Compose (Linux)
- Порт 5432 свободен (PostgreSQL)
.\setup_db.ps1Скрипт сам:
- Запустит контейнеры (
cluster_db,cluster_api,cluster_client) - Подождёт готовности PostgreSQL
- Зальёт 18 демо-мест в БД
docker-compose up -ddocker exec cluster_db pg_isready -U cluster_user -d clusterdbДолжно вывести: clusterdb:5432 - accepting connections
Таблицы создаются автоматически при старте API (Base.metadata.create_all в main.py).
docker exec cluster_api bash -c "cd /app && PYTHONPATH=/app python scripts/seed_demo_places.py"Должно вывести: Seed completed.
curl http://localhost:8000/placesДолжен вернуть JSON-массив из 18 мест.
Скрипт seed пропускает кластеры, если места с таким place_type уже есть. Чтобы залить заново:
# Очистить таблицы (осторожно!)
docker exec -it cluster_db psql -U cluster_user -d clusterdb -c "
TRUNCATE place_images, places, business_representatives CASCADE;
"
# Запустить seed
docker exec cluster_api bash -c "cd /app && PYTHONPATH=/app python scripts/seed_demo_places.py"Или полностью пересоздать volumes:
docker-compose down -v
docker-compose up -d
# Подождать ~15 сек, затем seed как выше| Параметр | Значение |
|---|---|
| Host | localhost |
| Port | 5432 |
| Database | clusterdb |
| User | cluster_user |
| Password | password |
Строка подключения: postgresql://cluster_user:password@localhost:5432/clusterdb
После seed можно вычислить эмбеддинги (если есть DEEPSEEK_API_KEY):
-
Добавить в
server_app/.env:DEEPSEEK_API_KEY=sk-... -
Перезапустить API и выполнить:
POST http://localhost:8000/places/compute-embeddings