FROM python:3-alpine # Based on the work of Jonathan Boeckel # https://gitlab.com/Joniator/docker-maloja # https://github.com/Joniator WORKDIR /usr/src/app # Copy project into dir COPY ./install ./install COPY ./requirements.txt ./requirements.txt # Build dependencies (This will pipe all packages from the file) RUN sed 's/#.*//' ./install/dependencies_build.txt | xargs apk add --no-cache --virtual .build-deps # Runtime dependencies (Same) RUN sed 's/#.*//' ./install/dependencies_run.txt | xargs apk add --no-cache # Python dependencies RUN pip3 install --no-cache-dir -r requirements.txt # Local project install COPY ./maloja ./maloja COPY ./pyproject.toml ./pyproject.toml COPY ./README.md ./README.md COPY ./LICENSE ./LICENSE RUN pip3 install /usr/src/app # Remove build dependencies RUN apk del .build-deps # expected behavior for a default setup is for maloja to "just work" ENV MALOJA_SKIP_SETUP=yes ENV MALOJA_HOST=0.0.0.0 EXPOSE 42010 # use exec form for better signal handling https://docs.docker.com/engine/reference/builder/#entrypoint ENTRYPOINT ["maloja", "run"]