# Instagram Downloader Service Микросервис для скачивания видео с Instagram. ## Требования - Docker и Docker Compose - Файл с cookies Instagram (`instagram_cookies.txt` в папке `instagram-downloader/`) ## Быстрый старт ### 1. Настройка cookies Перед запуском сервиса необходимо получить cookies Instagram. Есть несколько способов: #### Способ 1: Через скрипт (рекомендуется) ```bash cd instagram-downloader ./get_instagram_cookies.sh ``` Скрипт попросит выбрать браузер и автоматически извлечет cookies. #### Способ 2: Обновление существующих cookies ```bash cd instagram-downloader ./update_instagram_cookies.sh ``` #### Способ 3: Вручную См. подробные инструкции в `INSTAGRAM_COOKIES_INSTRUCTIONS.md` ### 2. Запуск сервиса #### Вариант 1: Через корневой docker-compose (рекомендуется) ```bash cd .. # вернуться в корень проекта docker compose up -d instagram-downloader ``` #### Вариант 2: Отдельно ```bash docker compose up -d ``` ### 3. Проверка работы ```bash # Проверка здоровья сервиса curl http://localhost:5556/health # Должен вернуть: {"status":"ok","service":"instagram-downloader"} ``` ## API Endpoints ### GET /health Проверка здоровья сервиса. **Ответ:** ```json { "status": "ok", "service": "instagram-downloader" } ``` ### POST /download/stream Скачивание видео с Instagram. **Запрос:** ```json { "url": "https://www.instagram.com/p/..." } ``` **Ответ:** - Успех: бинарные данные видео (Content-Type: video/mp4) - Ошибка: JSON с описанием ошибки ## Порты - Внешний порт: **5556** - Внутренний порт контейнера: **5000** ## Обновление cookies Cookies Instagram имеют ограниченный срок действия. Рекомендуется обновлять их раз в несколько недель. Для обновления: ```bash cd instagram-downloader ./update_instagram_cookies.sh ``` После обновления перезапустите сервис: ```bash 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 истекли", выполните: ```bash 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 # Этот файл ```