mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-14 01:25:18 +00:00
Compare commits
16 Commits
deb13_g_to
...
2025-11-12
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
02f1e738d9 | ||
|
|
d7e3e4b8c6 | ||
|
|
6c0287c17a | ||
|
|
f287cb8023 | ||
|
|
6677685ba8 | ||
|
|
2cf7b446c0 | ||
|
|
afdcc2a624 | ||
|
|
817edd6d9c | ||
|
|
6883a39ef7 | ||
|
|
a85514dd2b | ||
|
|
9bb4bf020f | ||
|
|
e5e44f4ebf | ||
|
|
6781963f46 | ||
|
|
93bcba16c4 | ||
|
|
dc809eeda4 | ||
|
|
aa770beff4 |
13
CHANGELOG.md
13
CHANGELOG.md
@@ -10,14 +10,23 @@
|
||||
> [!CAUTION]
|
||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||
|
||||
## 2025-11-13
|
||||
|
||||
## 2025-11-12
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Miniflux ([#9091](https://github.com/community-scripts/ProxmoxVE/pull/9091))
|
||||
- Splunk Enterprise ([#9090](https://github.com/community-scripts/ProxmoxVE/pull/9090))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- openwebui: Python version usage | core: zsh completion install [@MickLesk](https://github.com/MickLesk) ([#9079](https://github.com/community-scripts/ProxmoxVE/pull/9079))
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- evcc: add missing fi in update [@MichaelVetter1979](https://github.com/MichaelVetter1979) ([#9107](https://github.com/community-scripts/ProxmoxVE/pull/9107))
|
||||
- PeaNUT: use clean install flag during update [@vhsdream](https://github.com/vhsdream) ([#9100](https://github.com/community-scripts/ProxmoxVE/pull/9100))
|
||||
- Tududi: Create new env file from example; fix installation & update [@vhsdream](https://github.com/vhsdream) ([#9097](https://github.com/community-scripts/ProxmoxVE/pull/9097))
|
||||
- openwebui: Python version usage | core: zsh completion install [@MickLesk](https://github.com/MickLesk) ([#9079](https://github.com/community-scripts/ProxmoxVE/pull/9079))
|
||||
- Refactor: evcc [@CrazyWolf13](https://github.com/CrazyWolf13) ([#9057](https://github.com/community-scripts/ProxmoxVE/pull/9057))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
11
ct/dockge.sh
11
ct/dockge.sh
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -27,21 +27,12 @@ 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
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ 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
|
||||
@@ -45,22 +44,18 @@ function update_script() {
|
||||
|
||||
fetch_and_deploy_gh_release "docmost" "docmost/docmost"
|
||||
|
||||
msg_info "Updating Docmost"
|
||||
msg_info "Updating ${APP}"
|
||||
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 Docmost"
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start docmost
|
||||
msg_ok "Started Service"
|
||||
<<<<<<< HEAD
|
||||
msg_ok "Updated successfully"
|
||||
=======
|
||||
msg_ok "Updated successfully!"
|
||||
>>>>>>> main
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
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!"
|
||||
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
|
||||
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}"
|
||||
@@ -20,13 +20,6 @@ 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
|
||||
@@ -38,14 +31,7 @@ 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
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -31,22 +31,14 @@ 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
|
||||
}
|
||||
|
||||
17
ct/emqx.sh
17
ct/emqx.sh
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
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 remove --purge -y emqx
|
||||
$STD apt-get remove --purge -y emqx
|
||||
elif dpkg -l | grep -q "^ii\s\+emqx-enterprise\s"; then
|
||||
$STD apt remove --purge -y emqx-enterprise
|
||||
$STD apt-get remove --purge -y emqx-enterprise
|
||||
else
|
||||
msg_ok "No old EMQX package found"
|
||||
fi
|
||||
@@ -46,17 +46,11 @@ function update_script() {
|
||||
msg_ok "Downloaded EMQX"
|
||||
|
||||
msg_info "Installing EMQX"
|
||||
$STD apt install -y "$DEB_FILE"
|
||||
echo "$RELEASE" >~/.emqx
|
||||
rm -f "$DEB_FILE"
|
||||
$STD apt-get install -y "$DEB_FILE"
|
||||
msg_ok "Installed EMQX v${RELEASE}"
|
||||
|
||||
msg_info "Starting Service"
|
||||
msg_info "Starting EMQX"
|
||||
systemctl start emqx
|
||||
<<<<<<< HEAD
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated successfully"
|
||||
=======
|
||||
echo "$RELEASE" >~/.emqx
|
||||
msg_ok "Started EMQX"
|
||||
|
||||
@@ -64,7 +58,6 @@ 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
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -27,28 +27,23 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "ersatztv" "ErsatzTV/ErsatzTV"; then
|
||||
msg_info "Stopping Service"
|
||||
msg_info "Stopping ErsatzTV"
|
||||
systemctl stop ersatzTV
|
||||
msg_ok "Stopped Service"
|
||||
msg_ok "Stopped ErsatzTV"
|
||||
|
||||
fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz"
|
||||
|
||||
msg_info "Starting Service"
|
||||
msg_info "Starting ErsatzTV"
|
||||
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 Service"
|
||||
msg_info "Stopping ErsatzTV"
|
||||
systemctl stop ersatzTV
|
||||
msg_ok "Stopped Service"
|
||||
msg_ok "Stopped ErsatzTV"
|
||||
|
||||
fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz"
|
||||
|
||||
@@ -59,15 +54,10 @@ function update_script() {
|
||||
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
|
||||
msg_ok "ffmpeg links set"
|
||||
|
||||
msg_info "Starting Service"
|
||||
msg_info "Starting ErsatzTV"
|
||||
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
|
||||
}
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -81,11 +81,7 @@ EOF
|
||||
msg_info "Starting Service"
|
||||
systemctl start esphomeDashboard
|
||||
msg_ok "Started Service"
|
||||
<<<<<<< HEAD
|
||||
msg_ok "Updated successfully"
|
||||
=======
|
||||
msg_ok "Updated successfully!"
|
||||
>>>>>>> main
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
13
ct/evcc.sh
13
ct/evcc.sh
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -26,7 +26,6 @@ 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
|
||||
@@ -36,17 +35,7 @@ function update_script() {
|
||||
"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
|
||||
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"
|
||||
msg_info "Updating evcc LXC"
|
||||
$STD apt update
|
||||
$STD apt --only-upgrade install -y evcc
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -31,28 +31,20 @@ 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 Excalidraw"
|
||||
msg_info "Updating $APP"
|
||||
cd /opt/excalidraw
|
||||
$STD yarn
|
||||
msg_ok "Updated Excalidraw"
|
||||
msg_ok "Updated $APP"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start excalidraw
|
||||
msg_ok "Started Service"
|
||||
<<<<<<< HEAD
|
||||
msg_ok "Updated successfully"
|
||||
=======
|
||||
msg_ok "Updated successfully!"
|
||||
>>>>>>> main
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
70
ct/fenrus.sh
70
ct/fenrus.sh
@@ -1,70 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 tteck
|
||||
# Author: tteck (tteckster) | Co-Author: Scorpoon
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/revenz/Fenrus
|
||||
|
||||
APP="Fenrus"
|
||||
var_tags="${var_tags:-dashboard}"
|
||||
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_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/${APP} ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_error "Currently we don't provide an update function for this ${APP}."
|
||||
exit
|
||||
msg_info "Updating ${APP}"
|
||||
systemctl stop ${APP}
|
||||
git clone https://github.com/revenz/Fenrus.git
|
||||
cd Fenrus
|
||||
gitVersionNumber=$(git rev-parse HEAD)
|
||||
|
||||
if [[ "${gitVersionNumber}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
mkdir /opt/fenrus-data-backup
|
||||
cp -r "/opt/${APP}/data/" /opt/fenrus-data-backup/data
|
||||
if [[ ! -d /opt/fenrus-data-backup/data ]]; then
|
||||
msg_error "Backup of data folder failed! exiting..."
|
||||
rm -r /opt/fenrus-data-backup/
|
||||
exit
|
||||
fi
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
dotnet publish -c Release -o "/opt/${APP}/" Fenrus.csproj
|
||||
cp -r /opt/fenrus-data-backup/data/ "/opt/${APP}/"
|
||||
echo "${gitVersionNumber}" >"/opt/${APP}_version.txt"
|
||||
rm -r /opt/fenrus-data-backup/
|
||||
msg_ok "Updated $APP"
|
||||
msg_ok "Updated successfully!"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already up to date"
|
||||
fi
|
||||
cd ..
|
||||
rm -r Fenrus/
|
||||
|
||||
systemctl start ${APP}
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
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}:5000${CL}"
|
||||
16
ct/fhem.sh
16
ct/fhem.sh
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -20,13 +20,6 @@ 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
|
||||
@@ -38,14 +31,7 @@ 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
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
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 FileFlows"
|
||||
msg_info "Updating $APP to latest version"
|
||||
temp_file=$(mktemp)
|
||||
curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file"
|
||||
$STD unzip -o -d /opt/fileflows "$temp_file"
|
||||
msg_ok "Updated FileFlows"
|
||||
msg_ok "Updated $APP to latest version"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start fileflows
|
||||
@@ -58,14 +58,11 @@ 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
|
||||
}
|
||||
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
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 Firefly"
|
||||
msg_info "Updating ${APP}"
|
||||
rm -rf /opt/firefly/storage
|
||||
cp /opt/.env /opt/firefly/.env
|
||||
cp -r /opt/storage /opt/firefly/storage
|
||||
@@ -57,16 +57,12 @@ 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 Firefly"
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting Apache2"
|
||||
systemctl start apache2
|
||||
msg_ok "Started Apache2"
|
||||
<<<<<<< HEAD
|
||||
msg_ok "Updated successfully"
|
||||
=======
|
||||
msg_ok "Updated successfully!"
|
||||
>>>>>>> main
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
@@ -28,10 +28,6 @@ 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."
|
||||
@@ -39,26 +35,16 @@ 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
|
||||
}
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -27,20 +27,12 @@ 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
|
||||
}
|
||||
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -31,16 +31,13 @@ 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
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"
|
||||
rm -rf /opt/fluid-calendar
|
||||
fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"
|
||||
|
||||
msg_info "Updating Fluid Calendar"
|
||||
msg_info "Updating $APP"
|
||||
mv /opt/fluid.env /opt/fluid-calendar/.env
|
||||
cd /opt/fluid-calendar
|
||||
export NEXT_TELEMETRY_DISABLED=1
|
||||
@@ -48,16 +45,12 @@ function update_script() {
|
||||
$STD npm run prisma:generate
|
||||
$STD npx prisma migrate deploy
|
||||
$STD npm run build:os
|
||||
msg_ok "Updated Fluid Calendar"
|
||||
msg_ok "Updated $APP"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start fluid-calendar
|
||||
msg_ok "Started Service"
|
||||
<<<<<<< HEAD
|
||||
msg_ok "Updated successfully"
|
||||
=======
|
||||
msg_ok "Updated successfully!"
|
||||
>>>>>>> main
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -31,24 +31,23 @@ function update_script() {
|
||||
systemctl stop forgejo
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Updating Forgejo"
|
||||
msg_info "Updating ${APP}"
|
||||
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 "Updated Forgejo"
|
||||
msg_ok "Cleaned"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start forgejo
|
||||
msg_ok "Started Service"
|
||||
<<<<<<< HEAD
|
||||
msg_ok "Updated successfully"
|
||||
=======
|
||||
msg_ok "Updated successfully!"
|
||||
>>>>>>> main
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
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!"
|
||||
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
|
||||
fi
|
||||
msg_error "Currently we don't provide an update function for this ${APP}."
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -33,10 +33,7 @@ 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
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
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 install -y git
|
||||
$STD apt-get install -y git
|
||||
fi
|
||||
|
||||
msg_info "Stopping service $SERVICE_NAME"
|
||||
@@ -60,11 +60,7 @@ 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
|
||||
}
|
||||
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -39,7 +39,8 @@ function update_script() {
|
||||
fi
|
||||
|
||||
mv /opt/gatus/config/config.yaml /opt
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gatus" "TwiN/gatus"
|
||||
rm -rf /opt/gatus
|
||||
fetch_and_deploy_gh_release "gatus" "TwiN/gatus"
|
||||
|
||||
msg_info "Updating Gatus"
|
||||
cd /opt/gatus
|
||||
@@ -52,11 +53,7 @@ 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
|
||||
}
|
||||
|
||||
@@ -56,15 +56,11 @@ 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
|
||||
}
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -96,15 +96,17 @@ EOF
|
||||
ln -sf /opt/bun/bin/bun /usr/local/bin/bunx
|
||||
msg_ok "Installed Bun"
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"
|
||||
rm -rf /opt/gitea-mirror
|
||||
fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"
|
||||
|
||||
msg_info "Updating Gitea-Mirror"
|
||||
msg_info "Updating and rebuilding ${APP}"
|
||||
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 Gitea-Mirror"
|
||||
msg_ok "Updated and rebuilt ${APP}"
|
||||
|
||||
msg_info "Restoring Data"
|
||||
cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data
|
||||
@@ -112,13 +114,8 @@ 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
|
||||
}
|
||||
|
||||
13
ct/gitea.sh
13
ct/gitea.sh
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -29,23 +29,18 @@ 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 "Stopped Service"
|
||||
msg_ok "Service stopped"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -39,11 +39,7 @@ 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
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ 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
|
||||
@@ -28,17 +27,11 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
msg_info "Updating Globaleaks"
|
||||
msg_info "Updating $APP LXC"
|
||||
$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
|
||||
|
||||
13
ct/go2rtc.sh
13
ct/go2rtc.sh
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -29,21 +29,16 @@ 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
|
||||
}
|
||||
|
||||
@@ -38,12 +38,8 @@ 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
|
||||
}
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -37,11 +37,7 @@ 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
|
||||
}
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -20,22 +20,6 @@ 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
|
||||
@@ -49,7 +33,6 @@ function update_script() {
|
||||
$STD apt-get -y upgrade
|
||||
msg_ok "Updated successfully!"
|
||||
exit
|
||||
>>>>>>> main
|
||||
}
|
||||
|
||||
start
|
||||
|
||||
@@ -28,21 +28,6 @@ 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
|
||||
@@ -75,7 +60,6 @@ function update_script() {
|
||||
systemctl start graylog-server
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated successfully!"
|
||||
>>>>>>> main
|
||||
exit
|
||||
}
|
||||
|
||||
|
||||
13
ct/grist.sh
13
ct/grist.sh
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -41,13 +41,8 @@ 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
|
||||
@@ -56,17 +51,13 @@ function update_script() {
|
||||
$STD yarn install
|
||||
$STD yarn run build:prod
|
||||
$STD yarn run install:python
|
||||
msg_ok "Updated Grist"
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start grist
|
||||
msg_ok "Started Service"
|
||||
<<<<<<< HEAD
|
||||
msg_ok "Updated Successfully"
|
||||
=======
|
||||
|
||||
msg_ok "Updated successfully!"
|
||||
>>>>>>> main
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
@@ -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:-13}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
@@ -32,16 +32,9 @@ 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
|
||||
}
|
||||
|
||||
@@ -55,10 +55,7 @@ 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
|
||||
@@ -68,11 +65,7 @@ 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
|
||||
}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
______
|
||||
/ ____/__ ____ _______ _______
|
||||
/ /_ / _ \/ __ \/ ___/ / / / ___/
|
||||
/ __/ / __/ / / / / / /_/ (__ )
|
||||
/_/ \___/_/ /_/_/ \__,_/____/
|
||||
|
||||
6
ct/headers/miniflux
Normal file
6
ct/headers/miniflux
Normal file
@@ -0,0 +1,6 @@
|
||||
__ ____ _ ______
|
||||
/ |/ (_)___ (_) __/ /_ ___ __
|
||||
/ /|_/ / / __ \/ / /_/ / / / / |/_/
|
||||
/ / / / / / / / / __/ / /_/ /> <
|
||||
/_/ /_/_/_/ /_/_/_/ /_/\__,_/_/|_|
|
||||
|
||||
6
ct/headers/splunk-enterprise
Normal file
6
ct/headers/splunk-enterprise
Normal file
@@ -0,0 +1,6 @@
|
||||
_____ __ __ ______ __ _
|
||||
/ ___/____ / /_ ______ / /__ / ____/___ / /____ _________ _____(_)_______
|
||||
\__ \/ __ \/ / / / / __ \/ //_/_____/ __/ / __ \/ __/ _ \/ ___/ __ \/ ___/ / ___/ _ \
|
||||
___/ / /_/ / / /_/ / / / / ,< /_____/ /___/ / / / /_/ __/ / / /_/ / / / (__ ) __/
|
||||
/____/ .___/_/\__,_/_/ /_/_/|_| /_____/_/ /_/\__/\___/_/ / .___/_/ /_/____/\___/
|
||||
/_/ /_/
|
||||
55
ct/miniflux.sh
Normal file
55
ct/miniflux.sh
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: omernaveedxyz
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://miniflux.app/
|
||||
|
||||
APP="Miniflux"
|
||||
var_tags="${var_tags:-media}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-8}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -f /etc/systemd/system/miniflux.service ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
msg_info "Stopping Service"
|
||||
$STD miniflux -flush-sessions -config-file /etc/miniflux.conf
|
||||
systemctl stop miniflux
|
||||
msg_ok "Service Stopped"
|
||||
|
||||
fetch_and_deploy_gh_release "miniflux" "miniflux/v2" "binary" "latest"
|
||||
|
||||
msg_info "Updating Miniflux"
|
||||
$STD miniflux -migrate -config-file /etc/miniflux.conf
|
||||
msg_ok "Updated Miniflux"
|
||||
msg_info "Starting Service"
|
||||
$STD systemctl start miniflux
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
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}:8080${CL}"
|
||||
@@ -6,7 +6,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
||||
# Source: https://github.com/Brandawg93/PeaNUT/
|
||||
|
||||
APP="PeaNUT"
|
||||
var_tags="${var_tags:-network;ups;}"
|
||||
var_tags="${var_tags:-network;ups}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-4096}"
|
||||
var_disk="${var_disk:-7}"
|
||||
@@ -35,7 +35,7 @@ function update_script() {
|
||||
systemctl stop peanut
|
||||
msg_info "Stopped Service"
|
||||
|
||||
fetch_and_deploy_gh_release "peanut" "Brandawg93/PeaNUT" "tarball" "latest" "/opt/peanut"
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "peanut" "Brandawg93/PeaNUT" "tarball" "latest" "/opt/peanut"
|
||||
|
||||
msg_info "Updating $APP"
|
||||
cd /opt/peanut
|
||||
|
||||
41
ct/splunk-enterprise.sh
Normal file
41
ct/splunk-enterprise.sh
Normal file
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: rcastley
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://www.splunk.com/en_us/download.html
|
||||
|
||||
APP="Splunk-Enterprise"
|
||||
var_tags="${var_tags:-monitoring}"
|
||||
var_cpu="${var_cpu:-4}"
|
||||
var_ram="${var_ram:-8192}"
|
||||
var_disk="${var_disk:-40}"
|
||||
var_os="${var_os:-ubuntu}"
|
||||
var_version="${var_version:-24.04}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/splunk ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
msg_error "Currently we don't provide an update function for this ${APP}."
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW}Access the Splunk Enterprise Web interface using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"
|
||||
21
ct/tududi.sh
21
ct/tududi.sh
@@ -35,14 +35,15 @@ function update_script() {
|
||||
systemctl stop tududi
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Remove and backup Files"
|
||||
DB="$(sed -n '/^DB_FILE/s/[^=]*=//p' /opt/tududi/backend/.env)"
|
||||
export DB_FILE="$DB"
|
||||
cp /opt/tududi/backend/.env /opt/tududi.env
|
||||
rm -rf /opt/tududi/backend/dist
|
||||
msg_ok "Backup and removed Files"
|
||||
msg_info "Backing up env file"
|
||||
if [[ -f /opt/tududi/backend/.env ]]; then
|
||||
cp /opt/tududi/backend/.env /opt/tududi.env
|
||||
else
|
||||
cp /opt/tududi/.env /opt/tududi.env
|
||||
fi
|
||||
msg_ok "Backed up env file"
|
||||
|
||||
fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "latest" "/opt/tududi"
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "latest" "/opt/tududi"
|
||||
|
||||
msg_info "Updating Tududi"
|
||||
cd /opt/tududi
|
||||
@@ -50,9 +51,9 @@ function update_script() {
|
||||
export NODE_ENV=production
|
||||
$STD npm run frontend:build
|
||||
mv ./dist ./backend
|
||||
mv ./public/locales ./backend/dist
|
||||
mv ./public/favicon.* ./backend/dist
|
||||
mv /opt/tududi.env /opt/tududi/.env
|
||||
mv /opt/tududi.env /opt/tududi/backend/.env
|
||||
DB="$(sed -n '/^DB_FILE/s/[^=]*=//p' /opt/tududi/backend/.env)"
|
||||
export DB_FILE="$DB"
|
||||
sed -i -e 's|/tududi$|/tududi/backend|' \
|
||||
-e 's|npm run start|bash /opt/tududi/backend/cmd/start.sh|' \
|
||||
/etc/systemd/system/tududi.service
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
{
|
||||
"name": "Fenrus",
|
||||
"slug": "fenrus",
|
||||
"categories": [
|
||||
10
|
||||
],
|
||||
"date_created": "2024-05-05",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"privileged": false,
|
||||
"interface_port": 5000,
|
||||
"documentation": "https://github.com/revenz/Fenrus/wiki",
|
||||
"website": "https://github.com/revenz/Fenrus",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/fenrus.webp",
|
||||
"config_path": "",
|
||||
"description": "A personal home page for quick access to all your personal apps/sites.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/fenrus.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 512,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": []
|
||||
}
|
||||
40
frontend/public/json/miniflux.json
Normal file
40
frontend/public/json/miniflux.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"name": "Miniflux",
|
||||
"slug": "miniflux",
|
||||
"categories": [
|
||||
13
|
||||
],
|
||||
"date_created": "2025-11-12",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"config_path": "/etc/miniflux.conf",
|
||||
"interface_port": 8080,
|
||||
"documentation": "https://miniflux.app/docs/index.html",
|
||||
"website": "https://miniflux.app/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/miniflux-light.webp",
|
||||
"description": "Miniflux is a minimalist and opinionated feed reader.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/miniflux.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 8,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": "admin",
|
||||
"password": "randomly generated during installation process"
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Admin password available as `ADMIN_PASSWORD` in `~/miniflux.creds`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
48
frontend/public/json/splunk-enterprise.json
Normal file
48
frontend/public/json/splunk-enterprise.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"name": "Splunk Enterprise",
|
||||
"slug": "splunk-enterprise",
|
||||
"categories": [
|
||||
9
|
||||
],
|
||||
"date_created": "2025-11-12",
|
||||
"type": "ct",
|
||||
"updateable": false,
|
||||
"privileged": false,
|
||||
"interface_port": 8000,
|
||||
"documentation": "https://help.splunk.com",
|
||||
"config_path": "",
|
||||
"website": "https://www.splunk.com/en_us/download/splunk-enterprise.html",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/splunk.webp",
|
||||
"description": "Platform for searching, monitoring, and analyzing machine-generated data at scale for operational intelligence and security.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/splunk-enterprise.sh",
|
||||
"resources": {
|
||||
"cpu": 4,
|
||||
"ram": 8192,
|
||||
"hdd": 40,
|
||||
"os": "Ubuntu",
|
||||
"version": "24.04"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "The credentials to login can be found in splunk.creds.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Trial license allows indexing 500 MB/Day. After 60 days you can convert to a perpetual free license or purchase a Splunk Enterprise license to continue using the expanded functionality designed for enterprise-scale deployments.",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "About Splunk Free License: https://help.splunk.com/en/splunk-enterprise/administer/admin-manual/10.0/configure-splunk-licenses/about-splunk-free",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,4 +1,154 @@
|
||||
[
|
||||
{
|
||||
"name": "rcourtman/Pulse",
|
||||
"version": "issue-706",
|
||||
"date": "2025-11-12T21:52:39Z"
|
||||
},
|
||||
{
|
||||
"name": "henrygd/beszel",
|
||||
"version": "v0.16.0",
|
||||
"date": "2025-11-12T21:33:36Z"
|
||||
},
|
||||
{
|
||||
"name": "NginxProxyManager/nginx-proxy-manager",
|
||||
"version": "v2.13.4",
|
||||
"date": "2025-11-12T21:27:04Z"
|
||||
},
|
||||
{
|
||||
"name": "BerriAI/litellm",
|
||||
"version": "v1.79.3.dev5",
|
||||
"date": "2025-11-12T20:59:51Z"
|
||||
},
|
||||
{
|
||||
"name": "ollama/ollama",
|
||||
"version": "v0.12.11-rc0",
|
||||
"date": "2025-11-12T16:40:38Z"
|
||||
},
|
||||
{
|
||||
"name": "wazuh/wazuh",
|
||||
"version": "v4.14.1",
|
||||
"date": "2025-11-12T18:11:43Z"
|
||||
},
|
||||
{
|
||||
"name": "firefly-iii/firefly-iii",
|
||||
"version": "v6.4.7",
|
||||
"date": "2025-11-12T04:50:25Z"
|
||||
},
|
||||
{
|
||||
"name": "pymedusa/Medusa",
|
||||
"version": "v1.0.25",
|
||||
"date": "2025-11-12T16:57:54Z"
|
||||
},
|
||||
{
|
||||
"name": "Jackett/Jackett",
|
||||
"version": "v0.24.296",
|
||||
"date": "2025-11-12T16:39:18Z"
|
||||
},
|
||||
{
|
||||
"name": "docker/compose",
|
||||
"version": "v2.40.3",
|
||||
"date": "2025-10-30T09:35:37Z"
|
||||
},
|
||||
{
|
||||
"name": "keycloak/keycloak",
|
||||
"version": "26.4.5",
|
||||
"date": "2025-11-12T15:24:23Z"
|
||||
},
|
||||
{
|
||||
"name": "zitadel/zitadel",
|
||||
"version": "v4.6.6",
|
||||
"date": "2025-11-12T13:09:12Z"
|
||||
},
|
||||
{
|
||||
"name": "kimai/kimai",
|
||||
"version": "2.42.0",
|
||||
"date": "2025-11-12T15:16:54Z"
|
||||
},
|
||||
{
|
||||
"name": "zwave-js/zwave-js-ui",
|
||||
"version": "v11.7.0",
|
||||
"date": "2025-11-12T14:09:36Z"
|
||||
},
|
||||
{
|
||||
"name": "jenkinsci/jenkins",
|
||||
"version": "jenkins-2.528.2",
|
||||
"date": "2025-11-12T13:18:13Z"
|
||||
},
|
||||
{
|
||||
"name": "dgtlmoon/changedetection.io",
|
||||
"version": "0.50.43",
|
||||
"date": "2025-11-12T12:03:21Z"
|
||||
},
|
||||
{
|
||||
"name": "cockpit-project/cockpit",
|
||||
"version": "351",
|
||||
"date": "2025-11-12T11:28:06Z"
|
||||
},
|
||||
{
|
||||
"name": "0xERR0R/blocky",
|
||||
"version": "v0.28.0",
|
||||
"date": "2025-11-12T11:00:07Z"
|
||||
},
|
||||
{
|
||||
"name": "Paymenter/Paymenter",
|
||||
"version": "v1.4.4",
|
||||
"date": "2025-11-12T10:43:23Z"
|
||||
},
|
||||
{
|
||||
"name": "redis/redis",
|
||||
"version": "8.4-int",
|
||||
"date": "2025-11-12T09:36:10Z"
|
||||
},
|
||||
{
|
||||
"name": "meilisearch/meilisearch",
|
||||
"version": "prototype-v1.25.0.improve-s3-multipart-upload",
|
||||
"date": "2025-11-12T08:12:37Z"
|
||||
},
|
||||
{
|
||||
"name": "documenso/documenso",
|
||||
"version": "v2.0.10",
|
||||
"date": "2025-11-12T07:57:24Z"
|
||||
},
|
||||
{
|
||||
"name": "SigNoz/signoz",
|
||||
"version": "v0.101.0",
|
||||
"date": "2025-11-12T07:13:22Z"
|
||||
},
|
||||
{
|
||||
"name": "PrivateBin/PrivateBin",
|
||||
"version": "2.0.3",
|
||||
"date": "2025-11-12T07:10:14Z"
|
||||
},
|
||||
{
|
||||
"name": "morpheus65535/bazarr",
|
||||
"version": "v1.5.3",
|
||||
"date": "2025-09-20T12:12:33Z"
|
||||
},
|
||||
{
|
||||
"name": "webmin/webmin",
|
||||
"version": "2.600",
|
||||
"date": "2025-11-12T05:01:55Z"
|
||||
},
|
||||
{
|
||||
"name": "esphome/esphome",
|
||||
"version": "2025.10.5",
|
||||
"date": "2025-11-12T01:09:44Z"
|
||||
},
|
||||
{
|
||||
"name": "hyperion-project/hyperion.ng",
|
||||
"version": "2.1.1",
|
||||
"date": "2025-06-14T17:45:06Z"
|
||||
},
|
||||
{
|
||||
"name": "jeedom/core",
|
||||
"version": "4.4.20",
|
||||
"date": "2025-11-12T00:27:04Z"
|
||||
},
|
||||
{
|
||||
"name": "steveiliop56/tinyauth",
|
||||
"version": "v4.0.1",
|
||||
"date": "2025-10-15T16:53:55Z"
|
||||
},
|
||||
{
|
||||
"name": "moghtech/komodo",
|
||||
"version": "v1.19.5",
|
||||
@@ -9,16 +159,6 @@
|
||||
"version": "v5.17.0",
|
||||
"date": "2025-11-11T20:15:54Z"
|
||||
},
|
||||
{
|
||||
"name": "BerriAI/litellm",
|
||||
"version": "v1.79.dev.1",
|
||||
"date": "2025-11-11T20:13:32Z"
|
||||
},
|
||||
{
|
||||
"name": "rcourtman/Pulse",
|
||||
"version": "v4.29.0",
|
||||
"date": "2025-11-11T19:45:56Z"
|
||||
},
|
||||
{
|
||||
"name": "juanfont/headscale",
|
||||
"version": "v0.27.1",
|
||||
@@ -44,21 +184,11 @@
|
||||
"version": "mattermost-redux@11.1.0",
|
||||
"date": "2025-11-11T17:15:00Z"
|
||||
},
|
||||
{
|
||||
"name": "jenkinsci/jenkins",
|
||||
"version": "jenkins-2.536",
|
||||
"date": "2025-11-11T17:03:28Z"
|
||||
},
|
||||
{
|
||||
"name": "msgbyte/tianji",
|
||||
"version": "v1.30.10",
|
||||
"date": "2025-11-11T16:26:27Z"
|
||||
},
|
||||
{
|
||||
"name": "kimai/kimai",
|
||||
"version": "2.41.0",
|
||||
"date": "2025-11-11T15:17:21Z"
|
||||
},
|
||||
{
|
||||
"name": "netbox-community/netbox",
|
||||
"version": "v4.4.6",
|
||||
@@ -99,26 +229,11 @@
|
||||
"version": "n8n@1.119.1",
|
||||
"date": "2025-11-10T14:21:10Z"
|
||||
},
|
||||
{
|
||||
"name": "zitadel/zitadel",
|
||||
"version": "v4.6.5",
|
||||
"date": "2025-11-11T09:55:47Z"
|
||||
},
|
||||
{
|
||||
"name": "emqx/emqx",
|
||||
"version": "e6.0.1",
|
||||
"date": "2025-11-11T09:46:06Z"
|
||||
},
|
||||
{
|
||||
"name": "NginxProxyManager/nginx-proxy-manager",
|
||||
"version": "v2.13.3",
|
||||
"date": "2025-11-11T07:36:54Z"
|
||||
},
|
||||
{
|
||||
"name": "Jackett/Jackett",
|
||||
"version": "v0.24.275",
|
||||
"date": "2025-11-11T05:56:40Z"
|
||||
},
|
||||
{
|
||||
"name": "FlareSolverr/FlareSolverr",
|
||||
"version": "v3.4.5",
|
||||
@@ -139,16 +254,6 @@
|
||||
"version": "2025.11.11",
|
||||
"date": "2025-11-11T00:35:03Z"
|
||||
},
|
||||
{
|
||||
"name": "jeedom/core",
|
||||
"version": "4.4.20",
|
||||
"date": "2025-11-11T00:27:07Z"
|
||||
},
|
||||
{
|
||||
"name": "steveiliop56/tinyauth",
|
||||
"version": "v4.0.1",
|
||||
"date": "2025-10-15T16:53:55Z"
|
||||
},
|
||||
{
|
||||
"name": "qbittorrent/qBittorrent",
|
||||
"version": "release-5.1.3",
|
||||
@@ -174,46 +279,16 @@
|
||||
"version": "v1.69.0",
|
||||
"date": "2025-11-10T17:22:00Z"
|
||||
},
|
||||
{
|
||||
"name": "meilisearch/meilisearch",
|
||||
"version": "latest",
|
||||
"date": "2025-11-10T17:01:21Z"
|
||||
},
|
||||
{
|
||||
"name": "gtsteffaniak/filebrowser",
|
||||
"version": "v1.0.1-stable",
|
||||
"date": "2025-11-10T16:51:44Z"
|
||||
},
|
||||
{
|
||||
"name": "keycloak/keycloak",
|
||||
"version": "26.4.4",
|
||||
"date": "2025-11-07T08:55:27Z"
|
||||
},
|
||||
{
|
||||
"name": "grokability/snipe-it",
|
||||
"version": "v8.3.5",
|
||||
"date": "2025-11-10T14:12:12Z"
|
||||
},
|
||||
{
|
||||
"name": "SigNoz/signoz",
|
||||
"version": "v0.101.0-rc.1",
|
||||
"date": "2025-11-10T13:08:55Z"
|
||||
},
|
||||
{
|
||||
"name": "dgtlmoon/changedetection.io",
|
||||
"version": "0.50.42",
|
||||
"date": "2025-11-10T12:32:49Z"
|
||||
},
|
||||
{
|
||||
"name": "documenso/documenso",
|
||||
"version": "v2.0.6",
|
||||
"date": "2025-11-10T08:08:43Z"
|
||||
},
|
||||
{
|
||||
"name": "firefly-iii/firefly-iii",
|
||||
"version": "v6.4.6",
|
||||
"date": "2025-11-08T22:45:35Z"
|
||||
},
|
||||
{
|
||||
"name": "navidrome/navidrome",
|
||||
"version": "v0.58.5",
|
||||
@@ -334,16 +409,6 @@
|
||||
"version": "v25.4",
|
||||
"date": "2025-10-09T10:27:01Z"
|
||||
},
|
||||
{
|
||||
"name": "Paymenter/Paymenter",
|
||||
"version": "v1.4.3",
|
||||
"date": "2025-11-07T11:07:17Z"
|
||||
},
|
||||
{
|
||||
"name": "wazuh/wazuh",
|
||||
"version": "coverity-w46-4.14.1",
|
||||
"date": "2025-11-07T08:46:03Z"
|
||||
},
|
||||
{
|
||||
"name": "umami-software/umami",
|
||||
"version": "v3.0.0",
|
||||
@@ -409,11 +474,6 @@
|
||||
"version": "v0.9.1",
|
||||
"date": "2025-11-06T02:26:53Z"
|
||||
},
|
||||
{
|
||||
"name": "ollama/ollama",
|
||||
"version": "v0.12.10",
|
||||
"date": "2025-11-05T21:41:21Z"
|
||||
},
|
||||
{
|
||||
"name": "neo4j/neo4j",
|
||||
"version": "5.26.16",
|
||||
@@ -479,11 +539,6 @@
|
||||
"version": "v4.0.16.2944",
|
||||
"date": "2025-11-05T01:56:48Z"
|
||||
},
|
||||
{
|
||||
"name": "henrygd/beszel",
|
||||
"version": "v0.15.4",
|
||||
"date": "2025-11-04T22:34:12Z"
|
||||
},
|
||||
{
|
||||
"name": "go-gitea/gitea",
|
||||
"version": "v1.25.1",
|
||||
@@ -524,26 +579,11 @@
|
||||
"version": "v2.0.11",
|
||||
"date": "2025-11-04T08:51:05Z"
|
||||
},
|
||||
{
|
||||
"name": "redis/redis",
|
||||
"version": "8.4-rc1-int2",
|
||||
"date": "2025-11-03T09:00:38Z"
|
||||
},
|
||||
{
|
||||
"name": "clusterzx/paperless-ai",
|
||||
"version": "v3.0.9",
|
||||
"date": "2025-11-04T07:28:45Z"
|
||||
},
|
||||
{
|
||||
"name": "esphome/esphome",
|
||||
"version": "2025.10.4",
|
||||
"date": "2025-11-04T03:04:13Z"
|
||||
},
|
||||
{
|
||||
"name": "hyperion-project/hyperion.ng",
|
||||
"version": "2.1.1",
|
||||
"date": "2025-06-14T17:45:06Z"
|
||||
},
|
||||
{
|
||||
"name": "actualbudget/actual",
|
||||
"version": "v25.11.0",
|
||||
@@ -629,11 +669,6 @@
|
||||
"version": "v1.10.1",
|
||||
"date": "2025-10-31T08:25:57Z"
|
||||
},
|
||||
{
|
||||
"name": "pymedusa/Medusa",
|
||||
"version": "v1.0.24",
|
||||
"date": "2025-10-30T19:04:42Z"
|
||||
},
|
||||
{
|
||||
"name": "mongodb/mongo",
|
||||
"version": "r7.0.26",
|
||||
@@ -659,21 +694,11 @@
|
||||
"version": "v5.4",
|
||||
"date": "2025-10-30T14:25:23Z"
|
||||
},
|
||||
{
|
||||
"name": "docker/compose",
|
||||
"version": "v2.40.3",
|
||||
"date": "2025-10-30T09:35:37Z"
|
||||
},
|
||||
{
|
||||
"name": "prometheus/prometheus",
|
||||
"version": "v0.307.3",
|
||||
"date": "2025-10-30T08:13:40Z"
|
||||
},
|
||||
{
|
||||
"name": "morpheus65535/bazarr",
|
||||
"version": "v1.5.3",
|
||||
"date": "2025-09-20T12:12:33Z"
|
||||
},
|
||||
{
|
||||
"name": "ipfs/kubo",
|
||||
"version": "v0.38.2",
|
||||
@@ -689,21 +714,11 @@
|
||||
"version": "v2.7.12",
|
||||
"date": "2025-05-29T17:08:26Z"
|
||||
},
|
||||
{
|
||||
"name": "zwave-js/zwave-js-ui",
|
||||
"version": "v11.6.1",
|
||||
"date": "2025-10-29T16:51:06Z"
|
||||
},
|
||||
{
|
||||
"name": "laurent22/joplin",
|
||||
"version": "server-v3.4.4",
|
||||
"date": "2025-09-25T13:19:26Z"
|
||||
},
|
||||
{
|
||||
"name": "cockpit-project/cockpit",
|
||||
"version": "350",
|
||||
"date": "2025-10-29T09:51:00Z"
|
||||
},
|
||||
{
|
||||
"name": "apache/cassandra",
|
||||
"version": "cassandra-5.0.6",
|
||||
@@ -724,11 +739,6 @@
|
||||
"version": "v6.2.2",
|
||||
"date": "2025-10-28T17:07:47Z"
|
||||
},
|
||||
{
|
||||
"name": "PrivateBin/PrivateBin",
|
||||
"version": "2.0.2",
|
||||
"date": "2025-10-28T15:51:35Z"
|
||||
},
|
||||
{
|
||||
"name": "librespeed/speedtest-rust",
|
||||
"version": "v1.4.0",
|
||||
@@ -949,11 +959,6 @@
|
||||
"version": "v0.10.4",
|
||||
"date": "2025-10-11T19:53:39Z"
|
||||
},
|
||||
{
|
||||
"name": "0xERR0R/blocky",
|
||||
"version": "v0.27.0",
|
||||
"date": "2025-10-10T20:11:48Z"
|
||||
},
|
||||
{
|
||||
"name": "projectsend/projectsend",
|
||||
"version": "r1945",
|
||||
@@ -994,11 +999,6 @@
|
||||
"version": "v1.5.9",
|
||||
"date": "2025-10-06T08:34:01Z"
|
||||
},
|
||||
{
|
||||
"name": "webmin/webmin",
|
||||
"version": "2.520",
|
||||
"date": "2025-10-05T00:51:34Z"
|
||||
},
|
||||
{
|
||||
"name": "WordPress/WordPress",
|
||||
"version": "4.7.31",
|
||||
|
||||
@@ -28,7 +28,24 @@ msg_ok "Installed Dependencies"
|
||||
setup_uv
|
||||
NODE_VERSION="24" setup_nodejs
|
||||
PG_VERSION="16" setup_postgresql
|
||||
PG_DB_NAME="dispatcharr_db" PG_DB_USER="dispatcharr_usr" setup_postgresql_db
|
||||
|
||||
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"
|
||||
|
||||
fetch_and_deploy_gh_release "dispatcharr" "Dispatcharr/Dispatcharr"
|
||||
|
||||
@@ -45,18 +62,18 @@ install -d -m 755 \
|
||||
/data/uploads/{m3us,epgs} \
|
||||
/data/{m3us,epgs}
|
||||
chown -R root:root /data
|
||||
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 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 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://${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
|
||||
DATABASE_URL=postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}
|
||||
POSTGRES_DB=$DB_NAME
|
||||
POSTGRES_USER=$DB_USER
|
||||
POSTGRES_PASSWORD=$DB_PASS
|
||||
POSTGRES_HOST=localhost
|
||||
CELERY_BROKER_URL=redis://localhost:6379/0
|
||||
EOF
|
||||
@@ -243,4 +260,9 @@ msg_ok "Created Services"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt -y autoremove
|
||||
$STD apt -y autoclean
|
||||
$STD apt -y clean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -14,21 +14,40 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y redis make
|
||||
$STD apt install -y \
|
||||
redis \
|
||||
jq \
|
||||
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://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME|" \
|
||||
-e "s|DATABASE_URL=.*|DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost:5432/$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|" \
|
||||
@@ -59,4 +78,9 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt -y autoremove
|
||||
$STD apt -y autoclean
|
||||
$STD apt -y clean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -45,4 +45,10 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt -y autoremove
|
||||
$STD apt -y autoclean
|
||||
$STD apt -y clean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
|
||||
@@ -14,12 +14,13 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y \
|
||||
$STD apt-get update
|
||||
$STD apt-get install -y \
|
||||
ssh \
|
||||
software-properties-common
|
||||
|
||||
$STD add-apt-repository -y ppa:dotnet/backports
|
||||
$STD apt install -y \
|
||||
$STD apt-get install -y \
|
||||
dotnet-sdk-9.0 \
|
||||
vsftpd \
|
||||
nginx
|
||||
@@ -104,4 +105,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y \
|
||||
$STD apt-get install -y \
|
||||
libice6 \
|
||||
libsm6 \
|
||||
libfontconfig1
|
||||
@@ -49,4 +49,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -13,7 +13,16 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
setup_hwaccel
|
||||
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"
|
||||
|
||||
fetch_and_deploy_gh_release "emby" "MediaBrowser/Emby.Releases" "binary"
|
||||
|
||||
@@ -27,4 +36,8 @@ msg_ok "Configured Emby"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing dependencies"
|
||||
$STD apt install -y ca-certificates
|
||||
$STD apt-get install -y ca-certificates
|
||||
msg_ok "Installed dependencies"
|
||||
|
||||
msg_info "Fetching latest EMQX Enterprise version"
|
||||
@@ -33,12 +33,19 @@ $STD curl -fsSL -o "$DEB_FILE" "$DOWNLOAD_URL"
|
||||
msg_ok "Downloaded EMQX"
|
||||
|
||||
msg_info "Installing EMQX"
|
||||
$STD apt install -y "$DEB_FILE"
|
||||
$STD apt-get install -y "$DEB_FILE"
|
||||
echo "$LATEST_VERSION" >~/.emqx
|
||||
rm -f "$DEB_FILE"
|
||||
$STD systemctl enable -q --now emqx
|
||||
msg_ok "Installed EMQX"
|
||||
|
||||
msg_info "Starting EMQX service"
|
||||
$STD systemctl enable -q --now emqx
|
||||
msg_ok "Enabled EMQX service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -f "$DEB_FILE"
|
||||
$STD apt-get autoremove
|
||||
$STD apt-get autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -13,7 +13,38 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
setup_hwaccel
|
||||
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"
|
||||
|
||||
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"
|
||||
@@ -47,4 +78,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y git
|
||||
$STD apt-get install -y git
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
PYTHON_VERSION="3.12" setup_uv
|
||||
@@ -55,4 +55,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -14,10 +14,10 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y xdg-utils
|
||||
$STD apt-get install -y xdg-utils
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
|
||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||
fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw"
|
||||
|
||||
msg_info "Configuring Excalidraw"
|
||||
@@ -45,4 +45,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2025 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# Co-Author: Scorpoon
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/revenz/Fenrus
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y git
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing ASP.NET Core 7 SDK"
|
||||
var_os=$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"')
|
||||
var_version=$(grep "^VERSION_ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"')
|
||||
if [ "${var_os}" = "debian" ]; then
|
||||
curl -fsSL "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb" -o "packages-microsoft-prod.deb"
|
||||
$STD dpkg -i packages-microsoft-prod.deb
|
||||
rm packages-microsoft-prod.deb
|
||||
fi
|
||||
$STD apt-get update
|
||||
$STD apt-get install -y dotnet-sdk-7.0
|
||||
msg_ok "Installed ASP.NET Core 7 SDK"
|
||||
|
||||
msg_info "Installing ${APPLICATION}"
|
||||
git clone -q https://github.com/revenz/Fenrus.git /opt/${APPLICATION}
|
||||
cd /opt/${APPLICATION}
|
||||
$STD dotnet publish -c Release -o "/opt/${APPLICATION}/" Fenrus.csproj
|
||||
msg_ok "Installed ${APPLICATION}"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/"${APPLICATION}".service
|
||||
[Unit]
|
||||
Description=${APPLICATION}
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=/opt/${APPLICATION}
|
||||
ExecStart=/usr/bin/dotnet Fenrus.dll --urls=http://*:5000
|
||||
SyslogIdentifier=${APPLICATION}
|
||||
User=root
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
$STD systemctl enable -q --now ${APPLICATION}
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
@@ -14,20 +14,23 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y avahi-daemon
|
||||
$STD apt-get install -y avahi-daemon
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
setup_deb822_repo \
|
||||
"debianfhemde" \
|
||||
"https://debian.fhem.de/archive.key" \
|
||||
"https://debian.fhem.de/nightly/" \
|
||||
"/" \
|
||||
""
|
||||
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"
|
||||
|
||||
msg_info "Installing Fhem"
|
||||
$STD apt install -y fhem
|
||||
msg_ok "Installed Fhem"
|
||||
$STD apt-get update
|
||||
$STD apt-get install -y fhem
|
||||
msg_info "Installed Fhem"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -15,12 +15,33 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y \
|
||||
$STD apt-get install -y \
|
||||
ffmpeg \
|
||||
jq \
|
||||
imagemagick
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
setup_hwaccel
|
||||
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"
|
||||
|
||||
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
|
||||
@@ -30,7 +51,7 @@ $STD apt-get update
|
||||
$STD apt-get install -y aspnetcore-runtime-8.0
|
||||
msg_ok "Installed ASP.NET Core Runtime"
|
||||
|
||||
msg_info "Setup FileFlows"
|
||||
msg_info "Setup ${APPLICATION}"
|
||||
$STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg
|
||||
$STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe
|
||||
temp_file=$(mktemp)
|
||||
@@ -38,9 +59,13 @@ 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
|
||||
rm -f "$temp_file"
|
||||
msg_ok "Setup FileFlows"
|
||||
msg_ok "Setup ${APPLICATION}"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -f "$temp_file"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -16,18 +16,32 @@ update_os
|
||||
PHP_VERSION="8.4" PHP_APACHE="YES" PHP_MODULE="mysql" setup_php
|
||||
setup_composer
|
||||
setup_mariadb
|
||||
MARIADB_DB_NAME="firefly" MARIADB_DB_USER="firefly" setup_mariadb_db
|
||||
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"
|
||||
|
||||
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=$MARIADB_DB_PASS/" /opt/firefly/.env
|
||||
sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=$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
|
||||
@@ -41,7 +55,6 @@ 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"
|
||||
@@ -82,4 +95,9 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
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"
|
||||
|
||||
@@ -15,7 +15,9 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y apt-transport-https xvfb
|
||||
$STD apt-get install -y \
|
||||
apt-transport-https \
|
||||
xvfb
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing Chrome"
|
||||
@@ -26,6 +28,7 @@ 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"
|
||||
|
||||
@@ -54,4 +57,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -44,4 +44,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -14,20 +14,35 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y zip
|
||||
$STD apt-get install -y zip
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
PG_VERSION="17" setup_postgresql
|
||||
NODE_VERSION="20" setup_nodejs
|
||||
PG_DB_NAME="fluiddb" PG_DB_USER="fluiduser" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
|
||||
|
||||
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"
|
||||
|
||||
fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"
|
||||
|
||||
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
|
||||
msg_info "Configuring ${APPLICATION}"
|
||||
cat <<EOF >/opt/fluid-calendar/.env
|
||||
DATABASE_URL="postgresql://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME}"
|
||||
DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}"
|
||||
|
||||
# Change the URL below to your external URL
|
||||
NEXTAUTH_URL="http://localhost:3000"
|
||||
@@ -46,7 +61,7 @@ $STD npm install --legacy-peer-deps
|
||||
$STD npm run prisma:generate
|
||||
$STD npx prisma migrate deploy
|
||||
$STD npm run build:os
|
||||
msg_ok "Setup Fluid Calendar"
|
||||
msg_ok "Configuring ${APPLICATION}"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/fluid-calendar.service
|
||||
@@ -67,4 +82,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -14,7 +14,8 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y git git-lfs
|
||||
$STD apt-get install -y git
|
||||
$STD apt-get install -y git-lfs
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing Forgejo"
|
||||
@@ -58,4 +59,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -14,11 +14,15 @@ 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
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm /opt/sng_freepbx_debian_install.sh
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -13,9 +13,22 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
PHP_VERSION="8.3" PHP_MODULE="curl,xml,mbstring,intl,zip,pgsql,gmp" PHP_APACHE="YES" setup_php
|
||||
PHP_VERSION="8.2" PHP_MODULE="curl,xml,mbstring,intl,zip,pgsql,gmp" PHP_APACHE="YES" setup_php
|
||||
PG_VERSION="16" setup_postgresql
|
||||
PG_DB_NAME="freshrss" PG_DB_USER="freshrss" setup_postgresql_db
|
||||
|
||||
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"
|
||||
|
||||
fetch_and_deploy_gh_release "freshrss" "FreshRSS/FreshRSS"
|
||||
|
||||
|
||||
@@ -13,12 +13,12 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y \
|
||||
$STD apt-get install -y \
|
||||
ca-certificates \
|
||||
git
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs
|
||||
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
|
||||
|
||||
msg_info "Installing Fumadocs"
|
||||
mkdir -p /opt/fumadocs
|
||||
@@ -47,4 +47,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -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,6 +59,7 @@ metrics_token = "${METRICS_TOKEN}"
|
||||
EOF
|
||||
msg_ok "Set up Garage"
|
||||
|
||||
|
||||
msg_info "Creating service"
|
||||
cat <<'EOF' >/etc/systemd/system/garage.service
|
||||
[Unit]
|
||||
@@ -86,4 +87,9 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt -y autoremove
|
||||
$STD apt -y autoclean
|
||||
$STD apt -y clean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y \
|
||||
$STD apt-get install -y \
|
||||
ca-certificates \
|
||||
libcap2-bin
|
||||
msg_ok "Installed Dependencies"
|
||||
@@ -51,4 +51,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -15,32 +15,49 @@ 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
|
||||
PG_DB_NAME="ghostfolio" PG_DB_USER="ghostfolio" PG_DB_SCHEMA_PERMS="true" setup_postgresql_db
|
||||
|
||||
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"
|
||||
|
||||
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 ""
|
||||
@@ -52,7 +69,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://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME?connect_timeout=300&sslmode=prefer
|
||||
DATABASE_URL=postgresql://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME?connect_timeout=300&sslmode=prefer
|
||||
REDIS_HOST=localhost
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=$REDIS_PASS
|
||||
@@ -65,11 +82,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"
|
||||
|
||||
@@ -105,4 +122,10 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD npm cache clean --force
|
||||
$STD apt -y autoremove
|
||||
$STD apt -y autoclean
|
||||
$STD apt -y clean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -15,7 +15,8 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y git sqlite3
|
||||
$STD apt-get install -y git
|
||||
$STD apt-get install -y sqlite3
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
fetch_and_deploy_gh_release "gitea" "go-gitea/gitea" "singlefile" "latest" "/usr/local/bin" "gitea-*-linux-amd64"
|
||||
@@ -67,4 +68,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -39,7 +39,8 @@ EOF
|
||||
msg_ok "Configured Glance"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/glance.service
|
||||
service_path="/etc/systemd/system/glance.service"
|
||||
echo "[Unit]
|
||||
Description=Glance Daemon
|
||||
After=network.target
|
||||
|
||||
@@ -52,11 +53,15 @@ KillMode=process
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
WantedBy=multi-user.target" >$service_path
|
||||
|
||||
systemctl enable -q --now glance
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -23,4 +23,8 @@ msg_ok "Setup GlobaLeaks"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -34,4 +34,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y net-tools
|
||||
$STD apt-get 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,4 +54,9 @@ msg_ok "Service Created"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt -y autoremove
|
||||
$STD apt -y autoclean
|
||||
$STD apt -y clean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -39,4 +39,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -39,4 +39,8 @@ msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y \
|
||||
$STD apt-get install -y \
|
||||
apt-transport-https \
|
||||
software-properties-common
|
||||
msg_ok "Installed Dependencies"
|
||||
@@ -25,11 +25,15 @@ 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 update
|
||||
$STD apt install -y grafana
|
||||
systemctl enable -q --now grafana-server
|
||||
$STD apt-get update
|
||||
$STD apt-get install -y grafana
|
||||
systemctl enable -q --now grafana-server
|
||||
msg_ok "Installed Grafana"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -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 Graylog"
|
||||
$STD apt install graylog-server
|
||||
msg_info "Setup ${APPLICATION}"
|
||||
$STD apt-get install graylog-server
|
||||
ROOT_PASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16)
|
||||
{
|
||||
echo "Graylog Credentials"
|
||||
echo "${APPLICATION} Credentials"
|
||||
echo "Admin User: admin"
|
||||
echo "Admin Password: ${ROOT_PASSWORD}"
|
||||
} >>~/graylog.creds
|
||||
@@ -38,8 +38,7 @@ 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
|
||||
rm -f graylog-*-repository_latest.deb
|
||||
msg_ok "Setup Graylog"
|
||||
msg_ok "Setup ${APPLICATION}"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
@@ -14,12 +14,11 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y \
|
||||
$STD apt-get 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"
|
||||
|
||||
@@ -51,9 +50,14 @@ EnvironmentFile=-/opt/grist/.env
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl enable -q --now grist
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -13,6 +13,10 @@ 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"
|
||||
|
||||
@@ -43,4 +47,8 @@ msg_ok "Installed grocy"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
@@ -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 Guardian"
|
||||
msg_info "Configuring ${APPLICATION}"
|
||||
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 Guardian"
|
||||
msg_ok "Configured ${APPLICATION}"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/guardian-backend.service
|
||||
@@ -60,10 +60,16 @@ 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
|
||||
cleanup_lxc
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt -y autoremove
|
||||
$STD apt -y autoclean
|
||||
$STD apt -y clean
|
||||
msg_ok "Cleaned"
|
||||
|
||||
41
install/miniflux-install.sh
Normal file
41
install/miniflux-install.sh
Normal file
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: omernaveedxyz
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://miniflux.app/
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
PG_VERSION=17 setup_postgresql
|
||||
PG_DB_NAME="miniflux_db" PG_DB_USER="miniflux" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
|
||||
fetch_and_deploy_gh_release "miniflux" "miniflux/v2" "binary" "latest"
|
||||
|
||||
msg_info "Configuring Miniflux"
|
||||
ADMIN_NAME=admin
|
||||
ADMIN_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)"
|
||||
cat <<EOF >/etc/miniflux.conf
|
||||
# See https://miniflux.app/docs/configuration.html
|
||||
DATABASE_URL=user=$PG_DB_USER password=$PG_DB_PASS dbname=$PG_DB_NAME sslmode=disable
|
||||
CREATE_ADMIN=1
|
||||
ADMIN_USERNAME=$ADMIN_NAME
|
||||
ADMIN_PASSWORD=$ADMIN_PASS
|
||||
LISTEN_ADDR=0.0.0.0:8080
|
||||
EOF
|
||||
{
|
||||
echo "ADMIN_USERNAME: $ADMIN_NAME"
|
||||
echo "ADMIN_PASSWORD: $ADMIN_PASS"
|
||||
} >>~/miniflux.creds
|
||||
$STD miniflux -migrate -config-file /etc/miniflux.conf
|
||||
systemctl enable -q --now miniflux
|
||||
msg_ok "Configured Miniflux"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
79
install/splunk-enterprise-install.sh
Normal file
79
install/splunk-enterprise-install.sh
Normal file
@@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: rcastley
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://www.splunk.com/en_us/download.html
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
echo -e "${TAB3}┌─────────────────────────────────────────────────────────────────────────┐"
|
||||
echo -e "${TAB3}│ SPLUNK GENERAL TERMS │"
|
||||
echo -e "${TAB3}└─────────────────────────────────────────────────────────────────────────┘"
|
||||
echo ""
|
||||
echo -e "${TAB3}Before proceeding with the Splunk Enterprise installation, you must"
|
||||
echo -e "${TAB3}review and accept the Splunk General Terms."
|
||||
echo ""
|
||||
echo -e "${TAB3}Please review the terms at:"
|
||||
echo -e "${TAB3}${GATEWAY}${BGN}https://www.splunk.com/en_us/legal/splunk-general-terms.html${CL}"
|
||||
echo ""
|
||||
|
||||
while true; do
|
||||
echo -e "${TAB3}Do you accept the Splunk General Terms? (y/N): \c"
|
||||
read -r response
|
||||
case $response in
|
||||
[Yy]|[Yy][Ee][Ss])
|
||||
msg_ok "Terms accepted. Proceeding with installation..."
|
||||
break
|
||||
;;
|
||||
[Nn]|[Nn][Oo]|"")
|
||||
msg_error "Terms not accepted. Installation cannot proceed."
|
||||
msg_error "Please review the terms and run the script again if you wish to proceed."
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
msg_error "Invalid response. Please enter 'y' for yes or 'n' for no."
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
msg_info "Setup Splunk Enterprise"
|
||||
DOWNLOAD_URL=$(curl -s "https://www.splunk.com/en_us/download/splunk-enterprise.html" | grep -o 'data-link="[^"]*' | sed 's/data-link="//' | grep "https.*products/splunk/releases" | grep "\.deb$")
|
||||
RELEASE=$(echo "$DOWNLOAD_URL" | sed 's|.*/releases/\([^/]*\)/.*|\1|')
|
||||
$STD curl -fsSL -o "splunk-enterprise.deb" "$DOWNLOAD_URL" || {
|
||||
msg_error "Failed to download Splunk Enterprise from the provided link."
|
||||
exit 1
|
||||
}
|
||||
$STD dpkg -i "splunk-enterprise.deb"
|
||||
rm -f "splunk-enterprise.deb"
|
||||
msg_ok "Setup Splunk Enterprise v${RELEASE}"
|
||||
|
||||
msg_info "Creating Splunk admin user"
|
||||
ADMIN_USER="admin"
|
||||
ADMIN_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||
{
|
||||
echo "Splunk-Credentials"
|
||||
echo "Username: $ADMIN_USER"
|
||||
echo "Password: $ADMIN_PASS"
|
||||
} >> ~/splunk.creds
|
||||
|
||||
cat > "/opt/splunk/etc/system/local/user-seed.conf" << EOF
|
||||
[user_info]
|
||||
USERNAME = $ADMIN_USER
|
||||
PASSWORD = $ADMIN_PASS
|
||||
EOF
|
||||
msg_ok "Created Splunk admin user"
|
||||
|
||||
msg_info "Starting Service"
|
||||
$STD /opt/splunk/bin/splunk start --accept-license --answer-yes --no-prompt
|
||||
$STD /opt/splunk/bin/splunk enable boot-start
|
||||
msg_ok "Started Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
@@ -28,8 +28,6 @@ $STD npm install
|
||||
export NODE_ENV=production
|
||||
$STD npm run frontend:build
|
||||
mv ./dist ./backend
|
||||
mv ./public/locales ./backend/dist
|
||||
mv ./public/favicon.* ./backend/dist
|
||||
msg_ok "Configured Tududi"
|
||||
|
||||
msg_info "Creating env and database"
|
||||
@@ -37,15 +35,16 @@ DB_LOCATION="/opt/tududi-db"
|
||||
UPLOAD_DIR="/opt/tududi-uploads"
|
||||
mkdir -p {"$DB_LOCATION","$UPLOAD_DIR"}
|
||||
SECRET="$(openssl rand -hex 64)"
|
||||
cat <<EOF >/opt/tududi/backend/.env
|
||||
TUDUDI_SESSION_SECRET=${SECRET}
|
||||
TUDUDI_ALLOWED_ORIGINS=<your tududi IP or FQDN>
|
||||
NODE_ENV=production
|
||||
DB_FILE=${DB_LOCATION}/production.sqlite3
|
||||
TUDUDI_UPLOAD_PATH=${UPLOAD_DIR}
|
||||
DISABLE_TELEGRAM=true
|
||||
DIABLE_SCHEDULER=false
|
||||
EOF
|
||||
sed -e '/^NODE_ENV=/s/=.*$/=production/' \
|
||||
-e 's/^TUDUDI_USER/# TUDUDI_USER/g' \
|
||||
-e "/_SECRET=/s/=.*$/=${SECRET}/" \
|
||||
-e "/^# DB_FILE/s/^# //; \
|
||||
\|DB_FILE|s|/path.*$|${DB_LOCATION}/production.sqlite3|" \
|
||||
-e "/^# TUDUDI_ALLOWED/s/^# //; \
|
||||
\|_ORIGINS=|s|=.*$|=<your tududi IP or FDQN>|" \
|
||||
-e "/^# TUDUDI_UPLOAD/s/^# //; \
|
||||
\|UPLOAD_PATH=|s|=.*$|=${UPLOAD_DIR}|" \
|
||||
/opt/tududi/backend/.env.example >/opt/tududi/backend/.env
|
||||
export DB_FILE="${DB_LOCATION}/production.sqlite3"
|
||||
$STD npm run db:init
|
||||
msg_ok "Created env and database"
|
||||
|
||||
@@ -1214,7 +1214,7 @@ setup_deb822_repo() {
|
||||
local gpg_url="$2"
|
||||
local repo_url="$3"
|
||||
local suite="$4"
|
||||
local component="${5:-main}"
|
||||
local component="${5-main}"
|
||||
local architectures="${6-}" # optional
|
||||
|
||||
# Validate required parameters
|
||||
|
||||
Reference in New Issue
Block a user