mirror of
https://github.com/mainsail-crew/mainsail-docker.git
synced 2026-01-16 04:02:09 +01:00
47 lines
1.3 KiB
Docker
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"] |