Merge Dev to Main (Alpine 1.17 update) #1

Merged
brammp merged 12 commits from dev into main 2023-01-29 15:53:17 +01:00
16 changed files with 151 additions and 85 deletions

View File

@@ -1,6 +1,6 @@
image: image:
distribution: "alpinelinux" distribution: "alpinelinux"
release: "3.16" release: "3.17"
source: source:
downloader: alpinelinux-http downloader: alpinelinux-http
@@ -456,34 +456,34 @@ packages:
#PKGS for nextcloud #PKGS for nextcloud
- packages: - packages:
- php8-pdo_mysql - php81-pdo_mysql
- php8-pecl-imagick - php81-pecl-imagick
- php8-cli - php81-cli
- php8-pecl-apcu - php81-pecl-apcu
- php8-pecl-redis - php81-pecl-redis
- php8-fpm - php81-fpm
- php8-cgi - php81-cgi
- php8-common - php81-common
- php8-mbstring - php81-mbstring
- php8-curl - php81-curl
- php8-gd - php81-gd
- php8-intl - php81-intl
- php8-soap - php81-soap
- php8-xml - php81-xml
- php8-zip - php81-zip
- php8-pear - php81-pear
- php8-session - php81-session
- php8-posix - php81-posix
- php8-pdo - php81-pdo
- php8-dom - php81-dom
- php8-simplexml - php81-simplexml
- php8-xmlreader - php81-xmlreader
- php8-xmlwriter - php81-xmlwriter
- php8-opcache - php81-opcache
- php8-pcntl - php81-pcntl
- php8-fileinfo - php81-fileinfo
- php8-bcmath - php81-bcmath
- php8-gmp - php81-gmp
- libpng - libpng
- zlib - zlib
- imagemagick - imagemagick
@@ -510,7 +510,7 @@ packages:
- python3-dev - python3-dev
- ca-certificates - ca-certificates
- libffi-dev - libffi-dev
- libressl-dev - openssl-dev
- nmap - nmap
- iputils - iputils
- build-base - build-base
@@ -528,12 +528,12 @@ packages:
#PKGS for MailBackup #PKGS for MailBackup
- packages: - packages:
- dovecot - dovecot
- php8-xml - php81-xml
- php8-fpm - php81-fpm
- php8-curl - php81-curl
- php8-dom - php81-dom
- php8-zip - php81-zip
- php8-mbstring - php81-mbstring
- php-openssl - php-openssl
- py3-pip - py3-pip
- sudo - sudo
@@ -571,19 +571,19 @@ packages:
#PKGS for Heimdall #PKGS for Heimdall
- packages: - packages:
- git - git
- php8 - php81
- php8-ctype - php81-ctype
- php8-curl - php81-curl
- php8-pdo_sqlite - php81-pdo_sqlite
- php8-mbstring - php81-mbstring
- php8-json - php81-json
- php8-zip - php81-zip
- php8-xml - php81-xml
- php8-fpm - php81-fpm
- php8-session - php81-session
- php8-openssl - php81-openssl
- php8-tokenizer - php81-tokenizer
- php8-fileinfo - php81-fileinfo
action: install action: install
variants: variants:
- heimdall - heimdall
@@ -639,6 +639,7 @@ actions:
#!/bin/sh #!/bin/sh
#Install pm2 #Install pm2
npm install -g pm2 npm install -g pm2
chown -R root:root /usr/local/lib/node_modules/pm2/node_modules
#Add NodeJS `node` service user #Add NodeJS `node` service user
addgroup node addgroup node
adduser -S -s /bin/ash -h /home/node -D -G node node adduser -S -s /bin/ash -h /home/node -D -G node node

View File

@@ -7,7 +7,7 @@ pipeline {
string defaultValue: '192.168.200.11', description: 'Proxy server for packages, when enabled', name: 'ProxyServer' string defaultValue: '192.168.200.11', description: 'Proxy server for packages, when enabled', name: 'ProxyServer'
booleanParam description: 'will disable use of proxy server', name: 'DisProxy' booleanParam description: 'will disable use of proxy server', name: 'DisProxy'
checkboxParameter(name: 'ImgVariantList', format: 'JSON', displayNodePath: "//Variants/Variant", valueNodePath: "//Variants/Variant", description: 'Select the variant(s) that should be build', checkboxParameter(name: 'ImgVariantList', format: 'JSON', displayNodePath: "//Variants/Variant", valueNodePath: "//Variants/Variant", description: 'Select the variant(s) that should be build',
pipelineSubmitContent: '{"Variants": [{"Variant": "minimal"},{"Variant": "default"},{"Variant": "jenkinsbuilder"},{"Variant": "imgbuilder"},{"Variant": "jenkins"},{"Variant": "mysql"},{"Variant": "pihole"},{"Variant": "collabora"},{"Variant": "jellyfin"},{"Variant": "domoticz"},{"Variant": "omadaV3"},{"Variant": "docker"},{"Variant": "smb"},{"Variant": "tvheadend"},{"Variant": "x2go"},{"Variant": "aptcacherng"},{"Variant": "elkarbackupDEB"},{"Variant": "nfs"},{"Variant": "duplicati"},{"Variant": "fileshelter"}]}') pipelineSubmitContent: '{"Variants": [{"Variant": "minimal"},{"Variant": "default"},{"Variant": "jenkinsbuilder"},{"Variant": "imgbuilder"},{"Variant": "jenkins"},{"Variant": "mysql"},{"Variant": "pihole"},{"Variant": "collabora"},{"Variant": "jellyfin"},{"Variant": "domoticz"},{"Variant": "omadaV3"},{"Variant": "docker"},{"Variant": "smb"},{"Variant": "tvheadend"},{"Variant": "x2go"},{"Variant": "aptcacherng"},{"Variant": "elkarbackupDEB"},{"Variant": "nfs"},{"Variant": "duplicati"},{"Variant": "fileshelter"},{"Variant": "esphome"}]}')
} }
options { options {
skipDefaultCheckout() skipDefaultCheckout()

View File

@@ -1005,6 +1005,13 @@ files:
variants: variants:
- fileshelter - fileshelter
#FileForESPHome
- path: /opt/Setup
generator: copy
source: CT-Files/esphome
variants:
- esphome
packages: packages:
manager: apt manager: apt
update: true update: true
@@ -1053,6 +1060,7 @@ packages:
- nfs - nfs
- duplicati - duplicati
- fileshelter - fileshelter
- esphome
#Minimal pkgs #Minimal pkgs
- packages: - packages:
@@ -1346,6 +1354,19 @@ packages:
variants: variants:
- fileshelter - fileshelter
#esphome pkgs
- packages:
- python3
- python3-venv
- python3-pip
- git
- sudo
- g++
- nano
action: install
variants:
- esphome
repositories: repositories:
- name: sources.list - name: sources.list
url: |- url: |-
@@ -1493,6 +1514,7 @@ actions:
- nfs - nfs
- duplicati - duplicati
- fileshelter - fileshelter
- esphome
#Move App update script for ProxmoxHelper/ProxMoxToolKit, if CT has this script #Move App update script for ProxmoxHelper/ProxMoxToolKit, if CT has this script
- trigger: post-files - trigger: post-files

View File

@@ -0,0 +1,13 @@
[Unit]
Description= ESPHome Dashboard
After=network.target
[Service]
User=esphome
ExecStart=/opt/ESPHome/srv/bin/esphome -q dashboard /opt/ESPHome/data/
Restart=on-failure
RestartSec=5s
Environment="PATH=/usr/local/bin:/usr/bin:/bin:/opt/ESPHome/srv/bin"
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,19 @@
#!/bin/bash
#Install ESPHome
mkdir -p /opt/ESPHome/srv
mkdir -p /opt/ESPHome/data
adduser --group --system --no-create-home --home /opt/ESPHome/data --shell /bin/sh esphome
chown -R esphome:esphome /opt/ESPHome
sudo -u esphome python3 -m venv /opt/ESPHome/srv
sudo -u esphome sh -c '. /opt/ESPHome/srv/bin/activate && pip install --upgrade pip && pip3 install tornado esptool esphome'
#Update script
mv /opt/Setup/Scripts/UpdateESPHome.sh /opt/UpdateESPHome.sh
#CleanUp
rm -rf /build/TMP/usr/lib/python3.9/__pycache__/*
#Setup ESPHome service
mv /opt/Setup/Configs/esphome.service /lib/systemd/system/esphome.service
chmod +x /lib/systemd/system/esphome.service
ln -s /lib/systemd/system/esphome.service /etc/systemd/system/multi-user.target.wants/esphome.service

View File

@@ -0,0 +1,3 @@
#!/bin/sh
# Update script for updating apps with ProxmoxHelper/ProxMoxToolKit
bash /opt/UpdateESPHome.sh

View File

@@ -0,0 +1,4 @@
#!/bin/bash
service esphome stop
sudo -u esphome sh -c '. /opt/ESPHome/srv/bin/activate && pip install --upgrade pip && pip3 install --upgrade tornado esptool esphome'
service esphome start

View File

@@ -37,7 +37,7 @@ http {
} }
location ~ \.php$ { location ~ \.php$ {
include fastcgi_params; include fastcgi_params;
fastcgi_pass unix:/run/php-fpm8/php-fpm.sock; fastcgi_pass unix:/run/php-fpm81/php-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php; fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

View File

@@ -1,7 +1,7 @@
[heimdall] [heimdall]
user = nginx user = nginx
group = nginx group = nginx
listen = /run/php-fpm8/php-fpm.sock listen = /run/php-fpm81/php-fpm.sock
listen.owner = nginx listen.owner = nginx
listen.group = nginx listen.group = nginx
php_admin_value[disable_functions] = exec,passthru,system php_admin_value[disable_functions] = exec,passthru,system
@@ -27,7 +27,7 @@ php_admin_value[max_input_time] = 15
php_admin_value[cgi.fix_pathinfo] = 0 php_admin_value[cgi.fix_pathinfo] = 0
php_admin_value[allow_url_fopen] = 1 php_admin_value[allow_url_fopen] = 1
php_admin_value[file_uploads] = On php_admin_value[file_uploads] = On
php_admin_value[open_basedir] = /opt/heimdall:/run/php-fpm8/php-fpm.sock:/tmp php_admin_value[open_basedir] = /opt/heimdall:/run/php-fpm81/php-fpm.sock:/tmp
php_admin_value[session.use_strict_mode] = 1 php_admin_value[session.use_strict_mode] = 1
php_admin_value[session.cookie_httponly] = 1 php_admin_value[session.cookie_httponly] = 1

View File

@@ -5,9 +5,9 @@ rm -rf /etc/nginx/conf.d
mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf
#Configure Php-Fpm #Configure Php-Fpm
rm -rf /etc/php8/php-fpm.d/* rm -rf /etc/php81/php-fpm.d/*
mv /opt/Setup/Configs/php.conf /etc/php8/php-fpm.d/heimdall.conf mv /opt/Setup/Configs/php.conf /etc/php81/php-fpm.d/heimdall.conf
mv /opt/Setup/Configs/phpTimezone.ini /etc/php8/conf.d/04_date_timezone.ini mv /opt/Setup/Configs/phpTimezone.ini /etc/php81/conf.d/04_date_timezone.ini
#Install Heimdall #Install Heimdall
git clone -b 2.x https://github.com/linuxserver/Heimdall.git /opt/heimdall git clone -b 2.x https://github.com/linuxserver/Heimdall.git /opt/heimdall
@@ -15,4 +15,4 @@ chown -R nginx:nginx /opt/heimdall
#Enable services on boot #Enable services on boot
rc-update add nginx rc-update add nginx
rc-update add php-fpm8 rc-update add php-fpm81

View File

@@ -86,7 +86,7 @@ http {
fastcgi_param HTTPS on; fastcgi_param HTTPS on;
fastcgi_param modHeadersAvailable true; fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true; fastcgi_param front_controller_active true;
fastcgi_pass unix:/run/php-fpm8/php-fpm.sock; fastcgi_pass unix:/run/php-fpm81/php-fpm.sock;
fastcgi_intercept_errors on; fastcgi_intercept_errors on;
fastcgi_request_buffering off; fastcgi_request_buffering off;
} }

View File

@@ -1,7 +1,7 @@
[nextcloud] [nextcloud]
user = nginx user = nginx
group = nginx group = nginx
listen = /run/php-fpm8/php-fpm.sock listen = /run/php-fpm81/php-fpm.sock
listen.owner = nginx listen.owner = nginx
listen.group = nginx listen.group = nginx
php_admin_value[disable_functions] = exec,passthru,system php_admin_value[disable_functions] = exec,passthru,system
@@ -27,7 +27,7 @@ php_admin_value[memory_limit] = 512M
php_admin_value[cgi.fix_pathinfo] = 0 php_admin_value[cgi.fix_pathinfo] = 0
php_admin_value[allow_url_fopen] = Off php_admin_value[allow_url_fopen] = Off
php_admin_value[file_uploads] = on php_admin_value[file_uploads] = on
php_admin_value[open_basedir] = /opt/nextcloud/:/var/nextcloud:/run/php-fpm8/php-fpm.sock:/run/redis/redis.sock:/proc/meminfo:/proc/cpuinfo:/dev/urandom:/tmp php_admin_value[open_basedir] = /opt/nextcloud/:/var/nextcloud:/run/php-fpm81/php-fpm.sock:/run/redis/redis.sock:/proc/meminfo:/proc/cpuinfo:/dev/urandom:/tmp
php_admin_value[session.use_strict_mode] = 1 php_admin_value[session.use_strict_mode] = 1
php_admin_value[session.cookie_httponly] = 1 php_admin_value[session.cookie_httponly] = 1
;HTTPSONLY php_admin_value[session.cookie_samesite] = Strict ;HTTPSONLY php_admin_value[session.cookie_samesite] = Strict

View File

@@ -18,24 +18,24 @@ if [ $ThisScriptConfigured = no ]; then
echo "Script is not configured" echo "Script is not configured"
exit exit
fi fi
sudo -u nginx php8 /opt/nextcloud/occ maintenance:install --database mysql --database-name "$MysqlDatabase" --database-host "$MysqlIP" --database-port "$MysqlPort" --database-user "$MysqlUsername" --database-pass "$MysqlPassword" --database-table-space "" --admin-user "$NextcloudUsername" --admin-pass "$NexcloudPassword" --data-dir /var/nextcloud sudo -u nginx php81 /opt/nextcloud/occ maintenance:install --database mysql --database-name "$MysqlDatabase" --database-host "$MysqlIP" --database-port "$MysqlPort" --database-user "$MysqlUsername" --database-pass "$MysqlPassword" --database-table-space "" --admin-user "$NextcloudUsername" --admin-pass "$NexcloudPassword" --data-dir /var/nextcloud
sed -n -i '/#SetupBlockStart/{:a;N;/#SetupBlockEnd/!ba;N;s/.*//};p' /etc/nginx/nginx.conf sed -n -i '/#SetupBlockStart/{:a;N;/#SetupBlockEnd/!ba;N;s/.*//};p' /etc/nginx/nginx.conf
service nginx reload service nginx reload
sudo -u nginx php8 /opt/nextcloud/occ db:convert-filecache-bigint sudo -u nginx php81 /opt/nextcloud/occ db:convert-filecache-bigint
sudo -u nginx php8 /opt/nextcloud/occ db:add-missing-indices sudo -u nginx php81 /opt/nextcloud/occ db:add-missing-indices
#sudo -u nginx php8 /opt/nextcloud/occ app:disable firstrunwizard #sudo -u nginx php81 /opt/nextcloud/occ app:disable firstrunwizard
sudo -u nginx php8 /opt/nextcloud/occ config:system:set default_language --value=nl sudo -u nginx php81 /opt/nextcloud/occ config:system:set default_language --value=nl
sudo -u nginx php8 /opt/nextcloud/occ config:system:set default_locale --value=nl sudo -u nginx php81 /opt/nextcloud/occ config:system:set default_locale --value=nl
sudo -u nginx php8 /opt/nextcloud/occ config:system:set default_phone_region --value=nl sudo -u nginx php81 /opt/nextcloud/occ config:system:set default_phone_region --value=nl
sudo -u nginx php8 /opt/nextcloud/occ config:system:set skeletondirectory --value= sudo -u nginx php81 /opt/nextcloud/occ config:system:set skeletondirectory --value=
sudo -u nginx php8 /opt/nextcloud/occ config:system:set memcache.local --value='\OC\Memcache\APCu' sudo -u nginx php81 /opt/nextcloud/occ config:system:set memcache.local --value='\OC\Memcache\APCu'
sudo -u nginx php8 /opt/nextcloud/occ config:system:set trashbin_retention_obligation --value=30,30 sudo -u nginx php81 /opt/nextcloud/occ config:system:set trashbin_retention_obligation --value=30,30
sudo -u nginx php8 /opt/nextcloud/occ config:system:set memcache.distributed --value='\OC\Memcache\Redis' sudo -u nginx php81 /opt/nextcloud/occ config:system:set memcache.distributed --value='\OC\Memcache\Redis'
sudo -u nginx php8 /opt/nextcloud/occ config:system:set memcache.locking --value='\OC\Memcache\Redis' sudo -u nginx php81 /opt/nextcloud/occ config:system:set memcache.locking --value='\OC\Memcache\Redis'
sudo -u nginx php8 /opt/nextcloud/occ config:system:set redis host --value=localhost sudo -u nginx php81 /opt/nextcloud/occ config:system:set redis host --value=localhost
sudo -u nginx php8 /opt/nextcloud/occ config:system:set redis port --value=6379 sudo -u nginx php81 /opt/nextcloud/occ config:system:set redis port --value=6379
sudo -u nginx php8 /opt/nextcloud/occ config:system:set trusted_domains 1 --value="$(ifconfig | grep -A 1 'eth0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)" sudo -u nginx php81 /opt/nextcloud/occ config:system:set trusted_domains 1 --value="$(ifconfig | grep -A 1 'eth0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)"
sudo -u nginx php8 /opt/nextcloud/occ config:system:set overwrite.cli.url --value="$NextcloudWebProto://$(ifconfig | grep -A 1 'eth0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)" sudo -u nginx php81 /opt/nextcloud/occ config:system:set overwrite.cli.url --value="$NextcloudWebProto://$(ifconfig | grep -A 1 'eth0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)"
sudo -u nginx php8 /opt/nextcloud/occ config:system:set overwriteprotocol --value="$NextcloudWebProto" sudo -u nginx php81 /opt/nextcloud/occ config:system:set overwriteprotocol --value="$NextcloudWebProto"

View File

@@ -7,12 +7,12 @@ rm -rf /etc/nginx/conf.d
mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf
#Configure Php-Cli #Configure Php-Cli
sed -i '/memory_limit =/c\memory_limit = 512M' /etc/php8/php.ini sed -i '/memory_limit =/c\memory_limit = 512M' /etc/php81/php.ini
#Configure Php-Fpm #Configure Php-Fpm
rm -rf /etc/php8/php-fpm.d/* rm -rf /etc/php81/php-fpm.d/*
mv /opt/Setup/Configs/php.conf /etc/php8/php-fpm.d/nextcloud.conf mv /opt/Setup/Configs/php.conf /etc/php81/php-fpm.d/nextcloud.conf
mv /opt/Setup/Configs/phpTimezone.ini /etc/php8/conf.d/04_date_timezone.ini mv /opt/Setup/Configs/phpTimezone.ini /etc/php81/conf.d/04_date_timezone.ini
#Install Nextcloud #Install Nextcloud
mkdir /opt/nextcloud /var/nextcloud mkdir /opt/nextcloud /var/nextcloud
@@ -20,9 +20,9 @@ tar jxf /opt/Setup/nextcloud.tar.bz2 -C /opt/nextcloud --strip 1
rm -rf /opt/Setup/nextcloud.tar.bz2 rm -rf /opt/Setup/nextcloud.tar.bz2
chown -R nginx:nginx /opt/nextcloud chown -R nginx:nginx /opt/nextcloud
chown -R nginx:nginx /var/nextcloud chown -R nginx:nginx /var/nextcloud
echo "*/5 * * * * php8 -f /opt/nextcloud/cron.php > /dev/null 2>&1" >> /etc/crontabs/nginx echo "*/5 * * * * php81 -f /opt/nextcloud/cron.php > /dev/null 2>&1" >> /etc/crontabs/nginx
echo "apc.enable_cli=1" >> /etc/php8/php.ini echo "apc.enable_cli=1" >> /etc/php81/php.ini
#Enable services on boot #Enable services on boot
rc-update add nginx rc-update add nginx
rc-update add php-fpm8 rc-update add php-fpm81
rc-update add redis rc-update add redis

View File

@@ -1,3 +1,3 @@
#!/bin/sh #!/bin/sh
# Update script for updating apps with ProxmoxHelper/ProxMoxToolKit # Update script for updating apps with ProxmoxHelper/ProxMoxToolKit
sudo -u nginx php8 /opt/nextcloud/updater/updater.phar --no-interaction sudo -u nginx php81 /opt/nextcloud/updater/updater.phar --no-interaction

View File

@@ -36,6 +36,7 @@ This can be done on a privileged Debian CT (make sure to enable the Fuse, Nestin
| nfs | Debian | NFS server | | nfs | Debian | NFS server |
| duplicati | Debian | Duplicati backup software | | duplicati | Debian | Duplicati backup software |
| fileshelter | Debian | FileShelter file shareing software | | fileshelter | Debian | FileShelter file shareing software |
| esphome | Debian | ESPHome software to manage wifi-MCUs|
| gitea | Alpine | Gitea server | | gitea | Alpine | Gitea server |
| nginx | Alpine | Nginx server for reverse-proxy use | | nginx | Alpine | Nginx server for reverse-proxy use |
| ddns | Alpine | DDNS client configured for OVH/OVH-Cloud | | ddns | Alpine | DDNS client configured for OVH/OVH-Cloud |
@@ -265,6 +266,9 @@ lxc.mount.entry: /dev/ttyACM-Zwave dev/ttyACM-Zwave none bind,optional,create=fi
## fileshelter ## fileshelter
* Available on http://`<ip>`:5091 * Available on http://`<ip>`:5091
## esphome
* Available on http://`<ip>`:6052
# Further CT documentation # Further CT documentation
## iscsi ## iscsi