FROM python:3-alpine

# Based on the work of Jonathan Boeckel <jonathanboeckel1996@gmail.com>
# https://gitlab.com/Joniator/docker-maloja
# https://github.com/Joniator

ARG MALOJA_RELEASE
WORKDIR /usr/src/app

# Copy needed information
COPY ./install ./install

RUN \
    # Build dependencies (This will pipe all packages from the file)
    sed 's/#.*//' ./install/dependencies_build.txt  | xargs apk add --no-cache --virtual .build-deps && \
    # Runtime dependencies (Same)
    sed 's/#.*//' ./install/dependencies_run.txt  | xargs apk add --no-cache && \


    # PyPI install
    pip3 install malojaserver==$MALOJA_RELEASE && \
    # Remove build dependencies
    apk del .build-deps

# expected behavior for a default setup is for maloja to "just work"
ENV MALOJA_SKIP_SETUP=yes
ENV MAGICK_HOME=/usr

EXPOSE 42010
# use exec form for better signal handling https://docs.docker.com/engine/reference/builder/#entrypoint
ENTRYPOINT ["maloja", "run"]
