Конвертация производится с посощью LibreOffice в докер контейнере, задание на конвертацию отправляется в RabbitMQ, далее контейнер с LibreOffice забирает задание и запускает процесс конвертации
- PHP cкрипт отправки задания в RabbitMQ, для коробочной версии может распологаться в директории сайта
- Контейнер конвертации с LibreOffice
Для работы сервисе необходим менеджер очередей RabbitMQ
Процесс конвертации состоит из нескольких этапов
- Забор файла для конвертации, адрес должен быть доступен контейнеру
- Конвертация в выбранные форматы
- Выгрузка обратно а Bitrix24
docker-compose.yml
version: '3'
services:
FileTransformer:
restart: unless-stopped
image: alexstar/filetransformer:
container_name: FileTransformer
environment:
- DEBUG=1
- AMQP_DEBUG=0
- RABBITMQ_HOST=rabbit
- RABBITMQ_PORT=5672
- RABBITMQ_USER=guest
- RABBITMQ_PASS=guest
- QUEUE=documentgenerator_create
volumes:
- ./app:/app
rabbit:
image: 'rabbitmq:3.6-management-alpine'
ports:
- '5672:5672'
- '15672:15672'
restart: unless-stopped
Apache License 2.0