From 50f2744ef4ec9043f88729e478b775eb0d21d0b2 Mon Sep 17 00:00:00 2001
From: Sam Heinz <54530346+asylumexp@users.noreply.github.com>
Date: Thu, 11 Apr 2024 17:06:43 +1000
Subject: [PATCH] Port PBS to ARM64
fix changedetection font package issue as well
---
README.md | 201 ++++++++++++++---------------
ct/pbs.sh | 123 +++++++++---------
install/changedetection-install.sh | 1 +
install/pbs-install.sh | 13 +-
4 files changed, 168 insertions(+), 170 deletions(-)
diff --git a/README.md b/README.md
index 1f966e70e..4676aafd3 100644
--- a/README.md
+++ b/README.md
@@ -25,112 +25,107 @@ You can get a script from this by using the original website, and modifying the
Any applications not in ported or unsupported need to be tested for whether they could be ported or not.
-
- Currently ported applications
- Status Guide:
- Tested using the application: ✅
- Tested creating the container: ☑️
- View notes: 🔘
- Untested: ⭕
- ☑️ ActualBudget
- ☑️ Adguard
- ☑️ AgentDVR
- ☑️ Apache Cassandra
- ☑️ Alpine Docker
- ⭕ Alpine Grafana
- ⭕ Alpine
- ⭕ Alpine Nextcloud
- ⭕ Alpine Vaultwarden
- ⭕ Alpine Zigbee2mqtt
- ⭕ Apache CouchDB
- ⭕ APT Cacher NG
- ⭕ Audiobookshelf
- ☑️ Autobrr
- ⭕ Bazarr
- ⭕ Blocky
- ⭕ CasaOS
- ☑️🔘 ChangeDetection
- ⭕ Channels
- ⭕ Cloudflared
- ⭕ Commafeed
- ⭕ Cronicle
- ⭕ Dashy
- ⭕ deConz
- ⭕ Deluge
- ☑️ Docker
- ⭕ Dockage
- ⭕ Emby
- ⭕ EMQX
- ⭕ ESPHome
- ⭕ Fhem
- ⭕ FlowiseAI
- ⭕ Frigate
- ⭕ Go2RTC
- ⭕ Gokapi
- ⭕ Gotify
- ⭕ Grafana
- ⭕ Grocy
- ⭕ Heimdall
- ⭕ HiveMQ
- ⭕ Homarr
- ⭕ HomeAssistant Core
- ⭕ HomeAssistant
- ⭕ Homebridge
- ⭕ Homepage
- ⭕ Homer
- ⭕ Hyperhdr
- ⭕ Hyperion
- ⭕ InfluxDB
- ⭕ ioBroker
- ⭕ Jackett
- ⭕ Jellyfin
- ⭕ Jellyseerr
- ⭕ k0s
- ⭕ Kavita
- ⭕ Keycloak
- ⭕ LazyLibrarian
- ⭕ Lidarr
- ⭕ Linkwarden
- ⭕ Mafl
- ⭕ MagicMirror
- ⭕ MariaDB
- ⭕ MediaMTX
- ⭕ Medusa
- ⭕ MeshCentral
- ⭕ Motioneye
- ⭕ MQTT
- ⭕ n8n
- ⭕ Navidrome
- ⭕ NextCloudPi
- ⭕ Nginx Proxy Manager
- ⭕ NocoDB
- ⭕ Node-Red
- ⭕ ntfy
- ⭕ OctoPrint
- ⭕ Omada
- ⭕ Ombi
- ⭕ OMV
- ⭕ openHAB
- ⭕ OpenObserve
- ⭕ Overseerr
- ⭕ Owncast
- ⭕ Prowlarr
- ✅ Radarr
- ✅ Sonarr
-
+## Compatibility Guide
+| Icon | Description |
+|---|---|
+| ✅ | The install script has been tested with creating a container and using the application. |
+| ☑️ | The install script has been tested to the extent of creating a container. |
+| ⭕ | Install script is ported, but has not been tested. |
+| ❌ | Unsupported. View *Unsupported Applications* at the bottom |
+| 🔘 | Install script not ported to ARM64. |
-
- App Notes
- ChangeDetection - in my testing I had a font package require manual input for the accepting of a EULA, make sure to enable verbose (changed to be enabled in the default config) to be able to accept it.
-
-
-
- No changes required
- Tailscale
-
+| App | Status | Notes |
+|---|---|---|
+| ActualBudget | ☑️ | - |
+| Adguard | ☑️ | - |
+| AgentDVR | ☑️ | - |
+| Apache Cassandra | ☑️ | - |
+| Alpine Docker | ☑️ | - |
+| Alpine Grafana | ⭕ | - |
+| Alpine | ⭕ | - |
+| Alpine Nextcloud | ⭕ | - |
+| Alpine Vaultwarden | ⭕ | - |
+| Alpine Zigbee2mqtt | ⭕ | - |
+| Apache CouchDB | ⭕ | - |
+| APT Cacher NG | ⭕ | - |
+| Audiobookshelf | ⭕ | - |
+| Autobrr | ☑️ | - |
+| Bazarr | ⭕ | - |
+| Blocky | ⭕ | - |
+| CasaOS | ⭕ | - |
+| ChangeDetection | ☑️ | In my testing I had a font package require manual input for the accepting of a EULA, make sure to enable verbose (changed to be enabled in the default config) to be able to accept it. |
+| Channels | ⭕ | - |
+| Cloudflared | ⭕ | - |
+| Commafeed | ⭕ | - |
+| Cronicle | ⭕ | - |
+| Dashy | ⭕ | - |
+| deConz | ⭕ | - |
+| DaemonSync | ❌ | - |
+| Deluge | ⭕ | - |
+| Docker | ☑️ | - |
+| Dockage | ⭕ | - |
+| Emby | ⭕ | - |
+| EMQX | ⭕ | - |
+| ESPHome | ⭕ | - |
+| Fhem | ⭕ | - |
+| FlowiseAI | ⭕ | - |
+| Frigate | ⭕ | - |
+| Go2RTC | ⭕ | - |
+| Gokapi | ⭕ | - |
+| Gotify | ⭕ | - |
+| Grafana | ⭕ | - |
+| Grocy | ⭕ | - |
+| Heimdall | ⭕ | - |
+| HiveMQ | ⭕ | - |
+| Homarr | ⭕ | - |
+| HomeAssistant Core | ⭕ | - |
+| HomeAssistant | ⭕ | - |
+| Homebridge | ⭕ | - |
+| Homepage | ⭕ | - |
+| Homer | ⭕ | - |
+| Hyperhdr | ⭕ | - |
+| Hyperion | ⭕ | - |
+| InfluxDB | ⭕ | - |
+| ioBroker | ⭕ | - |
+| Jackett | ⭕ | - |
+| Jellyfin | ⭕ | - |
+| Jellyseerr | ⭕ | - |
+| k0s | ⭕ | - |
+| Kavita | ⭕ | - |
+| Keycloak | ⭕ | - |
+| LazyLibrarian | ⭕ | - |
+| Lidarr | ⭕ | - |
+| Linkwarden | ⭕ | - |
+| Mafl | ⭕ | - |
+| MagicMirror | ⭕ | - |
+| MariaDB | ⭕ | - |
+| MediaMTX | ⭕ | - |
+| Medusa | ⭕ | - |
+| MeshCentral | ⭕ | - |
+| Motioneye | ⭕ | - |
+| MQTT | ⭕ | - |
+| n8n | ⭕ | - |
+| Navidrome | ⭕ | - |
+| NextCloudPi | ⭕ | - |
+| Nginx Proxy Manager | ⭕ | - |
+| NocoDB | ⭕ | - |
+| Node-Red | ⭕ | - |
+| ntfy | ⭕ | - |
+| OctoPrint | ⭕ | - |
+| Omada | ⭕ | - |
+| Ombi | ⭕ | - |
+| OMV | ⭕ | - |
+| openHAB | ⭕ | - |
+| OpenObserve | ⭕ | - |
+| Overseerr | ⭕ | - |
+| Owncast | ⭕ | - |
+| PBS | ☑️ | Proxmox Backup Server |
+| Prowlarr | ⭕ | - |
+| Radarr | ✅ | - |
+| Sonarr | ✅ | - |
+| Tailscale | ✅ | No changes required |
Unsupported applications
- Proxmox Backup Server - Needs custom image
DaemonSync - built for amd64 only
diff --git a/ct/pbs.sh b/ct/pbs.sh
index 668c09864..dd67bffe4 100644
--- a/ct/pbs.sh
+++ b/ct/pbs.sh
@@ -1,73 +1,72 @@
#!/usr/bin/env bash
-# source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
+source <(curl -s https://raw.githubusercontent.com/asylumexp/Proxmox/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
-echo "Currently unsupported."
-# function header_info {
-# clear
-# cat <<"EOF"
-# ____ ____ __ _____
-# / __ \_________ _ ______ ___ ____ _ __ / __ )____ ______/ /____ ______ / ___/___ ______ _____ _____
-# / /_/ / ___/ __ \| |/_/ __ `__ \/ __ \| |/_/ / __ / __ `/ ___/ //_/ / / / __ \ \__ \/ _ \/ ___/ | / / _ \/ ___/
-# / ____/ / / /_/ /> / / / / / /_/ /> < / /_/ / /_/ / /__/ ,< / /_/ / /_/ / ___/ / __/ / | |/ / __/ /
-# /_/ /_/ \____/_/|_/_/ /_/ /_/\____/_/|_| /_____/\__,_/\___/_/|_|\__,_/ .___/ /____/\___/_/ |___/\___/_/
-# /_/
-# EOF
-# }
-# header_info
-# echo -e "Loading..."
-# APP="PBS"
-# var_disk="10"
-# var_cpu="2"
-# var_ram="2048"
-# var_os="debian"
-# var_version="12"
-# variables
-# color
-# catch_errors
+function header_info {
+clear
+cat <<"EOF"
+ ____ ____ __ _____
+ / __ \_________ _ ______ ___ ____ _ __ / __ )____ ______/ /____ ______ / ___/___ ______ _____ _____
+ / /_/ / ___/ __ \| |/_/ __ `__ \/ __ \| |/_/ / __ / __ `/ ___/ //_/ / / / __ \ \__ \/ _ \/ ___/ | / / _ \/ ___/
+ / ____/ / / /_/ /> / / / / / /_/ /> < / /_/ / /_/ / /__/ ,< / /_/ / /_/ / ___/ / __/ / | |/ / __/ /
+/_/ /_/ \____/_/|_/_/ /_/ /_/\____/_/|_| /_____/\__,_/\___/_/|_|\__,_/ .___/ /____/\___/_/ |___/\___/_/
+ /_/
+EOF
+}
+header_info
+echo -e "Loading..."
+APP="PBS"
+var_disk="10"
+var_cpu="2"
+var_ram="2048"
+var_os="debian"
+var_version="12"
+variables
+color
+catch_errors
-# function default_settings() {
-# CT_TYPE="1"
-# PW=""
-# CT_ID=$NEXTID
-# HN=$NSAPP
-# DISK_SIZE="$var_disk"
-# CORE_COUNT="$var_cpu"
-# RAM_SIZE="$var_ram"
-# BRG="vmbr0"
-# NET="dhcp"
-# GATE=""
-# APT_CACHER=""
-# APT_CACHER_IP=""
-# DISABLEIP6="no"
-# MTU=""
-# SD=""
-# NS=""
-# MAC=""
-# VLAN=""
-# SSH="no"
-# VERB="no"
-# echo_default
-# }
+function default_settings() {
+ CT_TYPE="1"
+ PW=""
+ CT_ID=$NEXTID
+ HN=$NSAPP
+ DISK_SIZE="$var_disk"
+ CORE_COUNT="$var_cpu"
+ RAM_SIZE="$var_ram"
+ BRG="vmbr0"
+ NET="dhcp"
+ GATE=""
+ APT_CACHER=""
+ APT_CACHER_IP=""
+ DISABLEIP6="no"
+ MTU=""
+ SD=""
+ NS=""
+ MAC=""
+ VLAN=""
+ SSH="no"
+ VERB="no"
+ echo_default
+}
-# function update_script() {
-# header_info
-# if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
-# msg_info "Updating $APP LXC"
-# apt-get update &>/dev/null
-# apt-get -y upgrade &>/dev/null
-# msg_ok "Updated $APP LXC"
-# exit
-# }
+function update_script() {
+header_info
+if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
+msg_info "Updating $APP LXC"
+apt-get update &>/dev/null
+apt-get -y upgrade &>/dev/null
+msg_ok "Updated $APP LXC"
+exit
+}
-# start
-# build_container
-# description
+start
+build_container
+description
-# msg_ok "Completed Successfully!\n"
-# echo -e "${APP} should be reachable by going to the following URL.
-# ${BL}http://${IP}:8007${CL} \n"
+msg_ok "Completed Successfully!\n"
+echo -e "${APP} should be reachable by going to the following URL.
+ ${BL}http://${IP}:8007${CL} \n"
diff --git a/install/changedetection-install.sh b/install/changedetection-install.sh
index 18fb6631c..cf4df49dd 100644
--- a/install/changedetection-install.sh
+++ b/install/changedetection-install.sh
@@ -81,6 +81,7 @@ $STD npm prune production --prefix /opt/browserless
msg_ok "Installed Browserless & Playwright"
msg_info "Installing Font Packages"
+export DEBIAN_FRONTEND=noninteractive
$STD apt-get install -y \
fontconfig \
libfontconfig1 \
diff --git a/install/pbs-install.sh b/install/pbs-install.sh
index 992033913..6336aa5f3 100644
--- a/install/pbs-install.sh
+++ b/install/pbs-install.sh
@@ -17,15 +17,18 @@ msg_info "Installing Dependencies"
$STD apt-get install -y curl
$STD apt-get install -y sudo
$STD apt-get install -y mc
+$STD apt-get install -y git
+$STD apt-get install -y wget
+$STD apt-get install -y dpkg-dev
msg_ok "Installed Dependencies"
msg_info "Installing Proxmox Backup Server"
-wget -q https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
-cat <>/etc/apt/sources.list
-deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription
-EOF
$STD apt-get update
-$STD apt-get install -y proxmox-backup-server
+export DEBIAN_FRONTEND=noninteractive
+git clone https://github.com/wofferl/proxmox-backup-arm64
+cd ./proxmox-backup-arm64
+./build.sh download
+apt install -y -f ./packages/*
msg_ok "Installed Proxmox Backup Server"
motd_ssh