videoDownloadTGbot/instagram-downloader
2026-01-08 19:05:41 +03:00
..
app.py add admin bot 2025-12-20 22:17:20 +03:00
docker-compose.yml Update .env.example with new admin bot token, modify Docker configuration for Instagram downloader to use host network mode, and enhance YouTube downloader with improved cookie validation and error handling for video downloads. 2026-01-08 19:05:41 +03:00
Dockerfile add admin bot 2025-12-20 22:17:20 +03:00
get_instagram_cookies.sh optimization scripts update coockies 2025-12-20 04:58:52 +03:00
instagram_cookies.txt Implement file deletion after successful video sending and update Instagram cookies 2025-12-25 00:35:48 +03:00
INSTAGRAM_COOKIES_INSTRUCTIONS.md Рефакторинг: микросервисная архитектура 2025-12-11 01:07:04 +03:00
README.md Рефакторинг: микросервисная архитектура 2025-12-11 01:07:04 +03:00
requirements.txt Добавлена система очередей для обработки загрузки видео, улучшена обработка ошибок и добавлены новые текстовые сообщения для пользователей. Обновлены таймауты HTTP-запросов для поддержки больших файлов. Обновлены конфигурации Docker для всех загрузчиков с использованием Gunicorn. 2025-12-12 15:41:46 +03:00
update_instagram_cookies.sh Рефакторинг: микросервисная архитектура 2025-12-11 01:07:04 +03:00

Instagram Downloader Service

Микросервис для скачивания видео с Instagram.

Требования

  • Docker и Docker Compose
  • Файл с cookies Instagram (instagram_cookies.txt в папке instagram-downloader/)

Быстрый старт

1. Настройка cookies

Перед запуском сервиса необходимо получить cookies Instagram. Есть несколько способов:

Способ 1: Через скрипт (рекомендуется)

cd instagram-downloader
./get_instagram_cookies.sh

Скрипт попросит выбрать браузер и автоматически извлечет cookies.

Способ 2: Обновление существующих cookies

cd instagram-downloader
./update_instagram_cookies.sh

Способ 3: Вручную

См. подробные инструкции в INSTAGRAM_COOKIES_INSTRUCTIONS.md

2. Запуск сервиса

Вариант 1: Через корневой docker-compose (рекомендуется)

cd ..  # вернуться в корень проекта
docker compose up -d instagram-downloader

Вариант 2: Отдельно

docker compose up -d

3. Проверка работы

# Проверка здоровья сервиса
curl http://localhost:5556/health

# Должен вернуть: {"status":"ok","service":"instagram-downloader"}

API Endpoints

GET /health

Проверка здоровья сервиса.

Ответ:

{
  "status": "ok",
  "service": "instagram-downloader"
}

POST /download/stream

Скачивание видео с Instagram.

Запрос:

{
  "url": "https://www.instagram.com/p/..."
}

Ответ:

  • Успех: бинарные данные видео (Content-Type: video/mp4)
  • Ошибка: JSON с описанием ошибки

Порты

  • Внешний порт: 5556
  • Внутренний порт контейнера: 5000

Обновление cookies

Cookies Instagram имеют ограниченный срок действия. Рекомендуется обновлять их раз в несколько недель.

Для обновления:

cd instagram-downloader
./update_instagram_cookies.sh

После обновления перезапустите сервис:

docker compose restart instagram-downloader

Troubleshooting

Сервис не может скачать видео

  1. Проверьте наличие файла instagram_cookies.txt в папке instagram-downloader/
  2. Проверьте срок действия cookies (они могут истечь)
  3. Обновите cookies через скрипт update_instagram_cookies.sh
  4. Проверьте логи: docker compose logs instagram-downloader

Cookies истекли

Если видите ошибку "Instagram cookies истекли", выполните:

cd instagram-downloader
./update_instagram_cookies.sh

Затем перезапустите сервис.

Структура файлов

instagram-downloader/
├── app.py                          # Основной код сервиса
├── Dockerfile                      # Образ Docker
├── docker-compose.yml              # Конфигурация для отдельного запуска
├── requirements.txt               # Python зависимости
├── get_instagram_cookies.sh        # Скрипт для получения cookies
├── update_instagram_cookies.sh     # Скрипт для обновления cookies
├── INSTAGRAM_COOKIES_INSTRUCTIONS.md  # Подробные инструкции по cookies
└── README.md                       # Этот файл