Merge remote-tracking branch 'upstream/main'

This commit is contained in:
Sam Heinz
2025-04-21 22:01:05 +10:00
90 changed files with 1748 additions and 868 deletions
+2 -2
View File
@@ -61,7 +61,7 @@ if [[ "$INSTALL_WGD" =~ ^[Yy]$ ]]; then
msg_ok "Installed additional dependencies for WGDashboard"
msg_info "Installing WGDashboard"
git clone -q https://github.com/donaldzou/WGDashboard.git /etc/wgdashboard
cd /etc/wgdashboard/src || exit
cd /etc/wgdashboard/src
chmod u+x wgd.sh
$STD ./wgd.sh install
msg_ok "Installed WGDashboard"
@@ -79,7 +79,7 @@ depend() {
start() {
ebegin "Starting WGDashboard"
cd /etc/wgdashboard/src/ || exit 1
cd /etc/wgdashboard/src/
./wgd.sh start &
eend $?
}
+1
View File
@@ -137,6 +137,7 @@ cat <<EOF >/etc/systemd/system/browserless.service
Description=browserless service
After=network.target
[Service]
Environment=CONNECTION_TIMEOUT=60000
WorkingDirectory=/opt/browserless
ExecStart=/opt/browserless/scripts/start.sh
SyslogIdentifier=browserless
+7 -13
View File
@@ -47,19 +47,13 @@ msg_ok "Installed Node.js"
msg_info "Setup ${APPLICATION} (Patience)"
temp_file=$(mktemp)
RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -o $temp_file
tar -xzf $temp_file
mv GoMFT-${RELEASE}/ /opt/gomft
curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar -xzf "$temp_file"
mv GoMFT-"${RELEASE}"/ /opt/gomft
cd /opt/gomft
$STD npm ci
$STD node build.js
$STD go mod download
$STD go install github.com/a-h/templ/cmd/templ@latest
$STD go get -u github.com/a-h/templ
$STD $HOME/go/bin/templ generate
export CGO_ENABLED=1
export GOOS=linux
$STD go build -o gomft
$STD "$HOME"/go/bin/templ generate
$STD go build -o gomft main.go
chmod +x /opt/gomft/gomft
JWT_SECRET_KEY=$(openssl rand -base64 24 | tr -d '/+=')
@@ -83,7 +77,7 @@ EMAIL_USERNAME=smtp_username
EMAIL_PASSWORD=smtp_password
EOF
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt
msg_ok "Setup ${APPLICATION}"
msg_info "Creating Service"
@@ -109,7 +103,7 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -f $temp_file
rm -f "$temp_file"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+1 -1
View File
@@ -27,7 +27,7 @@ tar xzf "${RELEASE}".tar.gz
VER=$(curl -fsSL https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
rm -rf "${RELEASE}".tar.gz
mv Heimdall-"${VER}" /opt/Heimdall
cd /opt/Heimdall || exit
cd /opt/Heimdall
cp .env.example .env
$STD php artisan key:generate
msg_ok "Installed Heimdall Dashboard ${RELEASE}"
+6 -6
View File
@@ -34,7 +34,7 @@ chmod +x /usr/bin/yt-dlp
msg_ok "Installed Additional Tools"
msg_info "Installing Meilisearch"
cd /tmp || exit
cd /tmp
curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch-aarch64.deb" -o "meilisearch.deb"
$STD dpkg -i meilisearch.deb
curl -fsSL "https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml" -o "/etc/meilisearch.toml"
@@ -59,21 +59,21 @@ $STD npm install -g corepack@0.31.0
msg_ok "Installed Node.js"
msg_info "Installing karakeep"
cd /opt || exit
cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
unzip -q "v${RELEASE}.zip"
mv karakeep-"${RELEASE}" /opt/karakeep
cd /opt/karakeep || exit
cd /opt/karakeep
corepack enable
export PUPPETEER_SKIP_DOWNLOAD="true"
export NEXT_TELEMETRY_DISABLED=1
export CI="true"
cd /opt/karakeep/apps/web || exit
cd /opt/karakeep/apps/web
$STD pnpm install --frozen-lockfile
$STD pnpm exec next build --experimental-build-mode compile
cp -r /opt/karakeep/apps/web/.next/standalone/apps/web/server.js /opt/karakeep/apps/web
cd /opt/karakeep/apps/workers || exit
cd /opt/karakeep/apps/workers
$STD pnpm install --frozen-lockfile
export DATA_DIR=/opt/karakeep_data
@@ -103,7 +103,7 @@ msg_ok "Installed karakeep"
msg_info "Running Database Migration"
mkdir -p ${DATA_DIR}
cd /opt/karakeep/packages/db || exit
cd /opt/karakeep/packages/db
$STD pnpm migrate
msg_ok "Database Migration Completed"
+1 -1
View File
@@ -60,7 +60,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest |
curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
unzip -q "${RELEASE}".zip
mv kimai-"${RELEASE}" /opt/kimai
cd /opt/kimai || exit
cd /opt/kimai
echo "export COMPOSER_ALLOW_SUPERUSER=1" >>~/.bashrc
source ~/.bashrc
$STD composer install --no-dev --optimize-autoloader --no-interaction
+10 -14
View File
@@ -19,20 +19,17 @@ msg_ok "Installed Dependencies"
msg_info "Checking CPU Features"
if lscpu | grep -q 'avx'; then
USE_AVX=true
MONGODB_VERSION="7.0"
msg_ok "AVX detected: Using MongoDB 7.0"
else
USE_AVX=false
MONGODB_VERSION="4.4"
msg_error "No AVX detected: TP-Link Canceled Support for Old MongoDB for Debian 12\n https://www.tp-link.com/baltic/support/faq/4160/"
exit 1
exit 0
fi
msg_info "Installing Azul Zulu Java"
curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc"
curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb")
$STD dpkg -i zulu-repo_1.0.0-3_all.deb
curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o zulu-repo.deb
$STD dpkg -i zulu-repo.deb
$STD apt-get update
$STD apt-get -y install zulu21-jre-headless
msg_ok "Installed Azul Zulu Java"
@@ -43,8 +40,6 @@ if ! dpkg -l | grep -q 'libssl1.1'; then
$STD dpkg -i /tmp/libssl.deb
rm -f /tmp/libssl.deb
msg_ok "Installed libssl1.1"
else
msg_ok "libssl1.1 already installed"
fi
msg_info "Installing MongoDB $MONGODB_VERSION"
@@ -55,18 +50,19 @@ $STD apt-get install -y mongodb-org
msg_ok "Installed MongoDB $MONGODB_VERSION"
msg_info "Installing Omada Controller"
latest_url=$(curl -fsSL "https://support.omadanetworks.com/en/download/software/omada-controller/" | grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | head -n 1)
latest_version=$(basename "$latest_url")
curl -fsSL "${latest_url}" -O
$STD dpkg -i ${latest_version}
OMADA_URL=$(curl -fsSL "https://support.omadanetworks.com/en/download/software/omada-controller/" |
grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' |
head -n1)
OMADA_PKG=$(basename "$OMADA_URL")
curl -fsSL "$OMADA_URL" -o "$OMADA_PKG"
$STD dpkg -i "$OMADA_PKG"
msg_ok "Installed Omada Controller"
motd_ssh
customize
msg_info "Cleaning up"
rm -rf ${latest_version} zulu-repo_1.0.0-3_all.deb
rm -rf "$OMADA_PKG" zulu-repo.deb
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+8 -6
View File
@@ -15,10 +15,10 @@ update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
gnupg \
mkcert \
git \
redis
gnupg \
mkcert \
git \
redis
msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository"
@@ -43,7 +43,6 @@ $STD apt-get install -y postgresql-16
DB_NAME="outline"
DB_USER="outline"
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
SECRET_KEY="$(openssl rand -hex 32)"
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
@@ -52,6 +51,7 @@ $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
msg_ok "Set up PostgreSQL"
msg_info "Setup Outline (Patience)"
SECRET_KEY="$(openssl rand -hex 32)"
temp_file=$(mktemp)
LOCAL_IP="$(hostname -I | awk '{print $1}')"
RELEASE=$(curl -fsSL https://api.github.com/repos/outline/outline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
@@ -60,6 +60,7 @@ tar zxf $temp_file
mv outline-${RELEASE} /opt/outline
cd /opt/outline
cp .env.sample .env
export NODE_ENV=development
sed -i 's/NODE_ENV=production/NODE_ENV=development/g' /opt/outline/.env
sed -i "s/generate_a_new_key/${SECRET_KEY}/g" /opt/outline/.env
sed -i "s/user:pass@postgres/${DB_USER}:${DB_PASS}@localhost/g" /opt/outline/.env
@@ -70,6 +71,7 @@ $STD yarn install --frozen-lockfile
export NODE_OPTIONS="--max-old-space-size=3584"
$STD yarn build
sed -i 's/NODE_ENV=development/NODE_ENV=production/g' /opt/outline/.env
export NODE_ENV=production
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Setup Outline"
@@ -83,7 +85,7 @@ After=network.target
Type=simple
User=root
WorkingDirectory=/opt/outline
ExecStart=/usr/bin/node ./build/server/index.js
ExecStart=/usr/bin/yarn start
Restart=always
EnvironmentFile=/opt/outline/.env
+6 -6
View File
@@ -58,10 +58,10 @@ $STD apt-get install -y \
tesseract-ocr \
tesseract-ocr-eng
cd /tmp || exit
cd /tmp
curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz")
$STD tar -xzf ghostscript-10.04.0.tar.gz
cd ghostscript-10.04.0 || exit
cd ghostscript-10.04.0
$STD ./configure
$STD make
$STD sudo make install
@@ -69,7 +69,7 @@ msg_ok "Installed OCR Dependencies"
msg_info "Installing JBIG2"
$STD git clone https://github.com/ie13/jbig2enc /opt/jbig2enc
cd /opt/jbig2enc || exit
cd /opt/jbig2enc
$STD bash ./autogen.sh
$STD bash ./configure
$STD make
@@ -79,12 +79,12 @@ msg_ok "Installed JBIG2"
msg_info "Installing Paperless-ngx (Patience)"
Paperlessngx=$(curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/latest" | grep "title>Release" | cut -d " " -f 5)
cd /opt || exit
cd /opt
$STD curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$Paperlessngx/paperless-ngx-$Paperlessngx.tar.xz" -o "paperless-ngx-$Paperlessngx.tar.xz"
$STD tar -xf "paperless-ngx-$Paperlessngx.tar.xz" -C /opt/
mv paperless-ngx paperless
rm "paperless-ngx-$Paperlessngx.tar.xz"
cd /opt/paperless || exit
cd /opt/paperless
$STD pip install --upgrade pip
$STD pip install -r requirements.txt
curl -fsSL "https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/paperless.conf.example" -o /opt/paperless/paperless.conf
@@ -121,7 +121,7 @@ sed -i -e "s|#PAPERLESS_DBNAME=paperless|PAPERLESS_DBNAME=$DB_NAME|" /opt/paperl
sed -i -e "s|#PAPERLESS_DBUSER=paperless|PAPERLESS_DBUSER=$DB_USER|" /opt/paperless/paperless.conf
sed -i -e "s|#PAPERLESS_DBPASS=paperless|PAPERLESS_DBPASS=$DB_PASS|" /opt/paperless/paperless.conf
sed -i -e "s|#PAPERLESS_SECRET_KEY=change-me|PAPERLESS_SECRET_KEY=$SECRET_KEY|" /opt/paperless/paperless.conf
cd /opt/paperless/src || exit
cd /opt/paperless/src
$STD python3 manage.py migrate
msg_ok "Set up PostgreSQL database"
+1 -1
View File
@@ -47,7 +47,7 @@ msg_info "Installing Paymenter"
RELEASE=$(curl -fsSL https://api.github.com/repos/paymenter/paymenter/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/')
echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt
mkdir -p /opt/paymenter
cd /opt/paymenter || exit
cd /opt/paymenter
curl -fsSL "https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz" -o paymenter.tar.gz
$STD tar -xzvf paymenter.tar.gz
chmod -R 755 storage/* bootstrap/cache/
+1 -1
View File
@@ -34,7 +34,7 @@ msg_info "Installing Peanut"
RELEASE=$(curl -fsSL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
curl -fsSL "https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}" -o "peanut.tar.gz"
mkdir -p /opt/peanut
tar -xzf peanut.tar.gz -C /opt/peanut --strip-components 1
tar -xzf peanut.tar.gz -C /opt/peanut --strip-components=1
rm peanut.tar.gz
cd /opt/peanut
$STD npm install -g pnpm
+1 -1
View File
@@ -55,7 +55,7 @@ msg_ok "Set up MariaDB"
msg_info "Installing Pelican Panel"
RELEASE=$(curl -fsSL https://api.github.com/repos/pelican-dev/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
mkdir /opt/pelican-panel
cd /opt/pelican-panel || exit
cd /opt/pelican-panel
curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz")
tar -xzf "panel.tar.gz"
$STD composer install --no-dev --optimize-autoloader --no-interaction
+1 -1
View File
@@ -21,7 +21,7 @@ msg_info "Installing Prowlarr"
temp_file="$(mktemp)"
mkdir -p /var/lib/prowlarr/
chmod 775 /var/lib/prowlarr/
cd /var/lib/prowlarr/ || exit
cd /var/lib/prowlarr/
RELEASE=$(curl -fsSL https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/Prowlarr/Prowlarr/releases/download/v${RELEASE}/Prowlarr.master.${RELEASE}.linux-core-arm64.tar.gz" -o "$temp_file"
$STD tar -xvzf "$temp_file"
+1 -1
View File
@@ -60,7 +60,7 @@ read -p "Enter your Last Name: " NAME_LAST
msg_info "Installing pterodactyl Panel"
RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
mkdir /opt/pterodactyl-panel
cd /opt/pterodactyl-panel || exit
cd /opt/pterodactyl-panel
curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz")
tar -xzf "panel.tar.gz"
cp .env.example .env
+1 -1
View File
@@ -23,7 +23,7 @@ msg_info "Installing Radarr"
temp_file="$(mktemp)"
mkdir -p /var/lib/radarr/
chmod 775 /var/lib/radarr/
cd /var/lib/radarr/ || exit
cd /var/lib/radarr/
RELEASE=$(curl -fsSL https://api.github.com/repos/Radarr/Radarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/Radarr/Radarr/releases/download/v${RELEASE}/Radarr.master.${RELEASE}.linux-core-arm64.tar.gz" -o "$temp_file"
$STD tar -xvzf "$temp_file"
+7 -6
View File
@@ -16,7 +16,8 @@ update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
make \
gcc
gcc \
gpg
msg_ok "Installed Dependencies"
msg_info "Installing Golang"
@@ -43,8 +44,8 @@ msg_ok "Installed Node.js"
msg_info "Setting up seelf. Patience"
RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz")
tar -xzf v${RELEASE}.tar.gz
mv seelf-${RELEASE}/ /opt/seelf
tar -xzf v"${RELEASE}".tar.gz
mv seelf-"${RELEASE}"/ /opt/seelf
cd /opt/seelf
$STD make build
PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
@@ -84,11 +85,11 @@ customize
# Cleanup
msg_info "Cleaning up"
rm -f ~/v${RELEASE}.tar.gz
rm -f $temp_file
rm -f ~/v"${RELEASE}".tar.gz
rm -f "$temp_file"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
motd_ssh
customize
customize
+1 -1
View File
@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Zabbix"
cd /tmp || exit
cd /tmp
curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")" \