chore: remove obsolete per-folder scripts, add cookies-cron reference, update docs
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 1m47s
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 1m47s
- Remove get_cookies.sh (targets a container without yt-dlp, already broken), get_cookies_local.sh, start_all.sh/stop_all.sh — these implement the old per-service-compose startup that now conflicts with the unified root docker-compose.yml. - Add cookies-cron/ — a reference copy of the scripts actually running via cron on the separate browser-equipped machine, with setup requirements and instructions for standing up a new cron host. - Update README.md/ARCHITECTURE.md to describe the current unified docker-compose + CI/CD deploy flow and host-mounted cookies instead of the old per-folder workflow.
This commit is contained in:
parent
b3550f4aaf
commit
772e9fd5b4
12 changed files with 479 additions and 171 deletions
|
|
@ -179,7 +179,10 @@ CREATE TABLE stats (
|
|||
|
||||
**Сервисы загрузчиков:**
|
||||
- `./downloads:/app/downloads` — временные файлы
|
||||
- (Instagram) `./instagram_cookies.txt:/app/instagram_cookies.txt:ro`
|
||||
- (YouTube) `./youtube_cookies.txt:/app/youtube_cookies.txt`
|
||||
- (Instagram) `./instagram_cookies.txt:/app/instagram_cookies.txt`
|
||||
|
||||
Cookies монтируются с хоста (не read-only — внешний крон на отдельной машине обновляет файл по `scp`), а не запекаются в образ — это позволяет обновлять их без пересборки/передеплоя сервиса.
|
||||
|
||||
## Потоки данных
|
||||
|
||||
|
|
@ -201,17 +204,20 @@ User → Telegram → Bot
|
|||
|
||||
## Развертывание
|
||||
|
||||
### Вариант 1: Все на одном хосте
|
||||
### Текущая схема: единый docker-compose + CI/CD
|
||||
|
||||
```bash
|
||||
# Запуск всех сервисов
|
||||
for dir in youtube instagram vk yapfiles tiktok; do
|
||||
cd ${dir}-downloader && docker compose up -d && cd ..
|
||||
done
|
||||
docker compose up -d
|
||||
Все 7 сервисов собираются и запускаются одним `docker-compose.yml` из корня репозитория (build-контексты на подпапки, единый `docker compose up -d --build`). Прод деплоится автоматически Forgejo Actions (`.forgejo/workflows/deploy.yml`) при пуше в `main`:
|
||||
|
||||
```
|
||||
push в main → сборка всех 7 образов → push в Gitea registry
|
||||
→ docker save | ssh | docker load на прод-хост
|
||||
(registry недоступен напрямую с внешнего VPS)
|
||||
→ docker compose up -d --remove-orphans на проде
|
||||
```
|
||||
|
||||
### Вариант 2: Раздельное развертывание
|
||||
На проде используется `docker-compose.prod.yml` (только `image:`, без `build:`).
|
||||
|
||||
### Гипотетический вариант: раздельное развёртывание
|
||||
|
||||
**Хост 1 (с VPN для YouTube/Instagram/TikTok):**
|
||||
- Основной бот
|
||||
|
|
@ -229,7 +235,7 @@ YAPFILES_DOWNLOADER_URL=http://<host2_ip>:5558
|
|||
## Безопасность
|
||||
|
||||
- Токен бота в `.env` (не коммитится)
|
||||
- Cookies Instagram в отдельном файле (не коммитится)
|
||||
- Cookies YouTube/Instagram закоммичены в репозиторий как fallback внутри образа; актуальные версии приходят на хост кроном и монтируются поверх (см. `README.md#cookies-на-проде`)
|
||||
- Сервисы доступны только по указанным URL
|
||||
- Можно добавить API key между сервисами
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue