Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/guysoft/OctoPi.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuy Sheffer <guysoft@gmail.com>2022-07-15 13:48:51 +0300
committerGuy Sheffer <guysoft@gmail.com>2022-07-15 13:48:51 +0300
commit7d57995e41fa2f1bb5e637cb7431578c69650397 (patch)
tree0e16da96e269a9fd8273da3344897b1d7213ce93
parent9c07cd0171b38dd04be12060a7e876c024055aed (diff)
Add raspios_arm64 variant #785
-rwxr-xr-xsrc/variants/rpios_arm64/config7
-rw-r--r--src/variants/rpios_arm64/filesystem/root/etc/haproxy/haproxy.cfg49
-rw-r--r--src/variants/rpios_arm64/filesystem/root/etc/systemd/system/webcamd.service15
-rw-r--r--src/variants/rpios_arm64/post_chroot_script17
4 files changed, 88 insertions, 0 deletions
diff --git a/src/variants/rpios_arm64/config b/src/variants/rpios_arm64/config
new file mode 100755
index 0000000..bbc234f
--- /dev/null
+++ b/src/variants/rpios_arm64/config
@@ -0,0 +1,7 @@
+export BASE_ARCH=aarch64
+export BASE_DISTRO=raspios64
+export BASE_IMAGE_PATH=${DIST_PATH}/image-rpios_arm64
+# export BASE_ZIP_IMG=`ls -t $BASE_IMAGE_PATH/*-{ubuntu}-*-arm64-*.xz | head -n 1`
+export BASE_IGNORE_VARIANT_NAME=yes
+export BASE_USER=pi
+export BASE_USER_PASSWORD=raspberry
diff --git a/src/variants/rpios_arm64/filesystem/root/etc/haproxy/haproxy.cfg b/src/variants/rpios_arm64/filesystem/root/etc/haproxy/haproxy.cfg
new file mode 100644
index 0000000..8ef4d16
--- /dev/null
+++ b/src/variants/rpios_arm64/filesystem/root/etc/haproxy/haproxy.cfg
@@ -0,0 +1,49 @@
+global
+ maxconn 4096
+ user haproxy
+ group haproxy
+ log /dev/log local1 debug
+ tune.ssl.default-dh-param 2048
+
+defaults
+ log global
+ mode http
+ compression algo gzip
+ option httplog
+ option dontlognull
+ retries 3
+ option redispatch
+ option http-server-close
+ option forwardfor
+ maxconn 2000
+ timeout connect 5s
+ timeout client 15min
+ timeout server 15min
+
+frontend public
+ bind :::80 v4v6
+ bind :::443 v4v6 ssl crt /etc/ssl/snakeoil.pem
+ option forwardfor except 127.0.0.1
+ use_backend webcam if { path_beg /webcam/ }
+ use_backend webcam_hls if { path_beg /hls/ }
+ use_backend webcam_hls if { path_beg /jpeg/ }
+ default_backend octoprint
+
+backend octoprint
+ acl needs_scheme req.hdr_cnt(X-Scheme) eq 0
+
+ http-request replace-path ^([^\ :]*)\ /(.*) \1\ /\2
+ http-request add-header X-Scheme https if needs_scheme { ssl_fc }
+ http-request add-header X-Scheme http if needs_scheme !{ ssl_fc }
+ option forwardfor
+ server octoprint1 127.0.0.1:5000
+ errorfile 503 /etc/haproxy/errors/503-no-octoprint.http
+
+backend webcam
+ http-request replace-path /webcam/(.*) /\1
+ server webcam1 127.0.0.1:8080
+ errorfile 503 /etc/haproxy/errors/503-no-webcam.http
+
+backend webcam_hls
+ server webcam_hls_1 127.0.0.1:28126
+ errorfile 503 /etc/haproxy/errors/503-no-webcam-hls.http
diff --git a/src/variants/rpios_arm64/filesystem/root/etc/systemd/system/webcamd.service b/src/variants/rpios_arm64/filesystem/root/etc/systemd/system/webcamd.service
new file mode 100644
index 0000000..bd5feb5
--- /dev/null
+++ b/src/variants/rpios_arm64/filesystem/root/etc/systemd/system/webcamd.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=the OctoPi webcam daemon with the user specified config
+# ConditionPathExists=/etc/octopi_streamer/mjpeg
+
+[Service]
+WorkingDirectory=/root/bin
+StandardOutput=append:/var/log/webcamd.log
+StandardError=append:/var/log/webcamd.log
+ExecStart=/root/bin/webcamd
+Restart=always
+Type=forking
+RestartSec=1
+
+[Install]
+WantedBy=multi-user.target
diff --git a/src/variants/rpios_arm64/post_chroot_script b/src/variants/rpios_arm64/post_chroot_script
new file mode 100644
index 0000000..918c8bc
--- /dev/null
+++ b/src/variants/rpios_arm64/post_chroot_script
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+set -x
+set -e
+
+export LC_ALL=C
+
+source /common.sh
+install_cleanup_trap
+
+# Unpack the filesystem changes for the variant
+unpack /filesystem/root /
+
+# add-apt-repository ppa:ubuntu-raspi2/ppa -y
+apt-get update
+apt-get -y --force-yes install libraspberrypi-bin rpi.gpio-common
+apt-get clean
+apt-get autoremove -y