findFilms/README.md

79 lines
3.1 KiB
Markdown

# findFilms — поиск и скачивание фильмов
Двухстековая архитектура: **searchFilms/** на NL-хосте (Голландия, без блокировок), **app/** на RU-хосте (Россия). Между собой общаются по HTTP через интернет.
---
## Архитектура
```
searchFilms/ (NL, 72.56.91.135) internet app/ (RU, 192.168.8.173)
┌─────────────────────────┐ HTTP ┌─────────────────────────────┐
│ tmdb-proxy (:8001) │ ←──────────→ │ movie-search (:8089) │
│ torapi-search (:8443) │ поиск │ telegram-bot │
│ │ │ qBittorrent (:8080) │
└─────────────────────────┘ └─────────────────────────────┘
```
**Поток данных:**
1. Пользователь ищет фильм → movie-search делает запрос к **tmdb-proxy** (NL)
2. Пользователь ищет торренты → movie-search делает запрос к **torapi-search** (NL)
3. Пользователь добавляет торрент → movie-search отдаёт magnet-ссылку в **qBittorrent** (локально)
NL-хосту **не нужен** доступ к RU — только RU ходит к NL.
---
## Быстрый старт
### 🌍 SearchFilms Stack — на голландском хосте (72.56.91.135)
```bash
cd searchFilms
cp .env.example .env # указать TMDB_API_KEY
docker compose up -d --build
```
Откроет порты:
- `:8001` — TMDB API Proxy
- `:8443` — TorAPI Search
### 🏠 App Stack — на хосте в России
```bash
cd app
cp .env.example .env # указать TELEGRAM_BOT_TOKEN
docker compose up -d --build
```
Откроет:
- `:8089` — веб-интерфейс
- Telegram бот (ждёт команды `/start`)
### Переменные окружения
| Переменная | Где | Назначение |
|---|---|---|
| `NL_HOST` | `app/.env` | IP голландского хоста (по умолч. `72.56.91.135`) |
| `TELEGRAM_BOT_TOKEN` | `app/.env` | Токен бота от @BotFather |
| `TMDB_API_KEY` | `search/.env` | Ключ TMDB API |
| `QBITTORRENT_USERNAME` | `app/.env` | Логин qBittorrent |
| `QBITTORRENT_PASSWORD` | `app/.env` | Пароль qBittorrent |
---
## Структура
```
findFilms/
├── README.md ← этот файл
├── PROJECT_SUMMARY.md ← архитектура
├── searchFilms/ ← NL-стек
│ ├── docker-compose.yml
│ ├── .env.example
│ └── tmdb-proxy/ ← build-зависимость
└── app/ ← RU-стек
├── docker-compose.yml
├── .env.example
├── app.py / telegram_bot.py / templates / Dockerfile / ...
```