Compare commits

..

34 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
d7a60f6027 Update CHANGELOG.md (#6866)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-15 00:14:39 +00:00
community-scripts-pr-app[bot]
241ae98c0b Update versions.json (#6865)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-15 02:14:16 +02:00
community-scripts-pr-app[bot]
63f24a8e61 Update CHANGELOG.md (#6862)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 21:46:40 +00:00
Chris
1cb87c4087 Immich: hotfix (#6861) 2025-08-14 23:43:58 +02:00
community-scripts-pr-app[bot]
5c22f9775e Update CHANGELOG.md (#6860)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 21:41:58 +00:00
Chris
a403da9f47 Pulse: v4.3.2+ (#6859)
- please send help
2025-08-14 23:41:36 +02:00
community-scripts-pr-app[bot]
4ce7335482 Update CHANGELOG.md (#6858)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 20:54:09 +00:00
Slaviša Arežina
bc52b1a7d7 Refactor: Zitadel (#6826) 2025-08-14 22:53:45 +02:00
community-scripts-pr-app[bot]
1c5ff8b26a Update CHANGELOG.md (#6857)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 20:52:04 +00:00
Slaviša Arežina
967b2a313f Refactor: WordPress (#6837)
* Refactor

* Update wordpress-install.sh

* Update wordpress-install.sh
2025-08-14 22:51:44 +02:00
Slaviša Arežina
50410acf8d Refactor: WireGuard (#6839)
* Refactor

* Make WGDashboard optional
2025-08-14 22:51:31 +02:00
community-scripts-pr-app[bot]
ab07afb7bd Update CHANGELOG.md (#6855)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 20:01:41 +00:00
Luis Palacios Derqui
eee083c7e0 ProxmoxVE svg logo (#6846) 2025-08-14 22:01:20 +02:00
community-scripts-pr-app[bot]
31ef36d744 Update CHANGELOG.md (#6854)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 19:36:49 +00:00
steadfasterX
13afa93ddf rustdeskserver: fix API version file (#6847) 2025-08-14 21:36:27 +02:00
community-scripts-pr-app[bot]
7c631eec00 Update CHANGELOG.md (#6853)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 19:07:04 +00:00
Slaviša Arežina
82d1a872c7 Refactor (#6832) 2025-08-14 21:06:44 +02:00
community-scripts-pr-app[bot]
0c23782485 Update CHANGELOG.md (#6852)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 19:06:12 +00:00
Slaviša Arežina
ef7c774a24 Refactor (#6829) 2025-08-14 21:05:44 +02:00
Michel Roegl-Brunner
c12ec76181 jenkins.json update (#6824) 2025-08-14 21:03:58 +02:00
community-scripts-pr-app[bot]
a805e40b04 Update CHANGELOG.md (#6851)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 18:20:45 +00:00
Chris
727b713893 Immich: quickfix #6836 (#6848) 2025-08-14 20:20:21 +02:00
community-scripts-pr-app[bot]
5cedb8469e Update CHANGELOG.md (#6845)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 16:01:29 +00:00
Slaviša Arežina
c612a4daa8 Refactor: WikiJS (#6840)
* Refactor

* Update docs URL
2025-08-14 18:01:06 +02:00
community-scripts-pr-app[bot]
87b7166924 Update CHANGELOG.md (#6842)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 15:12:51 +00:00
elvito
9b9faf7a53 Bugfix Searxng Redis replaced with Valkey in installscript (#6831) 2025-08-14 17:12:28 +02:00
community-scripts-pr-app[bot]
51a1d3c0ef Update CHANGELOG.md (#6835)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 12:15:52 +00:00
community-scripts-pr-app[bot]
8b1c2d6e68 Update CHANGELOG.md (#6834)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 12:15:35 +00:00
Slaviša Arežina
21c2ef2915 Refactor (#6822) 2025-08-14 14:15:24 +02:00
Slaviša Arežina
6796e609d0 Refactor (#6823) 2025-08-14 14:15:12 +02:00
Slaviša Arežina
723ac08abb Update (#6825) 2025-08-14 14:14:59 +02:00
community-scripts-pr-app[bot]
35c4c363a0 Update versions.json (#6830)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 14:06:10 +02:00
community-scripts-pr-app[bot]
32f99aee54 Update CHANGELOG.md (#6827)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-14 11:37:14 +00:00
Slaviša Arežina
1803ea0323 Refactor (#6820) 2025-08-14 13:36:50 +02:00
35 changed files with 414 additions and 380 deletions

View File

@@ -10,8 +10,38 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-08-15
## 2025-08-14
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Bugfix Searxng Redis replaced with Valkey in installscript [@elvito](https://github.com/elvito) ([#6831](https://github.com/community-scripts/ProxmoxVE/pull/6831))
- Spoolman: Use environment variables to control host and port [@tremor021](https://github.com/tremor021) ([#6825](https://github.com/community-scripts/ProxmoxVE/pull/6825))
- Pulse: v4.3.2+ [@vhsdream](https://github.com/vhsdream) ([#6859](https://github.com/community-scripts/ProxmoxVE/pull/6859))
- rustdeskserver: fix API version file [@steadfasterX](https://github.com/steadfasterX) ([#6847](https://github.com/community-scripts/ProxmoxVE/pull/6847))
- Immich: quickfix #6836 [@vhsdream](https://github.com/vhsdream) ([#6848](https://github.com/community-scripts/ProxmoxVE/pull/6848))
- #### 🔧 Refactor
- Refactor: WikiJS [@tremor021](https://github.com/tremor021) ([#6840](https://github.com/community-scripts/ProxmoxVE/pull/6840))
- Refactor: Zoraxy [@tremor021](https://github.com/tremor021) ([#6823](https://github.com/community-scripts/ProxmoxVE/pull/6823))
- Refactor: Zitadel [@tremor021](https://github.com/tremor021) ([#6826](https://github.com/community-scripts/ProxmoxVE/pull/6826))
- Refactor: WordPress [@tremor021](https://github.com/tremor021) ([#6837](https://github.com/community-scripts/ProxmoxVE/pull/6837))
- Refactor: WireGuard [@tremor021](https://github.com/tremor021) ([#6839](https://github.com/community-scripts/ProxmoxVE/pull/6839))
- Refactor: yt-dlp-webui [@tremor021](https://github.com/tremor021) ([#6832](https://github.com/community-scripts/ProxmoxVE/pull/6832))
- Refactor: Zipline [@tremor021](https://github.com/tremor021) ([#6829](https://github.com/community-scripts/ProxmoxVE/pull/6829))
- Refactor: Zot-Registry [@tremor021](https://github.com/tremor021) ([#6822](https://github.com/community-scripts/ProxmoxVE/pull/6822))
- Refactor: Zwave-JS-UI [@tremor021](https://github.com/tremor021) ([#6820](https://github.com/community-scripts/ProxmoxVE/pull/6820))
### 🧰 Maintenance
- #### 📂 Github
- ProxmoxVE svg logo [@LuisPalacios](https://github.com/LuisPalacios) ([#6846](https://github.com/community-scripts/ProxmoxVE/pull/6846))
## 2025-08-13
### 🚀 Updated Scripts

View File

@@ -180,7 +180,10 @@ EOF
msg_ok "Updated Immich CLI"
chown -R immich:immich "$INSTALL_DIR"
echo "$RELEASE" >/opt/"${APP}"_version.txt
if [[ ! -f ~/.debian_version.bak ]]; then
cp /etc/debian_version ~/.debian_version.bak
sed -i 's/.*/13.0/' /etc/debian_version
fi
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Cleaning up"

View File

@@ -34,28 +34,30 @@ function update_script() {
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/latest | jq -r '.tag_name' | sed 's/^v//')
SERVICE_PATH="/etc/systemd/system"
if [[ "${RELEASE}" != "$(cat ~/.pulse 2>/dev/null)" ]] || [[ ! -f ~/.pulse ]]; then
msg_info "Stopping ${APP}"
systemctl stop pulse
systemctl stop pulse*.service
msg_ok "Stopped ${APP}"
dirs=(/opt/pulse/bin /opt/pulse/frontend-modern)
for dir in "${dirs[@]}"; do
if [[ -d "$dir" ]]; then
rm -rf "$dir"
fi
done
if [[ -f /opt/pulse/pulse ]]; then
rm -f /opt/pulse/pulse
fi
fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
chown -R pulse:pulse /etc/pulse /opt/pulse
sed -i 's|bin/pulse|pulse|' /etc/systemd/system/pulse.service
if [[ -f "$SERVICE_PATH"/pulse.service ]]; then
mv "$SERVICE_PATH"/pulse.service "$SERVICE_PATH"/pulse-backend.service
fi
sed -i -e 's|pulse/pulse|pulse/bin/pulse|' \
-e 's/^Environment="API.*$//' "$SERVICE_PATH"/pulse-backend.service
systemctl daemon-reload
if grep -q 'pulse-home:/bin/bash' /etc/passwd; then
usermod -s /usr/sbin/nologin pulse
fi
msg_info "Starting ${APP}"
systemctl start pulse
systemctl start pulse-backend
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"

View File

@@ -34,7 +34,7 @@ function update_script() {
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
APIRELEASE=$(curl -fsSL https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/rustdesk_version.txt)" ]] || [[ "${APIRELEASE}" != "$(cat /opt/rustdesk-api.txt)" ]] || [[ ! -f /opt/rustdesk_version.txt ]] || [[ ! -f /opt/rustdesk-api.txt ]]; then
if [[ "${RELEASE}" != "$(cat /opt/rustdesk_version.txt)" ]] || [[ "${APIRELEASE}" != "$(cat /opt/rustdeskapi_version.txt)" ]] || [[ ! -f /opt/rustdesk_version.txt ]] || [[ ! -f /opt/rustdeskapi_version.txt ]]; then
msg_info "Stopping $APP"
systemctl stop rustdesk-hbbr
systemctl stop rustdesk-hbbs

View File

@@ -27,8 +27,9 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Requarks/wiki/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
if [[ "${RELEASE}" != "$(cat ~/.wikijs)" ]] || [[ ! -f ~/.wikijs ]]; then
msg_info "Verifying whether ${APP}' new release is v3.x+ and current install uses SQLite."
SQLITE_INSTALL=$([ -f /opt/wikijs/db.sqlite ] && echo "true" || echo "false")
if [[ "${SQLITE_INSTALL}" == "true" && "${RELEASE}" =~ ^3.* ]]; then
@@ -47,12 +48,8 @@ function update_script() {
cp -R /opt/wikijs/{config.yml,/data} /opt/wikijs-backup
msg_ok "Backed up Data"
msg_info "Updating ${APP}"
rm -rf /opt/wikijs/*
cd /opt/wikijs
curl -fsSL "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" -o $(basename "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz")
tar -xzf wiki-js.tar.gz
msg_ok "Updated ${APP}"
fetch_and_deploy_gh_release "wikijs" "requarks/wiki" "prebuild" "latest" "/opt/wikijs" "wiki-js.tar.gz"
msg_info "Restoring Data"
cp -R /opt/wikijs-backup/* /opt/wikijs
@@ -64,9 +61,9 @@ function update_script() {
msg_ok "Started ${APP}"
msg_info "Cleaning Up"
rm -rf /opt/wikijs/wiki-js.tar.gz
rm -rf /opt/wikijs-backup
msg_ok "Cleanup Completed"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"

View File

@@ -30,10 +30,12 @@ function update_script() {
fi
apt-get update
apt-get -y upgrade
sleep 2
cd /etc/wgdashboard/src
./wgd.sh update
./wgd.sh start
if [[ ! -d /etc/wgdashboard ]]; then
sleep 2
cd /etc/wgdashboard/src
./wgd.sh update
./wgd.sh start
fi
exit
}
@@ -43,5 +45,5 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} WGDashboard Access it using the following URL:${CL}"
echo -e "${INFO}${YW}Access WGDashboard (if installed) using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:10086${CL}"

View File

@@ -28,21 +28,20 @@ function update_script() {
exit
fi
msg_info "Updating yt-dlp"
$STD yt-dlp -U
msg_ok "Updated yt-dlp"
RELEASE=$(curl -fsSL https://api.github.com/repos/marcopiovanello/yt-dlp-web-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/yt-dlp-webui_version.txt)" ]] || [[ ! -f /opt/yt-dlp-webui_version.txt ]]; then
if [[ "${RELEASE}" != "$(cat ~/.yt-dlp-webui)" ]] || [[ ! -f ~/.yt-dlp-webui ]]; then
msg_info "Stopping $APP"
systemctl stop yt-dlp-webui
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
msg_info "Updating yt-dlp"
$STD yt-dlp -U
msg_ok "Updated yt-dlp"
rm -rf /usr/local/bin/yt-dlp-webui
curl -fsSL "https://github.com/marcopiovanello/yt-dlp-web-ui/releases/download/v${RELEASE}/yt-dlp-webui_linux-amd64" -o "/usr/local/bin/yt-dlp-webui"
chmod +x /usr/local/bin/yt-dlp-webui
msg_ok "Updated $APP LXC"
fetch_and_deploy_gh_release "yt-dlp-webui" "marcopiovanello/yt-dlp-web-ui" "singlefile" "latest" "/usr/local/bin" "yt-dlp-webui_linux-amd64"
msg_info "Starting $APP"
systemctl start yt-dlp-webui

View File

@@ -32,36 +32,32 @@ function update_script() {
$STD npm install -g pnpm@latest
msg_ok "Installed pnpm"
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
if [[ ! -f ~/.zipline ]] || [[ "${RELEASE}" != "$(cat ~/.zipline)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop zipline
msg_ok "${APP} Stopped"
msg_info "Updating ${APP} to ${RELEASE}"
cp /opt/zipline/.env /opt/
mkdir -p /opt/zipline-uploads
if [ -d /opt/zipline/uploads ] && [ "$(ls -A /opt/zipline/uploads)" ]; then
cp -R /opt/zipline/uploads/* /opt/zipline-uploads/
fi
curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip")
$STD unzip v"${RELEASE}".zip
cp /opt/zipline/.env /opt/
rm -R /opt/zipline
mv zipline-"${RELEASE}" /opt/zipline
fetch_and_deploy_gh_release "zipline" "diced/zipline" "tarball"
msg_info "Updating ${APP} to ${RELEASE}"
cd /opt/zipline
mv /opt/.env /opt/zipline/.env
$STD pnpm install
$STD pnpm build
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP}"
msg_info "Starting ${APP}"
systemctl start zipline
msg_ok "Started ${APP}"
msg_info "Cleaning Up"
rm -rf v"${RELEASE}".zip
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"

View File

@@ -27,27 +27,24 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt | grep -oP '\d+\.\d+\.\d+')" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
if [[ ! -f ~/.zitadel ]] || [[ "${RELEASE}" != "$(cat ~/.zitadel)" ]]; then
msg_info "Stopping $APP"
systemctl stop zitadel
msg_ok "Stopped $APP"
rm -f /usr/local/bin/zitadel
fetch_and_deploy_gh_release "zitadel" "zitadel/zitadel" "prebuild" "latest" "/usr/local/bin" "zitadel-linux-amd64.tar.gz"
msg_info "Updating $APP to ${RELEASE}"
cd /tmp
curl -fsSL "https://github.com/zitadel/zitadel/releases/download/v$RELEASE/zitadel-linux-amd64.tar.gz" | tar -xz
mv zitadel-linux-amd64/zitadel /usr/local/bin
$STD zitadel setup --masterkeyFile /opt/zitadel/.masterkey --config /opt/zitadel/config.yaml --init-projections=true
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP to ${RELEASE}"
msg_info "Starting $APP"
systemctl start zitadel
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf /tmp/zitadel-linux-amd64
msg_ok "Cleanup Completed"
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"

View File

@@ -27,17 +27,21 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Updating $APP to ${RELEASE}"
RELEASE=$(curl -fsSL https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f ~/.zoraxy ]] || [[ "${RELEASE}" != "$(cat ~/.zoraxy)" ]]; then
msg_info "Stopping service"
systemctl stop zoraxy
curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o $(basename "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64")
msg_ok "Service stopped"
rm -rf /opt/zoraxy/zoraxy
mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy
chmod +x /opt/zoraxy/zoraxy
fetch_and_deploy_gh_release "zoraxy" "tobychui/zoraxy" "singlefile" "latest" "/opt/zoraxy" "zoraxy_linux_amd64"
msg_info "Starting service"
systemctl start zoraxy
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated $APP"
msg_ok "Service started"
msg_ok "Updated successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi

View File

@@ -23,25 +23,29 @@ function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /usr/bin/zot ]]; then
msg_error "No ${APP} installation found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/project-zot/zot/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
RELEASE=$(curl -fsSL https://api.github.com/repos/project-zot/zot/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
if [[ ! -f ~/.${APP} ]] || [[ "${RELEASE}" != "$(cat ~/.${APP})" ]]; then
msg_info "Stopping Zot service"
systemctl stop zot
msg_ok "Stopped Zot service"
msg_info "Updating Zot to ${RELEASE}"
curl -fsSL "https://github.com/project-zot/zot/releases/download/${RELEASE}/zot-linux-amd64" -o /usr/bin/zot
chmod +x /usr/bin/zot
rm -f /usr/bin/zot
fetch_and_deploy_gh_release "zot" "project-zot/zot" "singlefile" "latest" "/usr/bin" "zot-linux-amd64"
msg_info "Configuring Zot Registry"
chown root:root /usr/bin/zot
echo "${RELEASE}" >~/.${APP}
systemctl restart zot
msg_ok "Updated Zot to ${RELEASE}"
msg_ok "Configured Zot Registry"
msg_info "Starting service"
systemctl start zot
msg_ok "Service started"
msg_ok "Updated successfuly"
else
msg_ok "Zot is already up to date (${RELEASE})"
fi

View File

@@ -27,27 +27,24 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f ~/.zwave-js-ui ]] || [[ "${RELEASE}" != "$(cat ~/.zwave-js-ui)" ]]; then
msg_info "Stopping Service"
systemctl stop zwave-js-ui
msg_ok "Stopped Service"
msg_info "Updating Z-Wave JS UI"
rm -rf /opt/zwave-js-ui/*
cd /opt/zwave-js-ui
curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o $(basename "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip")
$STD unzip zwave-js-ui-${RELEASE}-linux.zip
msg_ok "Updated Z-Wave JS UI"
fetch_and_deploy_gh_release "zwave-js-ui" "zwave-js/zwave-js-ui" "prebuild" "latest" "/opt/zwave-js-ui" "zwave-js-ui*-linux.zip"
msg_info "Starting Service"
systemctl start zwave-js-ui
msg_ok "Started Service"
msg_info "Cleanup"
rm -rf /opt/zwave-js-ui/zwave-js-ui-${RELEASE}-linux.zip
rm -rf /opt/zwave-js-ui/store
msg_ok "Cleaned"
msg_ok "Updated Successfully!\n"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."

View File

@@ -2,7 +2,7 @@
"name": "Jenkins",
"slug": "jenkins",
"categories": [
22
20
],
"date_created": "2024-12-26",
"type": "ct",

View File

@@ -39,6 +39,10 @@
{
"text": "After installation, access the web interface to configure your Proxmox connection details through the built-in setup wizard",
"type": "Info"
},
{
"text": "Configure authentication in the Web UI => Settings => Security",
"type": "Info"
}
]
}

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 7912,
"documentation": null,
"documentation": "https://github.com/Donkie/Spoolman/wiki/Installation",
"website": "https://github.com/Donkie/Spoolman",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/spoolman.webp",
"config_path": "/opt/spoolman/.env",

View File

@@ -1,9 +1,119 @@
[
{
"name": "ollama/ollama",
"version": "v0.11.5-rc0",
"date": "2025-08-14T22:24:01Z"
},
{
"name": "wizarrrr/wizarr",
"version": "2025.8.3",
"date": "2025-08-14T22:05:27Z"
},
{
"name": "rcourtman/Pulse",
"version": "v4.3.8",
"date": "2025-08-14T22:01:41Z"
},
{
"name": "mongodb/mongo",
"version": "r6.0.26",
"date": "2025-08-14T21:10:05Z"
},
{
"name": "esphome/esphome",
"version": "2025.7.5",
"date": "2025-08-05T03:37:52Z"
},
{
"name": "fallenbagel/jellyseerr",
"version": "v2.7.3",
"date": "2025-08-14T20:43:46Z"
},
{
"name": "immich-app/immich",
"version": "v1.138.0",
"date": "2025-08-14T19:34:54Z"
},
{
"name": "gristlabs/grist-core",
"version": "v1.7.2",
"date": "2025-08-14T19:07:57Z"
},
{
"name": "mattermost/mattermost",
"version": "v10.10.2",
"date": "2025-08-14T18:18:41Z"
},
{
"name": "linkwarden/linkwarden",
"version": "v2.11.7",
"date": "2025-08-14T17:14:33Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-arroy-becomes-hannoy-11",
"date": "2025-08-14T13:10:45Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.64",
"date": "2025-07-28T14:24:56Z"
},
{
"name": "goauthentik/authentik",
"version": "version/2025.8.0-rc2",
"date": "2025-08-12T21:12:08Z"
},
{
"name": "Paymenter/Paymenter",
"version": "v1.2.9",
"date": "2025-08-14T11:17:26Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.106.3",
"date": "2025-08-11T15:16:06Z"
},
{
"name": "Luligu/matterbridge",
"version": "Matter-1.4.1",
"date": "2025-08-14T07:37:23Z"
},
{
"name": "syncthing/syncthing",
"version": "v2.0.1",
"date": "2025-08-14T06:45:08Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3-beta.10",
"date": "2025-07-15T06:07:03Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.2286",
"date": "2025-08-14T05:57:10Z"
},
{
"name": "booklore-app/booklore",
"version": "v0.37.0",
"date": "2025-08-14T00:37:49Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v3.6.2",
"date": "2025-07-17T12:08:03Z"
},
{
"name": "jellyfin/jellyfin",
"version": "v10.10.7",
"date": "2025-04-05T19:14:59Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w33-4.13.0",
"date": "2025-08-13T21:46:59Z"
},
{
"name": "Kometa-Team/Kometa",
"version": "v2.2.1",
@@ -27,27 +137,22 @@
{
"name": "runtipi/runtipi",
"version": "nightly",
"date": "2025-08-12T16:31:27Z"
"date": "2025-08-13T17:14:49Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.2",
"date": "2025-06-26T22:08:00Z"
},
{
"name": "immich-app/immich",
"version": "v1.138.0",
"date": "2025-08-13T17:08:29Z"
},
{
"name": "go-gitea/gitea",
"version": "v1.24.5",
"date": "2025-08-13T16:35:52Z"
},
{
"name": "zabbix/zabbix",
"version": "7.4.2rc1",
"date": "2025-08-13T14:15:08Z"
"name": "keycloak/keycloak",
"version": "26.2.7",
"date": "2025-08-07T08:19:29Z"
},
{
"name": "zabbix/zabbix",
@@ -69,11 +174,6 @@
"version": "v4.1.1",
"date": "2025-08-13T11:58:04Z"
},
{
"name": "esphome/esphome",
"version": "2025.7.5",
"date": "2025-08-05T03:37:52Z"
},
{
"name": "raydak-labs/configarr",
"version": "v1.14.1",
@@ -99,11 +199,6 @@
"version": "v2.16.10",
"date": "2025-08-13T06:43:41Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.2282",
"date": "2025-08-13T06:08:03Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.3.0-beta.1",
@@ -114,41 +209,16 @@
"version": "v4.0.1",
"date": "2025-08-13T05:40:30Z"
},
{
"name": "goauthentik/authentik",
"version": "version/2025.8.0-rc2",
"date": "2025-08-12T21:12:08Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v3.6.2",
"date": "2025-07-17T12:08:03Z"
},
{
"name": "coder/code-server",
"version": "v4.103.0",
"date": "2025-08-12T22:29:54Z"
},
{
"name": "meilisearch/meilisearch",
"version": "latest",
"date": "2025-08-12T17:24:32Z"
},
{
"name": "netbox-community/netbox",
"version": "v4.3.6",
"date": "2025-08-12T17:16:42Z"
},
{
"name": "keycloak/keycloak",
"version": "26.2.7",
"date": "2025-08-07T08:19:29Z"
},
{
"name": "fallenbagel/jellyseerr",
"version": "preview-dns-cache-manager",
"date": "2025-08-12T15:29:51Z"
},
{
"name": "Brandawg93/PeaNUT",
"version": "v5.12.0",
@@ -159,11 +229,6 @@
"version": "jenkins-2.523",
"date": "2025-08-12T14:54:07Z"
},
{
"name": "rcourtman/Pulse",
"version": "v4.3.0",
"date": "2025-08-12T13:12:33Z"
},
{
"name": "element-hq/synapse",
"version": "v1.136.0",
@@ -179,11 +244,6 @@
"version": "4.5.0",
"date": "2025-08-12T07:03:15Z"
},
{
"name": "syncthing/syncthing",
"version": "v2.0.0",
"date": "2025-08-12T06:13:55Z"
},
{
"name": "pelican-dev/panel",
"version": "v1.0.0-beta24",
@@ -199,11 +259,6 @@
"version": "REL_13_22",
"date": "2025-08-11T21:10:58Z"
},
{
"name": "mongodb/mongo",
"version": "r8.2.0-rc4",
"date": "2025-08-11T19:20:25Z"
},
{
"name": "home-assistant/core",
"version": "2025.8.1",
@@ -214,11 +269,6 @@
"version": "v1.24.14",
"date": "2025-08-11T16:49:58Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.106.3",
"date": "2025-08-11T15:16:06Z"
},
{
"name": "TwiN/gatus",
"version": "v5.22.0",
@@ -259,11 +309,6 @@
"version": "4.5.2",
"date": "2025-07-09T19:08:28Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3-beta.10",
"date": "2025-07-15T06:07:03Z"
},
{
"name": "moghtech/komodo",
"version": "v1.18.4",
@@ -274,11 +319,6 @@
"version": "v1.37.0.5076",
"date": "2025-06-04T11:04:53Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.2.2",
"date": "2025-08-11T00:22:17Z"
},
{
"name": "slskd/slskd",
"version": "0.23.2",
@@ -324,11 +364,6 @@
"version": "v0.86.1",
"date": "2025-08-09T22:05:10Z"
},
{
"name": "wizarrrr/wizarr",
"version": "2025.8.2",
"date": "2025-08-09T18:11:46Z"
},
{
"name": "Stirling-Tools/Stirling-PDF",
"version": "v1.2.0",
@@ -389,16 +424,6 @@
"version": "v25.2",
"date": "2025-07-04T08:21:42Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w32-4.13.0",
"date": "2025-07-30T08:30:15Z"
},
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.16",
"date": "2025-07-28T22:46:46Z"
},
{
"name": "apache/tika",
"version": "3.2.2",
@@ -409,11 +434,6 @@
"version": "mariadb-12.0.2",
"date": "2025-08-07T21:23:15Z"
},
{
"name": "ollama/ollama",
"version": "v0.11.4",
"date": "2025-08-07T21:23:55Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.86.4",
@@ -534,11 +554,6 @@
"version": "pmm-6401-v1.123.0",
"date": "2025-08-04T15:11:36Z"
},
{
"name": "Paymenter/Paymenter",
"version": "v1.2.8",
"date": "2025-08-04T13:44:03Z"
},
{
"name": "apache/tomcat",
"version": "10.1.44",
@@ -629,11 +644,6 @@
"version": "1.23.1",
"date": "2025-08-01T04:30:24Z"
},
{
"name": "gristlabs/grist-core",
"version": "v1.7.1",
"date": "2025-07-31T22:26:54Z"
},
{
"name": "lazy-media/Reactive-Resume",
"version": "v1.2.3",
@@ -699,11 +709,6 @@
"version": "v0.58.0",
"date": "2025-07-28T18:59:50Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.64",
"date": "2025-07-28T14:24:56Z"
},
{
"name": "PrivateBin/PrivateBin",
"version": "2.0.0",
@@ -769,11 +774,6 @@
"version": "5.0.0",
"date": "2025-07-21T07:16:58Z"
},
{
"name": "linkwarden/linkwarden",
"version": "v2.11.5",
"date": "2025-07-20T03:14:42Z"
},
{
"name": "wavelog/wavelog",
"version": "2.0.7",

View File

@@ -1,35 +1,35 @@
{
"name": "Wiki.js",
"slug": "wikijs",
"categories": [
12
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": null,
"website": "https://js.wiki/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/wiki-js.webp",
"config_path": "/opt/wikijs/config.yml",
"description": "Wiki.js is a free, open-source, and modern wiki application built using Node.js. It is designed to be fast, easy to use, and flexible, with a range of features for collaboration, knowledge management, and content creation. Wiki.js supports Markdown syntax for editing pages, and includes features such as version control, page history, and access control, making it easy to manage content and collaborate with others. The software is fully customizable, with a range of themes and extensions available, and can be deployed on a local server or in the cloud, making it an ideal choice for small teams and organizations looking to create and manage a wiki. Wiki.js provides a modern, user-friendly interface, and supports a range of data sources, including local file systems, databases, and cloud storage services.",
"install_methods": [
{
"type": "default",
"script": "ct/wikijs.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 7,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
"name": "Wiki.js",
"slug": "wikijs",
"categories": [
12
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://docs.requarks.io/",
"website": "https://js.wiki/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/wiki-js.webp",
"config_path": "/opt/wikijs/config.yml",
"description": "Wiki.js is a free, open-source, and modern wiki application built using Node.js. It is designed to be fast, easy to use, and flexible, with a range of features for collaboration, knowledge management, and content creation. Wiki.js supports Markdown syntax for editing pages, and includes features such as version control, page history, and access control, making it easy to manage content and collaborate with others. The software is fully customizable, with a range of themes and extensions available, and can be deployed on a local server or in the cloud, making it an ideal choice for small teams and organizations looking to create and manage a wiki. Wiki.js provides a modern, user-friendly interface, and supports a range of data sources, including local file systems, databases, and cloud storage services.",
"install_methods": [
{
"type": "default",
"script": "ct/wikijs.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 7,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -46,6 +46,10 @@
{
"text": "Wireguard and WGDashboard are not the same. More info: `https://docs.wgdashboard.dev/what-is-wireguard-what-is-wgdashboard.html`",
"type": "info"
},
{
"text": "WGDashboard installation is optional.`",
"type": "info"
}
]
}

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": null,
"documentation": "https://zipline.diced.sh/docs/get-started",
"website": "https://zipline.diced.sh/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zipline.webp",
"config_path": "/opt/zipline/.env",

View File

@@ -1,35 +1,35 @@
{
"name": "Zoraxy",
"slug": "zoraxy",
"categories": [
4
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8000,
"documentation": null,
"website": "https://zoraxy.aroz.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zoraxy.webp",
"config_path": "",
"description": "Zoraxy is an all in one homelab network routing solution.",
"install_methods": [
{
"type": "default",
"script": "ct/zoraxy.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 6,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
"name": "Zoraxy",
"slug": "zoraxy",
"categories": [
4
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8000,
"documentation": "https://github.com/tobychui/zoraxy/wiki",
"website": "https://zoraxy.aroz.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zoraxy.webp",
"config_path": "",
"description": "Zoraxy is an all in one homelab network routing solution.",
"install_methods": [
{
"type": "default",
"script": "ct/zoraxy.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 6,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -455,6 +455,8 @@ systemctl enable -q --now "$APPLICATION"-ml.service "$APPLICATION"-web.service
msg_ok "Created user, env file, scripts and services"
sed -i "$ a VERSION_ID=12" /etc/os-release # otherwise the motd_ssh function will fail
cp /etc/debian_version ~/.debian_version.bak
sed -i 's/.*/13.0/' /etc/debian_version
motd_ssh
customize

View File

@@ -34,7 +34,7 @@ chown -R pulse:pulse /etc/pulse /opt/pulse
msg_ok "Installed Pulse"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/pulse.service
cat <<EOF >/etc/systemd/system/pulse-backend.service
[Unit]
Description=Pulse Monitoring Server
After=network.target
@@ -44,7 +44,7 @@ Type=simple
User=pulse
Group=pulse
WorkingDirectory=/opt/pulse
ExecStart=/opt/pulse/pulse
ExecStart=/opt/pulse/bin/pulse
Restart=always
RestartSec=3
StandardOutput=journal
@@ -55,7 +55,7 @@ Environment="PULSE_DATA_DIR=/etc/pulse"
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now pulse
systemctl enable -q --now pulse-backend
msg_ok "Created Service"
motd_ssh

View File

@@ -13,34 +13,36 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies (Patience)"
msg_info "Installing SearXNG dependencies"
echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/backports.list
$STD apt-get update
$STD apt-get install -y \
redis-server \
build-essential \
libffi-dev \
libssl-dev \
git
msg_ok "Installed Dependencies"
python3-dev python3-babel python3-venv python-is-python3 \
uwsgi uwsgi-plugin-python3 \
git build-essential libxslt-dev zlib1g-dev libffi-dev libssl-dev sudo valkey
msg_ok "Installed dependencies"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-{pip,venv,yaml,dev}
$STD pip install --upgrade pip setuptools wheel
$STD pip install pyyaml
msg_ok "Setup Python3"
msg_info "Creating user and preparing directories"
useradd --system --shell /bin/bash --home-dir "/usr/local/searxng" --comment 'Privacy-respecting metasearch engine' searxng || true
mkdir -p /usr/local/searxng
chown -R searxng:searxng /usr/local/searxng
msg_ok "User and directories ready"
msg_info "Setup SearXNG"
mkdir -p /usr/local/searxng /etc/searxng
useradd -d /etc/searxng searxng
chown searxng:searxng /usr/local/searxng /etc/searxng
$STD git clone https://github.com/searxng/searxng.git /usr/local/searxng/searxng-src
cd /usr/local/searxng/
sudo -u searxng python3 -m venv /usr/local/searxng/searx-pyenv
source /usr/local/searxng/searx-pyenv/bin/activate
$STD pip install --upgrade pip setuptools wheel
$STD pip install pyyaml
$STD pip install --use-pep517 --no-build-isolation -e /usr/local/searxng/searxng-src
msg_info "Cloning SearXNG source"
$STD sudo -H -u searxng git clone https://github.com/searxng/searxng /usr/local/searxng/searxng-src
msg_ok "Cloned SearXNG"
msg_info "Creating Python virtual environment"
sudo -H -u searxng bash -c "
python3 -m venv /usr/local/searxng/searx-pyenv &&
. /usr/local/searxng/searx-pyenv/bin/activate &&
$STD pip install -U pip setuptools wheel pyyaml &&
$STD pip install --use-pep517 --no-build-isolation -e /usr/local/searxng/searxng-src
"
msg_ok "Python environment ready"
msg_info "Configuring SearXNG settings"
mkdir -p /etc/searxng
SECRET_KEY=$(openssl rand -hex 32)
cat <<EOF >/etc/searxng/settings.yml
# SearXNG settings
@@ -56,8 +58,8 @@ server:
secret_key: "${SECRET_KEY}"
limiter: false
image_proxy: true
redis:
url: "redis://127.0.0.1:6379/0"
valkey:
url: "valkey://localhost:6379/0"
ui:
static_use_hash: true
enabled_plugins:
@@ -78,16 +80,17 @@ engines:
shortcut: ddg
display_error_messages: true
EOF
chown searxng:searxng /etc/searxng/settings.yml
chmod 640 /etc/searxng/settings.yml
msg_ok "Setup SearXNG"
msg_ok "Configured settings"
msg_info "Set up web services"
cat <<EOF >/etc/systemd/system/searxng.service
[Unit]
Description=SearXNG service
After=network.target redis-server.service
Wants=redis-server.service
After=network.target valkey-server.service
Wants=valkey-server.service
[Service]
Type=simple

View File

@@ -43,17 +43,19 @@ echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed Spoolman"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/spoolman.service
cat <<'EOF' >/etc/systemd/system/spoolman.service
[Unit]
Description=Spoolman
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/spoolman
EnvironmentFile=/opt/spoolman/.env
ExecStart=uvicorn spoolman.main:app --host 0.0.0.0 --port 7912
ExecStart=uvicorn spoolman.main:app --host "${SPOOLMAN_HOST}" --port "${SPOOLMAN_PORT}"
Restart=always
User=root
[Install]
WantedBy=multi-user.target
EOF

View File

@@ -20,6 +20,7 @@ msg_ok "Installed Dependencies"
NODE_VERSION="20" NODE_MODULE="yarn@latest,node-gyp" setup_nodejs
PG_VERSION="17" setup_postgresql
fetch_and_deploy_gh_release "wikijs" "requarks/wiki" "prebuild" "latest" "/opt/wikijs" "wiki-js.tar.gz"
msg_info "Set up PostgreSQL"
DB_NAME="wiki"
@@ -39,17 +40,11 @@ $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
} >>~/wikijs.creds
msg_ok "Set up PostgreSQL"
msg_info "Setup Wiki.js"
temp_file=$(mktemp)
RELEASE=$(curl -fsSL https://api.github.com/repos/Requarks/wiki/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" -o ""$temp_file""
mkdir /opt/wikijs
tar -xzf "$temp_file" -C /opt/wikijs
msg_info "Configuring Wiki.js"
mv /opt/wikijs/config.sample.yml /opt/wikijs/config.yml
sed -i -E 's|^( *user: ).*|\1'"$DB_USER"'|' /opt/wikijs/config.yml
sed -i -E 's|^( *pass: ).*|\1'"$DB_PASS"'|' /opt/wikijs/config.yml
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Wiki.js"
msg_ok "Configured Wiki.js"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/wikijs.service
@@ -75,7 +70,6 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -f "$temp_file"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -13,28 +13,27 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y git
msg_ok "Installed Dependencies"
msg_info "Installing WireGuard"
$STD apt-get install -y wireguard wireguard-tools net-tools iptables
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confnew" install -y iptables-persistent &>/dev/null
$STD netfilter-persistent reload
msg_ok "Installed WireGuard"
msg_info "Installing WGDashboard"
git clone -q https://github.com/donaldzou/WGDashboard.git /etc/wgdashboard
cd /etc/wgdashboard/src
chmod u+x wgd.sh
$STD ./wgd.sh install
echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf
$STD sysctl -p /etc/sysctl.conf
msg_ok "Installed WGDashboard"
read -r -p "${TAB3}Would you like to add WGDashboard? <y/N> " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
fetch_and_deploy_gh_release "wgdashboard" "donaldzou/WGDashboard" "tarball" "latest" "/etc/wgdashboard"
msg_info "Create Example Config for WGDashboard"
private_key=$(wg genkey)
cat <<EOF >/etc/wireguard/wg0.conf
msg_info "Installing WGDashboard"
cd /etc/wgdashboard/src
chmod u+x wgd.sh
$STD ./wgd.sh install
echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf
$STD sysctl -p /etc/sysctl.conf
msg_ok "Installed WGDashboard"
msg_info "Create Example Config for WGDashboard"
private_key=$(wg genkey)
cat <<EOF >/etc/wireguard/wg0.conf
[Interface]
PrivateKey = ${private_key}
Address = 10.0.0.1/24
@@ -43,10 +42,10 @@ PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACC
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE;
ListenPort = 51820
EOF
msg_ok "Created Example Config for WGDashboard"
msg_ok "Created Example Config for WGDashboard"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/wg-dashboard.service
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/wg-dashboard.service
[Unit]
After=syslog.target network-online.target
Wants=wg-quick.target
@@ -66,8 +65,9 @@ Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now wg-dashboard
msg_ok "Created Service"
systemctl enable -q --now wg-dashboard
msg_ok "Created Service"
fi
motd_ssh
customize

View File

@@ -13,13 +13,7 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y \
apache2 \
php8.2-{bcmath,common,cli,curl,fpm,gd,snmp,imap,mbstring,mysql,xml,zip} \
libapache2-mod-php
msg_ok "Installed Dependencies"
PHP_VERSION="8.4" PHP_FPM="YES" PHP_MODULE="common,snmp,imap,mysql" PHP_APACHE="YES" setup_php
setup_mariadb
msg_info "Setting up Database"

View File

@@ -17,17 +17,8 @@ msg_info "Installing Dependencies"
$STD apt-get install -y ffmpeg
msg_ok "Installed Dependencies"
msg_info "Installing ${APPLICATION}"
RELEASE=$(curl -fsSL https://api.github.com/repos/marcopiovanello/yt-dlp-web-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/marcopiovanello/yt-dlp-web-ui/releases/download/v${RELEASE}/yt-dlp-webui_linux-amd64" -o "/usr/local/bin/yt-dlp-webui"
chmod +x /usr/local/bin/yt-dlp-webui
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed ${APPLICATION}"
msg_info "Installing yt-dlp"
curl -fsSL "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" -o "/usr/local/bin/yt-dlp"
chmod a+rx /usr/local/bin/yt-dlp
msg_ok "Installed yt-dlp"
fetch_and_deploy_gh_release "yt-dlp-webui" "marcopiovanello/yt-dlp-web-ui" "singlefile" "latest" "/usr/local/bin" "yt-dlp-webui_linux-amd64"
fetch_and_deploy_gh_release "yt-dlp" "yt-dlp/yt-dlp" "singlefile" "latest" "/usr/local/bin" "yt-dlp"
msg_info "Setting up ${APPLICATION}"
mkdir -p /opt/yt-dlp-webui

View File

@@ -16,6 +16,7 @@ update_os
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
PG_VERSION="16" setup_postgresql
fetch_and_deploy_gh_release "zipline" "diced/zipline" "tarball"
msg_info "Setting up PostgreSQL"
DB_NAME=ziplinedb
@@ -37,11 +38,6 @@ $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
msg_ok "Set up PostgreSQL"
msg_info "Installing Zipline (Patience)"
cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
$STD unzip v"${RELEASE}".zip
mv zipline-"${RELEASE}" /opt/zipline
cd /opt/zipline
cat <<EOF >/opt/zipline/.env
DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME
@@ -55,7 +51,6 @@ EOF
mkdir -p /opt/zipline-uploads
$STD pnpm install
$STD pnpm build
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Zipline"
msg_info "Creating Service"
@@ -77,8 +72,8 @@ msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -f /opt/v${RELEASE}.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -17,7 +17,7 @@ msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y ca-certificates
msg_ok "Installed Dependecies"
PG_VERSION="17" PG_MODULES="common" setup_postgresql
PG_VERSION="17" setup_postgresql
msg_info "Installing Postgresql"
DB_NAME="zitadel"
@@ -39,11 +39,7 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME OWNER $DB_ADMIN_USER;"
} >>~/zitadel.creds
msg_ok "Installed PostgreSQL"
msg_info "Installing Zitadel"
RELEASE=$(curl -fsSL https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/zitadel/zitadel/releases/download/v$RELEASE/zitadel-linux-amd64.tar.gz" | tar -xz
mv zitadel-linux-amd64/zitadel /usr/local/bin
msg_ok "Installed Zitadel"
fetch_and_deploy_gh_release "zitadel" "zitadel/zitadel" "prebuild" "latest" "/usr/local/bin" "zitadel-linux-amd64.tar.gz"
msg_info "Setting up Zitadel Environments"
mkdir -p /opt/zitadel
@@ -114,7 +110,7 @@ NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q zitadel.service
systemctl enable -q --now zitadel
msg_ok "Created Services"
msg_info "Zitadel initial setup"
@@ -122,7 +118,6 @@ zitadel start-from-init --masterkeyFile /opt/zitadel/.masterkey --config /opt/zi
sleep 60
kill $(lsof -i | awk '/zitadel/ {print $2}' | head -n1)
useradd zitadel
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Zitadel initialized"
msg_info "Set ExternalDomain to current IP and restart Zitadel"
@@ -145,7 +140,6 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -rf ~/zitadel-linux-amd64
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -13,15 +13,8 @@ setting_up_container
network_check
update_os
msg_info "Installing Zoraxy (Patience)"
RELEASE=$(curl -fsSL https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o zoraxy_linux_amd64
mkdir -p /opt/zoraxy
mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy
chmod +x /opt/zoraxy/zoraxy
fetch_and_deploy_gh_release "zoraxy" "tobychui/zoraxy" "singlefile" "latest" "/opt/zoraxy" "zoraxy_linux_amd64"
ln -s /opt/zoraxy/zoraxy /usr/local/bin/zoraxy
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed Zoraxy"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/zoraxy.service

View File

@@ -17,11 +17,9 @@ msg_info "Installing Dependencies"
$STD apt-get install -y apache2-utils
msg_ok "Installed Dependencies"
msg_info "Installing Zot Registry"
RELEASE=$(curl -fsSL https://api.github.com/repos/project-zot/zot/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -fsSL "https://github.com/project-zot/zot/releases/download/${RELEASE}/zot-linux-amd64" -o /usr/bin/zot
chmod +x /usr/bin/zot
chown root:root /usr/bin/zot
fetch_and_deploy_gh_release "zot" "project-zot/zot" "singlefile" "latest" "/usr/bin" "zot-linux-amd64"
msg_info "Configuring Zot Registry"
mkdir -p /etc/zot
curl -fsSL https://raw.githubusercontent.com/project-zot/zot/refs/heads/main/examples/config-ui.json -o /etc/zot/config.json
ZOTPASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
@@ -31,8 +29,7 @@ $STD htpasswd -b -B -c /etc/zot/htpasswd admin "$ZOTPASSWORD"
echo "Zot User: admin"
echo "Zot Password: $ZOTPASSWORD"
} >>~/zot.creds
echo "${RELEASE}" >~/.${APPLICATION}
msg_ok "Installed Zot Registry"
msg_ok "Configured Zot Registry"
msg_info "Setup Service"
cat <<EOF >/etc/systemd/system/zot.service

View File

@@ -13,19 +13,15 @@ setting_up_container
network_check
update_os
msg_info "Installing Z-Wave JS UI"
mkdir -p /opt/zwave-js-ui
fetch_and_deploy_gh_release "zwave-js-ui" "zwave-js/zwave-js-ui" "prebuild" "latest" "/opt/zwave-js-ui" "zwave-js-ui*-linux.zip"
msg_info "Configuring Z-Wave JS UI"
mkdir -p /opt/zwave_store
cd /opt/zwave-js-ui
RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o "zwave-js-ui-${RELEASE}-linux.zip"
$STD unzip zwave-js-ui-${RELEASE}-linux.zip
cat <<EOF >/opt/.env
ZWAVEJS_EXTERNAL_CONFIG=/opt/zwave_store/.config-db
STORE_DIR=/opt/zwave_store
EOF
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Z-Wave JS UI"
msg_ok "Configured Z-Wave JS UI"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/zwave-js-ui.service
@@ -50,7 +46,6 @@ motd_ssh
customize
msg_info "Cleaning up"
rm zwave-js-ui-${RELEASE}-linux.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<svg height="100%" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;" width="100%" version="1.1" viewBox="0 0 150 150" xmlns="http://www.w3.org/2000/svg" xmlns:bx="https://boxy-svg.com">
<desc>Proxmox VE Helper-Scripts</desc>
<title>ProxmoxVE</title>
<defs>
<bx:grid x="0" y="0" width="15" height="15"/>
</defs>
<g transform="matrix(0, -1.333333, 1.333333, 0, 7.499997, 52.499993)" style="transform-origin: 67.5px 22.5px;">
<g transform="matrix(1, 0, 0, 1, 0, 5.823999)">
<path d="M 75 -20.824 L 120 24.176 L 105 24.176 L 75 -5.824 L 45 24.176 L 30 24.176 L 75 -20.824 Z" style="fill: rgb(0, 128, 196);"/>
<path d="M 60 54.176 L 105 9.176 L 90 9.176 L 60 39.176 L 30 9.176 L 15 9.176 L 60 54.176 Z" style="stroke-width: 1; fill: rgb(140, 154, 154);"/>
<path d="M 75 -20.824 L 75 -5.824 L 45 24.176 L 30 24.176 L 75 -20.824 Z" style="fill: rgb(0, 128, 196);"/>
<path d="M 30 24.176 L 33.75 12.926 L 37.5 16.676 L 33.75 20.426 L 30 24.176 Z" style="fill: rgb(84, 91, 90);"/>
</g>
<path d="M 105 15 L 101.25 26.25 L 97.5 22.5 L 101.25 18.75 L 105 15 Z" style="fill: rgb(18, 85, 112);"/>
</g>
<text style="fill: rgb(140, 154, 154); font-family: Arial, sans-serif; font-size: 4.8px; white-space: pre; stroke-width: 1; transform-origin: 80.82px 79.594px;" transform="matrix(0.707107, -0.707107, 0.707107, 0.707107, -21.326438, -37.194571)" x="45.272" y="79.196">Helper-Scripts.com</text>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<svg height="100%" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;" width="100%" version="1.1" viewBox="0 0 150 150" xmlns="http://www.w3.org/2000/svg" xmlns:bx="https://boxy-svg.com">
<desc>Proxmox VE Helper-Scripts</desc>
<title>ProxmoxVE</title>
<defs>
<bx:grid x="0" y="0" width="15" height="15"/>
</defs>
<g transform="matrix(0, -1.333333, 1.333333, 0, 7.499997, 52.499993)" style="transform-origin: 67.5px 22.5px;">
<g transform="matrix(1, 0, 0, 1, 0, 5.823999)">
<path d="M 75 -20.824 L 120 24.176 L 105 24.176 L 75 -5.824 L 45 24.176 L 30 24.176 L 75 -20.824 Z" style="fill: rgb(0, 128, 196);"/>
<path d="M 60 54.176 L 105 9.176 L 90 9.176 L 60 39.176 L 30 9.176 L 15 9.176 L 60 54.176 Z" style="stroke-width: 1; fill: rgb(140, 154, 154);"/>
<path d="M 75 -20.824 L 75 -5.824 L 45 24.176 L 30 24.176 L 75 -20.824 Z" style="fill: rgb(0, 128, 196);"/>
<path d="M 30 24.176 L 33.75 12.926 L 37.5 16.676 L 33.75 20.426 L 30 24.176 Z" style="fill: rgb(84, 91, 90);"/>
</g>
<path d="M 105 15 L 101.25 26.25 L 97.5 22.5 L 101.25 18.75 L 105 15 Z" style="fill: rgb(18, 85, 112);"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB