add privisional buildscript; rearrange dockerfiles

This commit is contained in:
Markus Küffner
2021-10-24 11:00:16 +00:00
parent fa01bc7e2f
commit df1bb2b1ea
8 changed files with 28 additions and 1 deletions

51
docker/klipper/Dockerfile Normal file
View 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

View 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

View 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"]

View 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

View 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

View 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"]