Микросервис помогает работе основного сайта, сделанного на CMS и обслуживает запросы на скачивание архивов с файлами. Микросервис не умеет ничего, кроме упаковки файлов в архив. Закачиваются файлы на сервер через FTP или админку CMS.
Создание архива происходит на лету по запросу от пользователя. Архив не сохраняется на диске, вместо этого по мере упаковки он сразу отправляется пользователю на скачивание.
От неавторизованного доступа архив защищен хешом в адресе ссылки на скачивание, например: http://host.ru/archive/3bea29ccabbbf64bdebcc055319c5745/
. Хеш задается названием каталога с файлами, выглядит структура каталога так:
- test_photos
- 3bea29ccabbbf64bdebcc055319c5745
- 1.jpg
- 2.jpg
- 3.jpg
- af1ad8c76fda2e48ea9aed2937e972ea
- 1.jpg
- 2.jpg
git clone https://github.com/EshiNanase/async-download.git
https://github.com/docker/cli
В каталоге создать /app создать директорию test_photos, в которой будут храниться папки, которые необходимо архивировать
docker-compose up --build
http://127.0.0.1:8080/
Возможны следующие аргументы
-d - включить задержку при скачиваниии
-l - включить логирование в консоль
-f FOLDER_NAME - указать имя директории с папками, если вы ее назвали не test_photos