slim down moonraker image

This commit is contained in:
Markus Küffner
2021-10-17 00:13:35 +02:00
parent 791487f662
commit 37439e1e57
2 changed files with 20 additions and 15 deletions

View File

@@ -24,6 +24,7 @@ services:
build:
dockerfile: moonraker.Dockerfile
context: .
target: moonraker
container_name: moonraker
restart: unless-stopped
volumes:

View File

@@ -1,11 +1,21 @@
FROM python:3
## Get Code and Build venv
FROM python:3 as build
ARG REPO=https://github.com/Arksine/moonraker
ARG VERSION=master
WORKDIR /opt
## Install Requirements
RUN git clone ${REPO} moonraker \
&& cd moonraker \
&& git checkout ${VERSION}
RUN python -m venv venv \
&& venv/bin/pip install -r moonraker/scripts/moonraker-requirements.txt
## Runtime Image
FROM python:3-slim as moonraker
RUN apt update \
&& apt install -y \
libopenjp2-7 \
@@ -15,27 +25,21 @@ RUN apt update \
libssl-dev \
liblmdb0 \
libsodium-dev \
zlib1g-dev
zlib1g-dev \
&& apt clean
## Download moonraker
RUN git clone ${REPO} moonraker \
&& cd moonraker \
&& git checkout ${VERSION}
WORKDIR /opt
COPY --from=build /opt/moonraker ./moonraker
COPY --from=build /opt/venv ./venv
## Setup Python
RUN pip install -r moonraker/scripts/moonraker-requirements.txt
## Create Direcories
RUN mkdir run cfg gcode db
## User & Permissions
RUN groupadd moonraker --gid 1000 \
&& useradd moonraker --uid 1000 --gid moonraker \
&& usermod moonraker --append --groups dialout \
&& chown -R moonraker:moonraker moonraker run cfg gcode db
&& chown -R moonraker:moonraker /opt/*
## Start Klippy
USER moonraker
ENTRYPOINT ["python"]
ENTRYPOINT ["/opt/venv/bin/python"]
CMD ["moonraker/moonraker/moonraker.py", "-c", "cfg/moonraker.cfg"]