Compare commits

...

6 Commits

Author SHA1 Message Date
CanbiZ
df12ea77dd Refactor install scripts for consistency and cleanup
Standardized package installation commands to use 'apt install' instead of 'apt-get'. Replaced manual database setup with helper functions for PostgreSQL and MariaDB where applicable. Hardware acceleration setup is now handled by a shared function. Removed repetitive cleanup code and replaced with a single 'cleanup_lxc' call at the end of each script. Updated PHP version for FreshRSS and simplified repository setup for Fhem and Grafana. Fixed merge conflict in graylog-install.sh and removed unnecessary temporary file handling.
2025-11-12 15:26:21 +01:00
CanbiZ
edfeb4c507 Delete dashy.sh 2025-11-12 14:09:24 +01:00
Michel Roegl-Brunner
3c2603b5b1 Merge branch 'main' into deb13_g_to_d 2025-11-12 11:47:31 +01:00
CanbiZ
5d2d54368a Refactor install scripts and cleanup handling
Replaces manual apt cleanup commands with a unified cleanup_lxc function across install scripts. Updates apt-get to apt for package installation, improves repository setup logic, and standardizes service creation. Minor messaging and variable usage improvements for consistency.
2025-11-12 11:39:28 +01:00
CanbiZ
e5c3c19106 Update scripts for Debian 13 and improve update messages
Bump default OS version from Debian 12 to 13 across all container scripts. Standardize update messages to use explicit service names and success confirmations. Refactor update functions for consistency, improve error handling, and update package management commands to use 'apt' instead of 'apt-get'.
2025-11-12 11:14:37 +01:00
CanbiZ
66409ac1cf Update grocy.sh 2025-10-23 16:29:21 +02:00
70 changed files with 453 additions and 534 deletions

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-18}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -27,12 +27,21 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
<<<<<<< HEAD
msg_info "Updating Dockge"
cd /opt/dockge
$STD docker compose pull
$STD docker compose up -d
msg_ok "Updated Dockge"
msg_ok "Updated successfully"
=======
msg_info "Updating ${APP}"
cd /opt/dockge
$STD docker compose pull
$STD docker compose up -d
msg_ok "Updated ${APP}"
msg_ok "Updated successfully!"
>>>>>>> main
exit
}

View File

@@ -12,6 +12,7 @@ var_ram="${var_ram:-4096}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
@@ -44,18 +45,22 @@ function update_script() {
fetch_and_deploy_gh_release "docmost" "docmost/docmost"
msg_info "Updating ${APP}"
msg_info "Updating Docmost"
cd /opt/docmost
mv /opt/.env /opt/docmost/.env
mv /opt/data /opt/docmost/data
$STD pnpm install --force
$STD pnpm build
msg_ok "Updated ${APP}"
msg_ok "Updated Docmost"
msg_info "Starting Service"
systemctl start docmost
msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -20,15 +20,15 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /usr/share/dolibarr ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "To update ${APP}, use the applications web interface."
header_info
check_container_storage
check_container_resources
if [[ ! -d /usr/share/dolibarr ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "To update ${APP}, use the applications web interface."
exit
}
start
@@ -38,4 +38,4 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/dolibarr/install${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/dolibarr/install${CL}"

View File

@@ -20,6 +20,13 @@ color
catch_errors
function update_script() {
<<<<<<< HEAD
header_info
check_container_storage
check_container_resources
if [[ ! -d /var/www ]]; then
msg_error "No ${APP} Installation Found!"
=======
header_info
check_container_storage
check_container_resources
@@ -31,7 +38,14 @@ function update_script() {
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated successfully!"
>>>>>>> main
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated Successfully"
exit
}
start

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -31,14 +31,22 @@ function update_script() {
if check_for_gh_release "duplicati" "duplicati/duplicati"; then
msg_info "Stopping Service"
systemctl stop duplicati
<<<<<<< HEAD
msg_ok "Stopped Service"
=======
msg_info "Stopped Service"
>>>>>>> main
fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "duplicati-*-linux-x64-gui.deb"
msg_info "Starting Service"
systemctl start duplicati
msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -32,9 +32,9 @@ function update_script() {
msg_info "Removing old EMQX"
if dpkg -l | grep -q "^ii\s\+emqx\s"; then
$STD apt-get remove --purge -y emqx
$STD apt remove --purge -y emqx
elif dpkg -l | grep -q "^ii\s\+emqx-enterprise\s"; then
$STD apt-get remove --purge -y emqx-enterprise
$STD apt remove --purge -y emqx-enterprise
else
msg_ok "No old EMQX package found"
fi
@@ -46,11 +46,17 @@ function update_script() {
msg_ok "Downloaded EMQX"
msg_info "Installing EMQX"
$STD apt-get install -y "$DEB_FILE"
$STD apt install -y "$DEB_FILE"
echo "$RELEASE" >~/.emqx
rm -f "$DEB_FILE"
msg_ok "Installed EMQX v${RELEASE}"
msg_info "Starting EMQX"
msg_info "Starting Service"
systemctl start emqx
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "Updated successfully"
=======
echo "$RELEASE" >~/.emqx
msg_ok "Started EMQX"
@@ -58,6 +64,7 @@ function update_script() {
rm -f "$DEB_FILE"
msg_ok "Cleanup Completed"
msg_ok "Updated successfully!"
>>>>>>> main
else
msg_ok "No update required. EMQX is already at v${RELEASE}"
fi

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-5}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -27,23 +27,28 @@ function update_script() {
exit
fi
if check_for_gh_release "ersatztv" "ErsatzTV/ErsatzTV"; then
msg_info "Stopping ErsatzTV"
msg_info "Stopping Service"
systemctl stop ersatzTV
msg_ok "Stopped ErsatzTV"
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz"
msg_info "Starting ErsatzTV"
msg_info "Starting Service"
systemctl start ersatzTV
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "ErsatzTV Updated successfully"
=======
msg_ok "Started ErsatzTV"
msg_ok "Updated successfully!"
>>>>>>> main
fi
if check_for_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg"; then
msg_info "Stopping ErsatzTV"
msg_info "Stopping Service"
systemctl stop ersatzTV
msg_ok "Stopped ErsatzTV"
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz"
@@ -54,10 +59,15 @@ function update_script() {
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
msg_ok "ffmpeg links set"
msg_info "Starting ErsatzTV"
msg_info "Starting Service"
systemctl start ersatzTV
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "ErsatzTV-ffmpeg Updated successfully"
=======
msg_ok "Started ErsatzTV"
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -81,7 +81,11 @@ EOF
msg_info "Starting Service"
systemctl start esphomeDashboard
msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -26,6 +26,18 @@ function update_script() {
if ! command -v evcc >/dev/null 2>&1; then
msg_error "No ${APP} Installation Found!"
exit 1
<<<<<<< HEAD
fi
if [[ -f /etc/apt/sources.list.d/evcc-stable.list ]]; then
setup_deb822_repo \
"evcc-stable" \
"https://dl.evcc.io/public/evcc/stable/gpg.EAD5D0E07B0EC0FD.key" \
"https://dl.evcc.io/public/evcc/stable/deb/debian/" \
"$(get_os_info codename)" \
"main"
=======
>>>>>>> main
fi
if [[ -f /etc/apt/sources.list.d/evcc-stable.list ]]; then

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -31,20 +31,28 @@ function update_script() {
if check_for_gh_release "excalidraw" "excalidraw/excalidraw"; then
msg_info "Stopping Service"
systemctl stop excalidraw
<<<<<<< HEAD
msg_ok "Stopped Service"
=======
msg_info "Stopped Service"
>>>>>>> main
rm -rf /opt/excalidraw
fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw"
msg_info "Updating $APP"
msg_info "Updating Excalidraw"
cd /opt/excalidraw
$STD yarn
msg_ok "Updated $APP"
msg_ok "Updated Excalidraw"
msg_info "Starting Service"
systemctl start excalidraw
msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -20,6 +20,13 @@ color
catch_errors
function update_script() {
<<<<<<< HEAD
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/fhem.service ]]; then
msg_error "No ${APP} Installation Found!"
=======
header_info
check_container_storage
check_container_resources
@@ -31,7 +38,14 @@ function update_script() {
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated successfully!"
>>>>>>> main
exit
fi
msg_info "Updating ${APP} LXC"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated Successfully"
exit
}
start

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -28,27 +28,27 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
if ! [[ $(dpkg -s jq 2>/dev/null) ]]; then
$STD apt-get update
$STD apt-get install -y jq
fi
update_available=$(curl -fsSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable)
if [[ "${update_available}" == "true" ]]; then
msg_info "Stopping Service"
systemctl stop fileflows
<<<<<<< HEAD
msg_ok "Stopped Service"
=======
msg_info "Stopped Service"
>>>>>>> main
msg_info "Creating Backup"
backup_filename="/opt/${APP}_backup_$(date +%F).tar.gz"
tar -czf "$backup_filename" -C /opt/fileflows Data
msg_ok "Backup Created"
msg_info "Updating $APP to latest version"
msg_info "Updating FileFlows"
temp_file=$(mktemp)
curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file"
$STD unzip -o -d /opt/fileflows "$temp_file"
msg_ok "Updated $APP to latest version"
msg_ok "Updated FileFlows"
msg_info "Starting Service"
systemctl start fileflows
@@ -58,11 +58,14 @@ function update_script() {
rm -rf "$temp_file"
rm -rf "$backup_filename"
msg_ok "Cleanup Completed"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
else
msg_ok "No update required. ${APP} is already at latest version"
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -41,7 +41,7 @@ function update_script() {
fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip"
setup_composer
msg_info "Updating ${APP}"
msg_info "Updating Firefly"
rm -rf /opt/firefly/storage
cp /opt/.env /opt/firefly/.env
cp -r /opt/storage /opt/firefly/storage
@@ -57,12 +57,16 @@ function update_script() {
$STD php artisan view:clear
$STD php artisan firefly-iii:upgrade-database
$STD php artisan firefly-iii:laravel-passport-keys
msg_ok "Updated ${APP}"
msg_ok "Updated Firefly"
msg_info "Starting Apache2"
systemctl start apache2
msg_ok "Started Apache2"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -28,6 +28,10 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
<<<<<<< HEAD
if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr"; then
msg_info "Stopping Service"
=======
if [[ $(grep -E '^VERSION_ID=' /etc/os-release) == *"12"* ]]; then
msg_error "Wrong Debian version detected!"
msg_error "You must upgrade your LXC to Debian Trixie before updating."
@@ -35,16 +39,26 @@ function update_script() {
fi
if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr"; then
msg_info "Stopping service"
>>>>>>> main
systemctl stop flaresolverr
msg_ok "Stopped service"
msg_ok "Stopped Service"
<<<<<<< HEAD
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
=======
rm -rf /opt/flaresolverr
fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
>>>>>>> main
msg_info "Starting service"
msg_info "Starting Service"
systemctl start flaresolverr
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "Updated successfully"
=======
msg_ok "Started service"
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_disk="${var_disk:-10}"
var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-4096}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -27,12 +27,20 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
<<<<<<< HEAD
msg_info "Updating FlowiseAI"
systemctl stop flowise
npm install -g flowise --upgrade
systemctl start flowise
msg_ok "Updated FlowiseAI"
=======
msg_info "Updating ${APP}"
systemctl stop flowise
npm install -g flowise --upgrade
systemctl start flowise
msg_ok "Updated ${APP}"
msg_ok "Updated successfully!"
>>>>>>> main
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-3}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-7}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -31,13 +31,16 @@ function update_script() {
if check_for_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"; then
msg_info "Stopping Service"
systemctl stop fluid-calendar
<<<<<<< HEAD
msg_ok "Stopped Service"
=======
msg_info "Stopped Service"
>>>>>>> main
cp /opt/fluid-calendar/.env /opt/fluid.env
rm -rf /opt/fluid-calendar
fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"
msg_info "Updating $APP"
msg_info "Updating Fluid Calendar"
mv /opt/fluid.env /opt/fluid-calendar/.env
cd /opt/fluid-calendar
export NEXT_TELEMETRY_DISABLED=1
@@ -45,12 +48,16 @@ function update_script() {
$STD npm run prisma:generate
$STD npx prisma migrate deploy
$STD npm run build:os
msg_ok "Updated $APP"
msg_ok "Updated Fluid Calendar"
msg_info "Starting Service"
systemctl start fluid-calendar
msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -31,23 +31,24 @@ function update_script() {
systemctl stop forgejo
msg_ok "Stopped Service"
msg_info "Updating ${APP}"
msg_info "Updating Forgejo"
RELEASE=$(curl -fsSL https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "forgejo-$RELEASE-linux-amd64"
rm -rf /opt/forgejo/*
cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64
chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo
msg_ok "Updated ${APP}"
msg_info "Cleaning"
rm -rf forgejo-$RELEASE-linux-amd64
msg_ok "Cleaned"
msg_ok "Updated Forgejo"
msg_info "Starting Service"
systemctl start forgejo
msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -20,16 +20,16 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
header_info
check_container_storage
check_container_resources
if [[ ! -f /lib/systemd/system/freepbx.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "Currently we don't provide an update function for this ${APP}."
if [[ ! -f /lib/systemd/system/freepbx.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_error "Currently we don't provide an update function for this ${APP}."
exit
}
start

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -33,7 +33,10 @@ function update_script() {
chmod +x /opt/freshrss/cli/sensitive-log.sh
systemctl restart apache2
msg_ok "Fixed wrong permissions"
<<<<<<< HEAD
=======
exit
>>>>>>> main
else
msg_error "FreshRSS should be updated via the user interface."
exit

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-5}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -44,7 +44,7 @@ function update_script() {
exit
fi
if ! command -v git &>/dev/null; then
$STD apt-get install -y git
$STD apt install -y git
fi
msg_info "Stopping service $SERVICE_NAME"
@@ -60,7 +60,11 @@ function update_script() {
msg_info "Starting service $SERVICE_NAME"
systemctl start "$SERVICE_NAME"
msg_ok "Started service $SERVICE_NAME"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -39,8 +39,7 @@ function update_script() {
fi
mv /opt/gatus/config/config.yaml /opt
rm -rf /opt/gatus
fetch_and_deploy_gh_release "gatus" "TwiN/gatus"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gatus" "TwiN/gatus"
msg_info "Updating Gatus"
cd /opt/gatus
@@ -53,7 +52,11 @@ function update_script() {
msg_info "Starting Service"
systemctl start gatus
msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated Successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -56,11 +56,15 @@ function update_script() {
msg_info "Starting Service"
systemctl start ghostfolio
msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_info "Cleaning Up"
$STD npm cache clean --force
msg_ok "Cleanup Completed"
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -96,17 +96,15 @@ EOF
ln -sf /opt/bun/bin/bun /usr/local/bin/bunx
msg_ok "Installed Bun"
rm -rf /opt/gitea-mirror
fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"
msg_info "Updating and rebuilding ${APP}"
msg_info "Updating Gitea-Mirror"
cd /opt/gitea-mirror
$STD bun run setup
$STD bun run build
APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4)
sudo sed -i.bak "s|^npm_package_version=.*|npm_package_version=${APP_VERSION}|" /opt/gitea-mirror.env
msg_ok "Updated and rebuilt ${APP}"
msg_ok "Updated Gitea-Mirror"
msg_info "Restoring Data"
cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data
@@ -114,8 +112,13 @@ EOF
msg_info "Starting Service"
systemctl start gitea-mirror
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "Updated successfully"
=======
msg_ok "Service Started"
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -29,18 +29,23 @@ function update_script() {
exit
fi
if check_for_gh_release "gitea" "go-gitea/gitea"; then
msg_info "Stopping service"
msg_info "Stopping Service"
systemctl stop gitea
msg_ok "Service stopped"
msg_ok "Stopped Service"
rm -rf /usr/local/bin/gitea
fetch_and_deploy_gh_release "gitea" "go-gitea/gitea" "singlefile" "latest" "/usr/local/bin" "gitea-*-linux-amd64"
chmod +x /usr/local/bin/gitea
msg_info "Starting service"
msg_info "Starting Service"
systemctl start gitea
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "Updated successfully"
=======
msg_ok "Started service"
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -39,7 +39,11 @@ function update_script() {
msg_info "Starting Service"
systemctl start glance
msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -12,6 +12,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
@@ -27,11 +28,17 @@ function update_script() {
exit
fi
msg_info "Updating $APP LXC"
msg_info "Updating Globaleaks"
$STD apt update
$STD apt -y upgrade
<<<<<<< HEAD
msg_ok "Updated Globaleaks"
msg_ok "Updated successfully"
exit
=======
msg_ok "Updated $APP LXC"
msg_ok "Updated successfully!"
>>>>>>> main
}
start

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -29,16 +29,21 @@ function update_script() {
fi
if check_for_gh_release "go2rtc" "AlexxIT/go2rtc"; then
msg_info "Stopping service"
msg_info "Stopping Service"
systemctl stop go2rtc
msg_ok "Stopped service"
msg_ok "Stopped Service"
fetch_and_deploy_gh_release "go2rtc" "AlexxIT/go2rtc" "singlefile" "latest" "/opt/go2rtc" "go2rtc_linux_amd64"
msg_info "Starting service"
msg_info "Starting Service"
systemctl start go2rtc
<<<<<<< HEAD
msg_ok "Started Service"
msg_ok "Updated successfully"
=======
msg_ok "Started service"
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -38,8 +38,12 @@ function update_script() {
msg_info "Starting Services"
systemctl start goaway
msg_ok "Started Services"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -37,7 +37,11 @@ function update_script() {
msg_info "Starting Service"
systemctl start gokapi
msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -20,6 +20,22 @@ color
catch_errors
function update_script() {
<<<<<<< HEAD
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating Grafana"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated Grafana"
msg_ok "Updated successfully"
exit
=======
header_info
check_container_storage
check_container_resources
@@ -33,6 +49,7 @@ function update_script() {
$STD apt-get -y upgrade
msg_ok "Updated successfully!"
exit
>>>>>>> main
}
start

View File

@@ -28,6 +28,21 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
<<<<<<< HEAD
msg_info "Stopping Services"
systemctl stop graylog-datanode graylog-server
msg_ok "Stopped Services"
msg_info "Updating Graylog"
$STD apt update
$STD apt upgrade -y
msg_ok "Updated Graylog"
msg_info "Starting Services"
systemctl start graylog-datanode graylog-server
msg_ok "Started Services"
msg_ok "Updated successfully"
=======
msg_info "Stopping Service"
systemctl stop graylog-datanode
@@ -60,6 +75,7 @@ function update_script() {
systemctl start graylog-server
msg_ok "Started Service"
msg_ok "Updated successfully!"
>>>>>>> main
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}"
var_disk="${var_disk:-6}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -41,8 +41,13 @@ function update_script() {
fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball"
<<<<<<< HEAD
msg_info "Updating Grist"
mkdir -p grist/docs
=======
msg_info "Updating ${APP}"
mkdir -p /opt/grist/docs
>>>>>>> main
cp -n /opt/grist_bak/.env /opt/grist/.env
cp -r /opt/grist_bak/docs/* /opt/grist/docs/
cp /opt/grist_bak/grist-sessions.db /opt/grist/grist-sessions.db
@@ -51,13 +56,17 @@ function update_script() {
$STD yarn install
$STD yarn run build:prod
$STD yarn run install:python
msg_ok "Updated ${APP}"
msg_ok "Updated Grist"
msg_info "Starting Service"
systemctl start grist
msg_ok "Started Service"
<<<<<<< HEAD
msg_ok "Updated Successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
@@ -32,9 +32,16 @@ function update_script() {
PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php
fi
if check_for_gh_release "grocy" "grocy/grocy"; then
<<<<<<< HEAD
msg_info "Updating Grocy"
$STD bash /var/www/html/update.sh
msg_ok "Updated Grocy"
msg_ok "Updated Successfully"
=======
msg_info "Updating ${APP}"
bash /var/www/html/update.sh
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -55,7 +55,10 @@ function update_script() {
cd /opt/guardian/backend
$STD npm ci
$STD npm run build
<<<<<<< HEAD
=======
>>>>>>> main
cd /opt/guardian/frontend
$STD npm ci
export DEPLOYMENT_MODE=standalone
@@ -65,7 +68,11 @@ function update_script() {
msg_info "Starting Services"
systemctl start guardian-backend guardian-frontend
msg_ok "Started Services"
<<<<<<< HEAD
msg_ok "Updated Successfully"
=======
msg_ok "Updated successfully!"
>>>>>>> main
fi
exit
}

View File

@@ -28,24 +28,7 @@ msg_ok "Installed Dependencies"
setup_uv
NODE_VERSION="24" setup_nodejs
PG_VERSION="16" setup_postgresql
msg_info "Creating PostgreSQL Database"
DB_NAME=dispatcharr_db
DB_USER=dispatcharr_usr
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
$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';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
{
echo "Dispatcharr Credentials"
echo "Database Name: $DB_NAME"
echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS"
echo ""
} >>~/dispatcharr.creds
msg_ok "Created PostgreSQL Database"
PG_DB_NAME="dispatcharr_db" PG_DB_USER="dispatcharr_usr" setup_postgresql_db
fetch_and_deploy_gh_release "dispatcharr" "Dispatcharr/Dispatcharr"
@@ -62,18 +45,18 @@ install -d -m 755 \
/data/uploads/{m3us,epgs} \
/data/{m3us,epgs}
chown -R root:root /data
export DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}"
export POSTGRES_DB=$DB_NAME
export POSTGRES_USER=$DB_USER
export POSTGRES_PASSWORD=$DB_PASS
export DATABASE_URL="postgresql://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME}"
export POSTGRES_DB=$PG_DB_NAME
export POSTGRES_USER=$PG_DB_USER
export POSTGRES_PASSWORD=$PG_DB_PASS
export POSTGRES_HOST=localhost
$STD uv run python manage.py migrate --noinput
$STD uv run python manage.py collectstatic --noinput
cat <<EOF >/opt/dispatcharr/.env
DATABASE_URL=postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}
POSTGRES_DB=$DB_NAME
POSTGRES_USER=$DB_USER
POSTGRES_PASSWORD=$DB_PASS
DATABASE_URL=postgresql://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME}
POSTGRES_DB=$PG_DB_NAME
POSTGRES_USER=$PG_DB_USER
POSTGRES_PASSWORD=$PG_DB_PASS
POSTGRES_HOST=localhost
CELERY_BROKER_URL=redis://localhost:6379/0
EOF
@@ -260,9 +243,4 @@ msg_ok "Created Services"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,40 +14,21 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y \
redis \
jq \
make
$STD apt install -y redis make
msg_ok "Installed Dependencies"
HOST_IP=$(hostname -I | awk '{print $1}')
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
PG_VERSION="16" setup_postgresql
PG_DB_NAME="docmost_db" PG_DB_USER="docmost_user" setup_postgresql_db
fetch_and_deploy_gh_release "docmost" "docmost/docmost"
msg_info "Setting up PostgreSQL"
DB_NAME="docmost_db"
DB_USER="docmost_user"
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
$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';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
{
echo "Docmost-Credentials"
echo "Database Name: $DB_NAME"
echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS"
} >>~/docmost.creds
msg_ok "Set up PostgreSQL"
msg_info "Configuring Docmost (Patience)"
cd /opt/docmost
mv .env.example .env
mkdir data
sed -i -e "s|APP_SECRET=.*|APP_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)|" \
-e "s|DATABASE_URL=.*|DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME|" \
-e "s|DATABASE_URL=.*|DATABASE_URL=postgres://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME|" \
-e "s|FILE_UPLOAD_SIZE_LIMIT=.*|FILE_UPLOAD_SIZE_LIMIT=50mb|" \
-e "s|DRAWIO_URL=.*|DRAWIO_URL=https://embed.diagrams.net|" \
-e "s|DISABLE_TELEMETRY=.*|DISABLE_TELEMETRY=true|" \
@@ -78,9 +59,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -45,10 +45,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,13 +14,12 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get update
$STD apt-get install -y \
$STD apt install -y \
ssh \
software-properties-common
$STD add-apt-repository -y ppa:dotnet/backports
$STD apt-get install -y \
$STD apt install -y \
dotnet-sdk-9.0 \
vsftpd \
nginx
@@ -105,8 +104,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt install -y \
libice6 \
libsm6 \
libfontconfig1
@@ -49,8 +49,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -13,16 +13,7 @@ setting_up_container
network_check
update_os
msg_info "Setting Up Hardware Acceleration"
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
if [[ "$CTTYPE" == "0" ]]; then
chgrp video /dev/dri
chmod 755 /dev/dri
chmod 660 /dev/dri/*
$STD adduser $(id -u -n) video
$STD adduser $(id -u -n) render
fi
msg_ok "Set Up Hardware Acceleration"
setup_hwaccel
fetch_and_deploy_gh_release "emby" "MediaBrowser/Emby.Releases" "binary"
@@ -36,8 +27,4 @@ msg_ok "Configured Emby"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing dependencies"
$STD apt-get install -y ca-certificates
$STD apt install -y ca-certificates
msg_ok "Installed dependencies"
msg_info "Fetching latest EMQX Enterprise version"
@@ -33,19 +33,12 @@ $STD curl -fsSL -o "$DEB_FILE" "$DOWNLOAD_URL"
msg_ok "Downloaded EMQX"
msg_info "Installing EMQX"
$STD apt-get install -y "$DEB_FILE"
$STD apt install -y "$DEB_FILE"
echo "$LATEST_VERSION" >~/.emqx
msg_ok "Installed EMQX"
msg_info "Starting EMQX service"
rm -f "$DEB_FILE"
$STD systemctl enable -q --now emqx
msg_ok "Enabled EMQX service"
msg_ok "Installed EMQX"
motd_ssh
customize
msg_info "Cleaning up"
rm -f "$DEB_FILE"
$STD apt-get autoremove
$STD apt-get autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -13,38 +13,7 @@ setting_up_container
network_check
update_os
msg_info "Setting Up Hardware Acceleration"
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
if [[ "$CTTYPE" == "0" ]]; then
chgrp video /dev/dri
chmod 755 /dev/dri
chmod 660 /dev/dri/*
$STD adduser $(id -u -n) video
$STD adduser $(id -u -n) render
fi
msg_ok "Set Up Hardware Acceleration"
read -r -p "${TAB3}Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? <y/N> " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing Intel Hardware Acceleration (non-free)"
cat <<EOF >/etc/apt/sources.list.d/non-free.list
deb http://deb.debian.org/debian bookworm non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm non-free non-free-firmware
deb http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
deb-src http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
EOF
$STD apt-get update
$STD apt-get -y install {intel-media-va-driver-non-free,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
else
msg_info "Installing Intel Hardware Acceleration"
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
fi
msg_ok "Installed and Set Up Intel Hardware Acceleration"
setup_hwaccel
fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz"
fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz"
@@ -78,8 +47,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y git
$STD apt install -y git
msg_ok "Installed Dependencies"
PYTHON_VERSION="3.12" setup_uv
@@ -55,8 +55,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,10 +14,10 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y xdg-utils
$STD apt install -y xdg-utils
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw"
msg_info "Configuring Excalidraw"
@@ -45,8 +45,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,23 +14,20 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y avahi-daemon
$STD apt install -y avahi-daemon
msg_ok "Installed Dependencies"
msg_info "Setting up Fhem Repository"
curl -fsSL https://debian.fhem.de/archive.key | gpg --dearmor >/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg] https://debian.fhem.de/nightly/ /' >/etc/apt/sources.list.d/fhem.list
msg_ok "Set up Fhem Repository"
setup_deb822_repo \
"debianfhemde" \
"https://debian.fhem.de/archive.key" \
"https://debian.fhem.de/nightly/" \
"/" \
""
msg_info "Installing Fhem"
$STD apt-get update
$STD apt-get install -y fhem
msg_info "Installed Fhem"
$STD apt install -y fhem
msg_ok "Installed Fhem"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -15,33 +15,12 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt install -y \
ffmpeg \
jq \
imagemagick
msg_ok "Installed Dependencies"
read -r -p "${TAB3}Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? <y/N> " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing Intel Hardware Acceleration (non-free)"
cat <<EOF >/etc/apt/sources.list.d/non-free.list
deb http://deb.debian.org/debian bookworm non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm non-free non-free-firmware
deb http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
deb-src http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
EOF
$STD apt-get update
$STD apt-get -y install {intel-media-va-driver-non-free,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
else
msg_info "Installing Intel Hardware Acceleration"
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
fi
msg_ok "Installed and Set Up Intel Hardware Acceleration"
setup_hwaccel
msg_info "Installing ASP.NET Core Runtime"
curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb
@@ -51,7 +30,7 @@ $STD apt-get update
$STD apt-get install -y aspnetcore-runtime-8.0
msg_ok "Installed ASP.NET Core Runtime"
msg_info "Setup ${APPLICATION}"
msg_info "Setup FileFlows"
$STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg
$STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe
temp_file=$(mktemp)
@@ -59,13 +38,9 @@ curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file"
$STD unzip -d /opt/fileflows "$temp_file"
(cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true)
systemctl enable -q --now fileflows
msg_ok "Setup ${APPLICATION}"
rm -f "$temp_file"
msg_ok "Setup FileFlows"
motd_ssh
customize
msg_info "Cleaning up"
rm -f "$temp_file"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -16,32 +16,18 @@ update_os
PHP_VERSION="8.4" PHP_APACHE="YES" PHP_MODULE="mysql" setup_php
setup_composer
setup_mariadb
LOCAL_IP=$(hostname -I | awk '{print $1}')
msg_info "Setting up database"
DB_NAME=firefly
DB_USER=firefly
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;"
$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{
echo "Firefly-Credentials"
echo "Firefly Database User: $DB_USER"
echo "Firefly Database Password: $DB_PASS"
echo "Firefly Database Name: $DB_NAME"
} >>~/firefly.creds
msg_ok "Set up database"
MARIADB_DB_NAME="firefly" MARIADB_DB_USER="firefly" setup_mariadb_db
fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip"
msg_info "Configuring Firefly III (Patience)"
LOCAL_IP=$(hostname -I | awk '{print $1}')
chown -R www-data:www-data /opt/firefly
chmod -R 775 /opt/firefly/storage
cd /opt/firefly
cp .env.example .env
sed -i "s/DB_HOST=.*/DB_HOST=localhost/" /opt/firefly/.env
sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=$DB_PASS/" /opt/firefly/.env
sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=$MARIADB_DB_PASS/" /opt/firefly/.env
$STD composer install --no-dev --no-plugins --no-interaction
$STD php artisan firefly:upgrade-database
$STD php artisan firefly:correct-database
@@ -55,6 +41,7 @@ tar -xzf "DataImporter-v${IMPORTER_RELEASE}.tar.gz" -C /opt/firefly/dataimporter
cp /opt/firefly/dataimporter/.env.example /opt/firefly/dataimporter/.env
sed -i "s#FIREFLY_III_URL=#FIREFLY_III_URL=http://${LOCAL_IP}#g" /opt/firefly/dataimporter/.env
chown -R www-data:www-data /opt/firefly
rm -rf "/opt/DataImporter-v${IMPORTER_RELEASE}.tar.gz"
msg_ok "Configured Firefly III"
msg_info "Creating Service"
@@ -95,9 +82,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -rf "/opt/DataImporter-v${IMPORTER_RELEASE}.tar.gz"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -15,9 +15,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
apt-transport-https \
xvfb
$STD apt install -y apt-transport-https xvfb
msg_ok "Installed Dependencies"
msg_info "Installing Chrome"
@@ -28,7 +26,6 @@ setup_deb822_repo \
"stable"
$STD apt update
$STD apt install -y google-chrome-stable
# remove google-chrome.list added by google-chrome-stable
rm /etc/apt/sources.list.d/google-chrome.list
msg_ok "Installed Chrome"
@@ -57,8 +54,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -44,8 +44,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,35 +14,20 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y zip
$STD apt install -y zip
msg_ok "Installed Dependencies"
PG_VERSION="17" setup_postgresql
NODE_VERSION="20" setup_nodejs
msg_info "Setting up Postgresql Database"
DB_NAME="fluiddb"
DB_USER="fluiduser"
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)"
NEXTAUTH_SECRET="$(openssl rand -base64 44 | tr -dc 'a-zA-Z0-9' | cut -c1-32)"
$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH ENCRYPTED 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 "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME to $DB_USER;"
$STD sudo -u postgres psql -c "ALTER USER $DB_USER WITH SUPERUSER;"
{
echo "${APPLICATION} Credentials"
echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS"
echo "Database Name: $DB_NAME"
echo "NextAuth Secret: $NEXTAUTH_SECRET"
} >>~/$APPLICATION.creds
msg_ok "Set up Postgresql Database"
PG_DB_NAME="fluiddb" PG_DB_USER="fluiduser" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"
msg_info "Configuring ${APPLICATION}"
msg_info "Setup Fluid Calendar"
NEXTAUTH_SECRET="$(openssl rand -base64 44 | tr -dc 'a-zA-Z0-9' | cut -c1-32)"
echo "NextAuth Secret: $NEXTAUTH_SECRET" >>~/$APPLICATION.creds
cat <<EOF >/opt/fluid-calendar/.env
DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}"
DATABASE_URL="postgresql://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME}"
# Change the URL below to your external URL
NEXTAUTH_URL="http://localhost:3000"
@@ -61,7 +46,7 @@ $STD npm install --legacy-peer-deps
$STD npm run prisma:generate
$STD npx prisma migrate deploy
$STD npm run build:os
msg_ok "Configuring ${APPLICATION}"
msg_ok "Setup Fluid Calendar"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/fluid-calendar.service
@@ -82,8 +67,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,8 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y git
$STD apt-get install -y git-lfs
$STD apt install -y git git-lfs
msg_ok "Installed Dependencies"
msg_info "Installing Forgejo"
@@ -59,8 +58,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,15 +14,11 @@ network_check
update_os
msg_info "Installing FreePBX (Patience)"
curl -fsSL https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -o /opt/sng_freepbx_debian_install.sh
curl -fsSL https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -o /opt/sng_freepbx_debian_install.sh
$STD bash /opt/sng_freepbx_debian_install.sh
rm /opt/sng_freepbx_debian_install.sh
msg_ok "Installed FreePBX"
motd_ssh
customize
msg_info "Cleaning up"
rm /opt/sng_freepbx_debian_install.sh
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -13,22 +13,9 @@ setting_up_container
network_check
update_os
PHP_VERSION="8.2" PHP_MODULE="curl,xml,mbstring,intl,zip,pgsql,gmp" PHP_APACHE="YES" setup_php
PHP_VERSION="8.3" PHP_MODULE="curl,xml,mbstring,intl,zip,pgsql,gmp" PHP_APACHE="YES" setup_php
PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL"
DB_NAME=freshrss
DB_USER=freshrss
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
$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 TEMPLATE template0;"
{
echo "FreshRSS Credentials"
echo "FreshRSS Database User: $DB_USER"
echo "FreshRSS Database Password: $DB_PASS"
echo "FreshRSS Database Name: $DB_NAME"
} >>~/freshrss.creds
msg_ok "Set up PostgreSQL"
PG_DB_NAME="freshrss" PG_DB_USER="freshrss" setup_postgresql_db
fetch_and_deploy_gh_release "freshrss" "FreshRSS/FreshRSS"

View File

@@ -13,12 +13,12 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt install -y \
ca-certificates \
git
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs
msg_info "Installing Fumadocs"
mkdir -p /opt/fumadocs
@@ -47,8 +47,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -23,10 +23,10 @@ RPC_SECRET=$(openssl rand -hex 32)
ADMIN_TOKEN=$(openssl rand -base64 32)
METRICS_TOKEN=$(openssl rand -base64 32)
{
echo "Garage Tokens and Secrets"
echo "RPC Secret: $RPC_SECRET"
echo "Admin Token: $ADMIN_TOKEN"
echo "Metrics Token: $METRICS_TOKEN"
echo "Garage Tokens and Secrets"
echo "RPC Secret: $RPC_SECRET"
echo "Admin Token: $ADMIN_TOKEN"
echo "Metrics Token: $METRICS_TOKEN"
} >>~/garage.creds
echo $GITEA_RELEASE >>~/.garage
cat <<EOF >/etc/garage.toml
@@ -59,7 +59,6 @@ metrics_token = "${METRICS_TOKEN}"
EOF
msg_ok "Set up Garage"
msg_info "Creating service"
cat <<'EOF' >/etc/systemd/system/garage.service
[Unit]
@@ -87,9 +86,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt install -y \
ca-certificates \
libcap2-bin
msg_ok "Installed Dependencies"
@@ -51,8 +51,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -15,49 +15,32 @@ update_os
msg_info "Installing Dependencies"
$STD apt install -y \
build-essential \
openssl \
ca-certificates \
redis-server
build-essential \
openssl \
ca-certificates \
redis-server
msg_ok "Installed Dependencies"
PG_VERSION="17" setup_postgresql
NODE_VERSION="24" setup_nodejs
msg_info "Setting up Database"
DB_NAME=ghostfolio
DB_USER=ghostfolio
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
REDIS_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
ACCESS_TOKEN_SALT=$(openssl rand -base64 32)
JWT_SECRET_KEY=$(openssl rand -base64 32)
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME;"
$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH ENCRYPTED PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;"
$STD sudo -u postgres psql -c "ALTER USER $DB_USER CREATEDB;"
$STD sudo -u postgres psql -d $DB_NAME -c "GRANT ALL ON SCHEMA public TO $DB_USER;"
$STD sudo -u postgres psql -d $DB_NAME -c "GRANT CREATE ON SCHEMA public TO $DB_USER;"
$STD sudo -u postgres psql -d $DB_NAME -c "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO $DB_USER;"
$STD sudo -u postgres psql -d $DB_NAME -c "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO $DB_USER;"
{
echo "Ghostfolio Credentials"
echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS"
echo "Database Name: $DB_NAME"
echo "Redis Password: $REDIS_PASS"
echo "Access Token Salt: $ACCESS_TOKEN_SALT"
echo "JWT Secret Key: $JWT_SECRET_KEY"
} >>~/ghostfolio.creds
msg_ok "Set up Database"
PG_DB_NAME="ghostfolio" PG_DB_USER="ghostfolio" PG_DB_SCHEMA_PERMS="true" setup_postgresql_db
fetch_and_deploy_gh_release "ghostfolio" "ghostfolio/ghostfolio" "tarball" "latest" "/opt/ghostfolio"
msg_info "Setup Ghostfolio"
REDIS_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
ACCESS_TOKEN_SALT=$(openssl rand -base64 32)
JWT_SECRET_KEY=$(openssl rand -base64 32)
sed -i "s/# requirepass foobared/requirepass $REDIS_PASS/" /etc/redis/redis.conf
systemctl restart redis-server
cd /opt/ghostfolio
$STD npm ci
$STD npm run build:production
{
echo "Redis Password: $REDIS_PASS"
echo "Access Token Salt: $ACCESS_TOKEN_SALT"
echo "JWT Secret Key: $JWT_SECRET_KEY"
} >>~/ghostfolio.creds
msg_ok "Built Ghostfolio"
echo -e ""
@@ -69,7 +52,7 @@ read -rp "${TAB3}CoinGecko Pro API key (press Enter to skip): " COINGECKO_PRO_KE
msg_info "Setting up Environment"
cat <<EOF >/opt/ghostfolio/.env
DATABASE_URL=postgresql://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME?connect_timeout=300&sslmode=prefer
DATABASE_URL=postgresql://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME?connect_timeout=300&sslmode=prefer
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=$REDIS_PASS
@@ -82,11 +65,11 @@ TZ=Etc/UTC
EOF
if [[ -n "${COINGECKO_DEMO_KEY:-}" ]]; then
echo "API_KEY_COINGECKO_DEMO=$COINGECKO_DEMO_KEY" >>/opt/ghostfolio/.env
echo "API_KEY_COINGECKO_DEMO=$COINGECKO_DEMO_KEY" >>/opt/ghostfolio/.env
fi
if [[ -n "${COINGECKO_PRO_KEY:-}" ]]; then
echo "API_KEY_COINGECKO_PRO=$COINGECKO_PRO_KEY" >>/opt/ghostfolio/.env
echo "API_KEY_COINGECKO_PRO=$COINGECKO_PRO_KEY" >>/opt/ghostfolio/.env
fi
msg_ok "Set up Environment"
@@ -122,10 +105,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD npm cache clean --force
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -15,8 +15,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y git
$STD apt-get install -y sqlite3
$STD apt install -y git sqlite3
msg_ok "Installed Dependencies"
fetch_and_deploy_gh_release "gitea" "go-gitea/gitea" "singlefile" "latest" "/usr/local/bin" "gitea-*-linux-amd64"
@@ -68,8 +67,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -39,8 +39,7 @@ EOF
msg_ok "Configured Glance"
msg_info "Creating Service"
service_path="/etc/systemd/system/glance.service"
echo "[Unit]
cat <<EOF >/etc/systemd/system/glance.service
Description=Glance Daemon
After=network.target
@@ -53,15 +52,11 @@ KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target" >$service_path
WantedBy=multi-user.target
EOF
systemctl enable -q --now glance
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -23,8 +23,4 @@ msg_ok "Setup GlobaLeaks"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -34,8 +34,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y net-tools
$STD apt install -y net-tools
msg_ok "Installed Dependencies"
fetch_and_deploy_gh_release "goaway" "pommee/goaway" "prebuild" "latest" "/opt/goaway" "goaway_*_linux_amd64.tar.gz"
@@ -54,9 +54,4 @@ msg_ok "Service Created"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -39,8 +39,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -39,8 +39,4 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt install -y \
apt-transport-https \
software-properties-common
msg_ok "Installed Dependencies"
@@ -25,15 +25,11 @@ echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com st
msg_ok "Set up Grafana Repository"
msg_info "Installing Grafana"
$STD apt-get update
$STD apt-get install -y grafana
systemctl enable -q --now grafana-server
$STD apt update
$STD apt install -y grafana
systemctl enable -q --now grafana-server
msg_ok "Installed Grafana"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -25,11 +25,11 @@ sed -i "s/password_secret =/password_secret = $PASSWORD_SECRET/g" /etc/graylog/d
systemctl enable -q --now graylog-datanode
msg_ok "Setup Graylog Data Node"
msg_info "Setup ${APPLICATION}"
$STD apt-get install graylog-server
msg_info "Setup Graylog"
$STD apt install graylog-server
ROOT_PASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16)
{
echo "${APPLICATION} Credentials"
echo "Graylog Credentials"
echo "Admin User: admin"
echo "Admin Password: ${ROOT_PASSWORD}"
} >>~/graylog.creds
@@ -38,7 +38,8 @@ sed -i "s/password_secret =/password_secret = $PASSWORD_SECRET/g" /etc/graylog/s
sed -i "s/root_password_sha2 =/root_password_sha2 = $ROOT_PASSWORD/g" /etc/graylog/server/server.conf
sed -i 's/#http_bind_address = 127.0.0.1.*/http_bind_address = 0.0.0.0:9000/g' /etc/graylog/server/server.conf
systemctl enable -q --now graylog-server
msg_ok "Setup ${APPLICATION}"
rm -f graylog-*-repository_latest.deb
msg_ok "Setup Graylog"
motd_ssh
customize

View File

@@ -14,11 +14,12 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
$STD apt install -y \
make \
ca-certificates \
python3-venv
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball"
@@ -50,14 +51,9 @@ EnvironmentFile=-/opt/grist/.env
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now grist
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -13,10 +13,6 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y apt-transport-https
msg_ok "Installed Dependencies"
PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php
fetch_and_deploy_gh_release "grocy" "grocy/grocy" "prebuild" "latest" "/var/www/html" "grocy*.zip"
@@ -47,8 +43,4 @@ msg_ok "Installed grocy"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
cleanup_lxc

View File

@@ -20,7 +20,7 @@ msg_ok "Installed Dependencies"
NODE_VERSION="24" setup_nodejs
fetch_and_deploy_gh_release "guardian" "HydroshieldMKII/Guardian" "tarball" "latest" "/opt/guardian"
msg_info "Configuring ${APPLICATION}"
msg_info "Configuring Guardian"
cd /opt/guardian/backend
$STD npm ci
$STD npm run build
@@ -28,7 +28,7 @@ cd /opt/guardian/frontend
$STD npm ci
export DEPLOYMENT_MODE=standalone
$STD npm run build
msg_ok "Configured ${APPLICATION}"
msg_ok "Configured Guardian"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/guardian-backend.service
@@ -60,16 +60,10 @@ RestartSec=3
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now guardian-backend
systemctl enable -q --now guardian-frontend
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"
cleanup_lxc