Django/Python Docker Libreoffice Подпроцесс
Я пытаюсь использовать libreoffice в моем Django приложении, чтобы преобразовать docx файл в pdf с помощью подпроцесса python.
Я включил libreoffice в мой dockerfile:
Dockerfile:
FROM python:3.8-alpine
LABEL maintainer="culturetech.com.au"
ENV PYTHONUNBUFFERED 1
COPY ./requirements.txt /requirements.txt
COPY ./behavioursolutiondjango /behavioursolutiondjango
COPY ./scripts /scripts
WORKDIR /behavioursolutiondjango
EXPOSE 8000
RUN python -m venv /py && \
/py/bin/pip install --upgrade pip && \
apk add --update python3-dev \
xmlsec xmlsec-dev \
gcc \
libc-dev \
libreoffice \
libffi-dev && \
apk add --update --no-cache postgresql-client && \
apk add --update --no-cache --virtual .tmp-deps \
build-base postgresql-dev musl-dev linux-headers && \
/py/bin/pip install -r /requirements.txt && \
apk del .tmp-deps && \
adduser --disabled-password --no-create-home app && \
mkdir -p /vol/web/static && \
mkdir -p /vol/web/media && \
chown -R app:app /vol && \
chmod -R 755 /vol && \
chmod -R +x /scripts
ENV PATH="/scripts:/py/bin:$PATH"
USER app
CMD ["run.sh"]
Для выполнения преобразования необходимо выполнить следующее:
subprocess.call(["soffice", "--headless", "--convert-to", "pdf", new_cert.cert.path])
Но я сталкиваюсь со следующей ошибкой:
LibreOffice 7.2 - Fatal Error: The application cannot be started.
User installation could not be completed.
Я потратил часы на это и не могу понять, что я упустил.
Я был бы более чем счастлив использовать что-то другое, кроме Libreoffice, но не могу найти что-то, что будет работать, кроме libreoffice.