videoDownloadTGbot/instagram-downloader
2025-12-25 00:35:48 +03:00
..
app.py add admin bot 2025-12-20 22:17:20 +03:00
docker-compose.yml add admin bot 2025-12-20 22:17:20 +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                       # Этот файл