Files
mainsail-docker/api/Dockerfile
2021-12-09 09:59:52 +01:00

47 lines
1.3 KiB
Docker

FROM debian:buster-slim as base
LABEL org.opencontainers.image.description="api stack for mainsail with moonraker and klipper as a service"
RUN addgroup --gid 1000 mainsail
RUN useradd -rm -d /home/mainsail -u 1000 -g 1000 mainsail
RUN apt-get update
RUN apt-get install -y sudo wget cmake swig git supervisor python-numpy python-matplotlib
RUN echo "mainsail ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
RUN usermod -aG dialout,tty,sudo mainsail
COPY supervisor/supervisord.conf /etc/supervisor/supervisord.conf
COPY start-api /bin/start-api
RUN chmod +x /bin/start-api
FROM base as stack
USER mainsail
WORKDIR /tmp
RUN wget https://github.com/Klipper3d/klipper/raw/master/scripts/install-debian.sh
RUN head -n -5 install-debian.sh > install-debian2.sh
RUN wget https://raw.githubusercontent.com/Arksine/moonraker/master/scripts/install-moonraker.sh
RUN head -n -6 install-moonraker.sh > install-moonraker2.sh
RUN /bin/bash -c "source /tmp/install-debian2.sh && install_packages"
RUN /bin/bash -c "source /tmp/install-moonraker2.sh && install_packages"
FROM stack as cleanup
USER root
RUN apt-get -y autoremove \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
USER mainsail
WORKDIR /home/mainsail
EXPOSE 7125
ENTRYPOINT ["/bin/start-api"]