diff --git a/.config b/.config new file mode 100644 index 0000000..f667967 --- /dev/null +++ b/.config @@ -0,0 +1 @@ +projects/baseimage-alpine-s6-lsio diff --git a/README.md b/README.md index 82adbf7..db4b087 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # image-builder Docker Image-Builder with BuildX +test \ No newline at end of file diff --git a/projects/baseimage-debian-s6-lsio b/projects/baseimage-debian-s6-lsio new file mode 160000 index 0000000..2b58667 --- /dev/null +++ b/projects/baseimage-debian-s6-lsio @@ -0,0 +1 @@ +Subproject commit 2b5866710f05b5bf0b201c7cca1ab5f7c4927633 diff --git a/projects/baseimage-python-3.12-slim-bookworm b/projects/baseimage-python-3.12-slim-bookworm new file mode 160000 index 0000000..d5a76cd --- /dev/null +++ b/projects/baseimage-python-3.12-slim-bookworm @@ -0,0 +1 @@ +Subproject commit d5a76cd98ba66829209e75b1bdb10573fbe6fbed diff --git a/projects/mac-audio/.config b/projects/mac-audio/.config new file mode 100644 index 0000000..56d7456 --- /dev/null +++ b/projects/mac-audio/.config @@ -0,0 +1,9 @@ +mac-audio +hub.pi-farm.home64.de +0 +1 +linux/amd64 +yes +no +no +no \ No newline at end of file diff --git a/projects/mac-audio/Dockerfile b/projects/mac-audio/Dockerfile new file mode 100644 index 0000000..3911d15 --- /dev/null +++ b/projects/mac-audio/Dockerfile @@ -0,0 +1,22 @@ +# Basis-Image verwenden +FROM debian:latest + +# Paketlisten aktualisieren und notwendige Pakete installieren +RUN apt-get update && \ + apt-get install -y --no-install-recommends pulseaudio-utils alsa-utils git python3-venv && \ + apt-get clean && \ + mkdir /data && \ + git clone https://github.com/rhasspy/wyoming-satellite.git && \ + cd wyoming-satellite/ && \ + python3 -m venv .venv && \ + .venv/bin/pip3 install --upgrade pip && \ + .venv/bin/pip3 install --upgrade wheel setuptools && \ + .venv/bin/pip3 install -f 'https://synesthesiam.github.io/prebuilt-apps/' -r requirements.txt -r requirements_audio_enhancement.txt -r requirements_vad.txt + +# PulseAudio-Konfiguration im Container vorbereiten +# Hier wird die Umgebung für PulseAudio konfiguriert +ENV PULSE_SERVER=host.docker.internal + +# Container-Eintragspunkt: Wechsel zur Bash für eine interaktive Sitzung +CMD ["/bin/bash"] + diff --git a/projects/mac-audio/docker-compose.yml b/projects/mac-audio/docker-compose.yml new file mode 100644 index 0000000..39d91d7 --- /dev/null +++ b/projects/mac-audio/docker-compose.yml @@ -0,0 +1,12 @@ +version: '3' +services: + debian_audio: + image: hub.pi-farm.home64.de/mac-audio:0.1 +# build: . + container_name: debian_audio_container + environment: + - PULSE_SERVER=host.docker.internal # Verweist auf den PulseAudio-Server des Hosts + volumes: + - /Users/meik/docker/wyoming-satellite/data:/data # Bindet das Host-Verzeichnis ./data an das Container-Verzeichnis /data + command: tail -f /dev/null + #command: /wyoming-satellite/script/run --name 'my satellite' --uri 'tcp://0.0.0.0:10700' --mic-command 'parecord --device=Channel_1 -r 16000' --snd-command 'paplay -r 22050 -c 1 -f S16_LE -t raw' \ No newline at end of file diff --git a/projects/python3/.config b/projects/python3/.config new file mode 100644 index 0000000..4a779bc --- /dev/null +++ b/projects/python3/.config @@ -0,0 +1,9 @@ +python3 +REPOSITORY +VERSION +SUBVERSION +ARCH +PUSH +INCREASE +LATEST +BUILDCACHE diff --git a/projects/test999/.config b/projects/test999/.config new file mode 100644 index 0000000..cbeddce --- /dev/null +++ b/projects/test999/.config @@ -0,0 +1,9 @@ +test999 +REPOSITORY +VERSION +SUBVERSION +ARCH +PUSH +INCREASE +LATEST +BUILDCACHE \ No newline at end of file diff --git a/projects/widefrog/.config b/projects/widefrog/.config new file mode 100644 index 0000000..9d4dfc8 --- /dev/null +++ b/projects/widefrog/.config @@ -0,0 +1,9 @@ +widefrog +hub.pi-farm.home64.de +0 +63 +linux/amd64,linux/arm64 +yes +no +yes +yes \ No newline at end of file diff --git a/projects/widefrog/.vscode/settings.json b/projects/widefrog/.vscode/settings.json new file mode 100755 index 0000000..e308575 --- /dev/null +++ b/projects/widefrog/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "DockerRun.DisableDockerrc": true +} \ No newline at end of file diff --git a/projects/widefrog/Dockerfile b/projects/widefrog/Dockerfile new file mode 100644 index 0000000..f672892 --- /dev/null +++ b/projects/widefrog/Dockerfile @@ -0,0 +1,20 @@ +FROM python:3.12-slim-bookworm + +WORKDIR /build +COPY scripts/* /build/ +RUN pip install --upgrade pip && \ + chmod +x entrypoint.sh && bash ./install.sh && \ + apt-get -y autoremove && \ + apt-get clean && \ + rm -rf \ + /tmp/* \ + /var/lib/apt/lists/* \ + /var/tmp/* \ + /var/log/* \ + /usr/share/man +VOLUME /build/media +VOLUME /build/app_files +ENTRYPOINT ["python", "/build/widefrog.py"] +##ENTRYPOINT [ "tail -f /dev/null" ] +##CMD [ "tail -f /dev/null" ] +## && tail -f /dev/null"] \ No newline at end of file diff --git a/projects/widefrog/README b/projects/widefrog/README new file mode 100644 index 0000000..ffe6a50 --- /dev/null +++ b/projects/widefrog/README @@ -0,0 +1,38 @@ +docker buildx build --load --platform=linux/arm64 --platform=linux/amd64 -t hub.pi-farm.home64.de/widefrog:0.63 -t hub.pi-farm.home64.de/widefrog:latest -f projects/widefrog/Dockerfile . + +1. docker-compose.yml: +--------------------------------------------------------------- +version: "3.8" +services: + widefrog: + volumes: + - /path/for/your/downloaded/videos/:/build/media + - /path/for/your/config:/build/app_files + container_name: widefrog + entrypoint: ["/bin/bash"] + image: hub.pi-farm.home64.de/widefrog:latest +--------------------------------------------------------------- +2. run the container with following command: + +docker compose run --rm widefrog + +3. after container start, run widefrog: +3.1: only on first container start: +python widefrog.py && chown -R 1000:1000 . +to create app_files, edit the config.json for your needs +3.2 +python widefrog.py + +4. after downloading type following command: + +chown -R 1000:1000 . && exit + + + +--root-user-action + +apt-get install -y `apt-cache depends openssh-client | awk '/Depends:/{print$2}'` + apt-get download openssh-client + dpkg --unpack openssh-client*.deb + rm /var/lib/dpkg/info/openssh-client.postinst -f + dpkg --configure openssh-client \ No newline at end of file diff --git a/projects/widefrog/docker-compose.yml b/projects/widefrog/docker-compose.yml new file mode 100755 index 0000000..459031f --- /dev/null +++ b/projects/widefrog/docker-compose.yml @@ -0,0 +1,9 @@ +version: "3.8" +services: + widefrog: + volumes: + - /home/pi/widefrog-docker/data:/build/media + - /home/pi/widefrog-docker/config:/build/app_files + container_name: widefrog + entrypoint: ["/bin/bash"] + image: hub.pi-farm.home64.de/widefrog:0.63 \ No newline at end of file diff --git a/projects/widefrog/scripts/entrypoint.sh b/projects/widefrog/scripts/entrypoint.sh new file mode 100755 index 0000000..d707709 --- /dev/null +++ b/projects/widefrog/scripts/entrypoint.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +folder="/app" + +echo "---------------------------------------" +echo "Checking WideFrog installation..." +echo "" +if [ -z "$(ls -A "$folder")" ]; then + echo "Installing WideFrog..." + echo "" + cp -r /build/* /app/ +else + echo "WideFrog already installed..." +fi +echo "" +echo "WideFrog-container start complete..." +echo "" +echo "---------------------------------------" +echo "" +echo "" \ No newline at end of file diff --git a/projects/widefrog/scripts/install.sh b/projects/widefrog/scripts/install.sh new file mode 100644 index 0000000..9ab6656 --- /dev/null +++ b/projects/widefrog/scripts/install.sh @@ -0,0 +1,81 @@ +#!/bin/bash +apt-get update && apt-get install -y \ + wget \ + unzip \ + nano \ + git \ + ffmpeg + +wget -O widefrog.zip https://files.videohelp.com/u/308780/widefrog_v2_9_0_python_source_code.zip && \ + unzip widefrog.zip && \ + rm widefrog.zip && \ + grep -v '^#' requirements.txt | xargs -n 1 pip install && \ + pip install urllib3 --upgrade && \ + playwright install && \ + chmod +x terminal/* + +arch=$(uname -m) && \ +if [[ "$arch" == "x86_64" ]]; then + wget https://github.com/nilaoda/N_m3u8DL-RE/releases/download/v0.2.1-beta/N_m3u8DL-RE_Beta_linux-x64_20240828.tar.gz && \ + tar -xzf N_m3u8DL-RE_Beta_linux-x64_20240828.tar.gz && \ + cp ./N_m3u8DL-RE_Beta_linux-x64/N_m3u8DL-RE . && \ + chmod +x N_m3u8DL-RE && \ + rm -r N_m3u8DL-RE_Beta_linux-x64 && \ + rm N_m3u8DL-RE_Beta_linux-x64_20240828.tar.gz + wget https://github.com/shaka-project/shaka-packager/releases/download/v3.3.0/packager-linux-x64 && \ + mv packager-linux-x64 shaka-packager && \ + chmod +x shaka-packager + wget https://www.bok.net/Bento4/binaries/Bento4-SDK-1-6-0-641.x86_64-unknown-linux.zip && \ + unzip Bento4-SDK-1-6-0-641.x86_64-unknown-linux.zip && \ + mv Bento4-SDK-1-6-0-641.x86_64-unknown-linux/bin/mp4decrypt mp4decrypt && \ + chmod +x mp4decrypt && \ + rm -r Bento4-SDK-1-6-0-641.x86_64-unknown-linux && \ + rm Bento4-SDK-1-6-0-641.x86_64-unknown-linux.zip + apt-get install -y mkvtoolnix + +elif [[ "$arch" == "aarch64" ]]; then + wget https://github.com/nilaoda/N_m3u8DL-RE/releases/download/v0.2.1-beta/N_m3u8DL-RE_Beta_linux-arm64_20240828.tar.gz && \ + tar -xzf N_m3u8DL-RE_Beta_linux-arm64_20240828.tar.gz && \ + cp ./N_m3u8DL-RE_Beta_linux-arm64/N_m3u8DL-RE . && \ + chmod +x N_m3u8DL-RE && \ + rm -r N_m3u8DL-RE_Beta_linux-arm64 && \ + rm N_m3u8DL-RE_Beta_linux-arm64_20240828.tar.gz + wget https://github.com/shaka-project/shaka-packager/releases/download/v3.3.0/packager-linux-arm64 && \ + mv packager-linux-arm64 shaka-packager && \ + chmod +x shaka-packager + cd /tmp/ && \ + git clone https://github.com/axiomatic-systems/Bento4.git bento4 && \ + cd bento4 && \ + apt-get install -y \ + ca-certificates \ + make \ + cmake \ + gcc \ + g++ && \ + rm -rf /tmp/bento4/cmakebuild && \ + mkdir -p /tmp/bento4/cmakebuild/arm64-unknown-linux && \ + cd /tmp/bento4/cmakebuild/arm64-unknown-linux && \ + cmake -DCMAKE_BUILD_TYPE=Release ../.. && \ + make -j$(nproc) && \ + cp mp4decrypt /build/ && \ + cd /build && \ + rm -r /tmp/bento4 && \ + apt-get install -y mkvtoolnix +fi + +echo "export PATH=\$PATH:/build" >> /root/.bashrc + +#python widefrog.py + +mkdir /build/media +mkdir /build/app_files + +apt-get purge -y \ + make \ + cmake \ + gcc \ + g++ \ + wget \ + unzip \ + nano \ + git \ No newline at end of file