mirror of
https://github.com/mkuf/prind.git
synced 2026-05-07 02:25:51 +02:00
add privisional buildscript; rearrange dockerfiles
This commit is contained in:
51
docker/klipper/Dockerfile
Normal file
51
docker/klipper/Dockerfile
Normal file
@@ -0,0 +1,51 @@
|
||||
## Get Code and Build venv
|
||||
FROM python:2 as build
|
||||
|
||||
ARG REPO=https://github.com/Klipper3d/klipper
|
||||
ARG VERSION=master
|
||||
|
||||
WORKDIR /opt
|
||||
|
||||
RUN git clone ${REPO} klipper \
|
||||
&& cd klipper \
|
||||
&& git checkout ${VERSION}
|
||||
|
||||
RUN virtualenv -p python2 venv \
|
||||
&& venv/bin/pip install -r klipper/scripts/klippy-requirements.txt \
|
||||
&& venv/bin/python -m compileall klipper/klippy \
|
||||
&& venv/bin/python klipper/klippy/chelper/__init__.py
|
||||
|
||||
## Runtime Image
|
||||
FROM python:2-slim as run
|
||||
|
||||
WORKDIR /opt
|
||||
COPY --from=build /opt/klipper ./klipper
|
||||
COPY --from=build /opt/venv ./venv
|
||||
|
||||
RUN mkdir run cfg gcode
|
||||
RUN groupadd klipper --gid 1000 \
|
||||
&& useradd klipper --uid 1000 --gid klipper \
|
||||
&& usermod klipper --append --groups dialout \
|
||||
&& chown -R klipper:klipper /opt/*
|
||||
|
||||
USER klipper
|
||||
VOLUME ["/opt/run", "/opt/cfg", "/opt/gcode"]
|
||||
ENTRYPOINT ["/opt/venv/bin/python", "klipper/klippy/klippy.py"]
|
||||
CMD ["-I", "run/klipper.tty", "-a", "run/klipper.sock", "cfg/printer.cfg"]
|
||||
|
||||
## For building MCU Code
|
||||
FROM ubuntu:18.04 as mcu
|
||||
|
||||
WORKDIR /opt
|
||||
COPY --from=build /opt/klipper ./klipper
|
||||
COPY --from=build /opt/venv ./venv
|
||||
|
||||
RUN apt update \
|
||||
&& apt install -y \
|
||||
virtualenv python-dev libffi-dev build-essential \
|
||||
libncurses-dev \
|
||||
libusb-dev \
|
||||
avrdude gcc-avr binutils-avr avr-libc \
|
||||
stm32flash libnewlib-arm-none-eabi \
|
||||
gcc-arm-none-eabi binutils-arm-none-eabi libusb-1.0 \
|
||||
&& apt clean
|
||||
19
docker/mainsail/Dockerfile
Normal file
19
docker/mainsail/Dockerfile
Normal file
@@ -0,0 +1,19 @@
|
||||
## Get Code and build App
|
||||
FROM node:buster as build
|
||||
|
||||
ARG REPO=https://github.com/meteyou/mainsail
|
||||
ARG VERSION=master
|
||||
|
||||
RUN git clone ${REPO} /opt/mainsail \
|
||||
&& cd /opt/mainsail \
|
||||
&& git checkout ${VERSION}
|
||||
|
||||
WORKDIR /opt/mainsail
|
||||
RUN npm install \
|
||||
&& ./node_modules/.bin/vue-cli-service build
|
||||
|
||||
## Runtime Image
|
||||
FROM nginx:alpine as run
|
||||
|
||||
COPY --from=build /opt/mainsail/dist /usr/share/nginx/html
|
||||
RUN chown -R nginx:nginx /usr/share/nginx/html
|
||||
47
docker/moonraker/Dockerfile
Normal file
47
docker/moonraker/Dockerfile
Normal file
@@ -0,0 +1,47 @@
|
||||
## Get Code and Build venv
|
||||
FROM python:3 as build
|
||||
|
||||
ARG REPO=https://github.com/Arksine/moonraker
|
||||
ARG VERSION=master
|
||||
|
||||
WORKDIR /opt
|
||||
|
||||
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 run
|
||||
|
||||
RUN apt update \
|
||||
&& apt install -y \
|
||||
libopenjp2-7 \
|
||||
python3-libgpiod \
|
||||
curl \
|
||||
libcurl4-openssl-dev \
|
||||
libssl-dev \
|
||||
liblmdb0 \
|
||||
libsodium-dev \
|
||||
zlib1g-dev \
|
||||
&& apt clean
|
||||
|
||||
WORKDIR /opt
|
||||
COPY --from=build /opt/moonraker ./moonraker
|
||||
COPY --from=build /opt/venv ./venv
|
||||
|
||||
RUN mkdir run cfg gcode db
|
||||
RUN groupadd moonraker --gid 1000 \
|
||||
&& useradd moonraker --uid 1000 --gid moonraker \
|
||||
&& usermod moonraker --append --groups dialout \
|
||||
&& chown -R moonraker:moonraker /opt/*
|
||||
|
||||
## Start Moonraker
|
||||
USER moonraker
|
||||
EXPOSE 7125
|
||||
VOLUME ["/opt/run", "/opt/cfg", "/opt/gcode", "/opt/db"]
|
||||
ENTRYPOINT ["/opt/venv/bin/python", "moonraker/moonraker/moonraker.py"]
|
||||
CMD ["-c", "cfg/moonraker.cfg"]
|
||||
|
||||
5
docker/octoprint/Dockerfile
Normal file
5
docker/octoprint/Dockerfile
Normal file
@@ -0,0 +1,5 @@
|
||||
ARG VERSION=minimal
|
||||
FROM octoprint/octoprint:${VERSION}
|
||||
|
||||
COPY plugins.txt /tmp/plugins.txt
|
||||
RUN pip install -r /tmp/plugins.txt
|
||||
10
docker/octoprint/plugins.txt
Normal file
10
docker/octoprint/plugins.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
https://github.com/OllisGit/OctoPrint-PrintJobHistory/releases/latest/download/master.zip
|
||||
https://github.com/eyal0/OctoPrint-PrintTimeGenius/archive/master.zip
|
||||
https://github.com/OllisGit/OctoPrint-FilamentManager/releases/latest/download/master.zip
|
||||
https://github.com/jneilliii/OctoPrint-PrusaSlicerThumbnails/archive/master.zip
|
||||
https://github.com/thijsbekke/OctoPrint-Pushover/archive/master.zip
|
||||
https://github.com/jneilliii/OctoPrint-TabOrder/archive/master.zip
|
||||
https://github.com/1r0b1n0/OctoPrint-Tempsgraph/archive/master.zip
|
||||
https://github.com/jneilliii/OctoPrint-TerminalCommandsExtended/archive/master.zip
|
||||
https://github.com/birkbjo/OctoPrint-Themeify/archive/master.zip
|
||||
https://github.com/BillyBlaze/OctoPrint-TouchUI/archive/master.zip
|
||||
54
docker/ustreamer/Dockerfile
Normal file
54
docker/ustreamer/Dockerfile
Normal file
@@ -0,0 +1,54 @@
|
||||
## Get Code and make
|
||||
FROM debian:buster-slim as build
|
||||
|
||||
ARG REPO=https://github.com/pikvm/ustreamer
|
||||
ARG VERSION=master
|
||||
|
||||
WORKDIR /opt
|
||||
|
||||
RUN apt update \
|
||||
&& apt install -y \
|
||||
ca-certificates \
|
||||
make \
|
||||
gcc \
|
||||
git \
|
||||
libevent-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
libbsd-dev \
|
||||
libgpiod-dev \
|
||||
&& apt clean
|
||||
|
||||
RUN git clone ${REPO} ustreamer \
|
||||
&& cd ustreamer \
|
||||
&& git checkout ${VERSION}
|
||||
|
||||
RUN cd ustreamer \
|
||||
&& make
|
||||
|
||||
## Runtime Image
|
||||
FROM debian:buster-slim as run
|
||||
|
||||
RUN apt update \
|
||||
&& apt install -y \
|
||||
ca-certificates \
|
||||
libevent-2.1 \
|
||||
libevent-pthreads-2.1-6 \
|
||||
libjpeg62-turbo \
|
||||
libbsd0 \
|
||||
libgpiod2 \
|
||||
&& apt clean
|
||||
|
||||
WORKDIR /opt
|
||||
COPY --from=build /opt/ustreamer ./ustreamer
|
||||
|
||||
RUN groupadd ustreamer --gid 1000 \
|
||||
&& useradd ustreamer --uid 1000 --gid ustreamer \
|
||||
&& usermod ustreamer --append --groups video \
|
||||
&& chown -R ustreamer:ustreamer /opt/*
|
||||
|
||||
## Start ustreamer
|
||||
USER ustreamer
|
||||
EXPOSE 8080
|
||||
ENTRYPOINT [ "/opt/ustreamer/ustreamer"]
|
||||
CMD ["--host=0.0.0.0", "--port=8080"]
|
||||
|
||||
Reference in New Issue
Block a user