Compare commits

...

15 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
f339b7df10 Update CHANGELOG.md (#4735)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 01:15:09 +01:00
community-scripts-pr-app[bot]
a23a6a3da1 Update versions.json (#4734)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-27 02:14:29 +02:00
community-scripts-pr-app[bot]
3c12773956 Update CHANGELOG.md (#4727)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 13:08:04 +01:00
community-scripts-pr-app[bot]
d79ac98a31 Update versions.json (#4726)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 14:07:14 +02:00
CanbiZ
17654c2006 quickfix: tag for argus 2025-05-26 10:54:47 +02:00
community-scripts-pr-app[bot]
575443fac5 Update CHANGELOG.md (#4723)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 09:49:43 +01:00
community-scripts-pr-app[bot]
f38225d52f Update date in json (#4722)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-26 10:48:51 +02:00
community-scripts-pr-app[bot]
cef451c42c Update date in json (#4724)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-26 09:43:54 +01:00
community-scripts-pr-app[bot]
2a5856db03 Update CHANGELOG.md (#4721)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 09:43:27 +01:00
push-app-to-main[bot]
47abe248d0 'Add new script' (#4717)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-05-26 10:43:11 +02:00
push-app-to-main[bot]
98c64ffae9 'Add new script' (#4716)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-05-26 10:42:50 +02:00
CanbiZ
c136133b7c Excalidraw: increase HDD to 10GB (#4718) 2025-05-26 10:42:40 +02:00
Slaviša Arežina
1e5395d21b InspIRCd: Fix release name in release url (#4720)
* Update inspircd-install.sh

* Update
2025-05-26 10:29:44 +02:00
community-scripts-pr-app[bot]
dfb98698f3 Update CHANGELOG.md (#4715)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-26 06:31:05 +01:00
Chris
ff5b793e1e BREAKING CHANGE: Fix PocketID for v1.0.0 (#4711) 2025-05-26 07:30:24 +02:00
17 changed files with 574 additions and 300 deletions

View File

@@ -14,8 +14,24 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
## 2025-05-27
## 2025-05-26
### 🆕 New Scripts
- Argus ([#4717](https://github.com/community-scripts/ProxmoxVE/pull/4717))
- Kasm ([#4716](https://github.com/community-scripts/ProxmoxVE/pull/4716))
### 🚀 Updated Scripts
- Excalidraw: increase HDD to 10GB [@MickLesk](https://github.com/MickLesk) ([#4718](https://github.com/community-scripts/ProxmoxVE/pull/4718))
- #### 🐞 Bug Fixes
- BREAKING CHANGE: Fix PocketID for v1.0.0 [@vhsdream](https://github.com/vhsdream) ([#4711](https://github.com/community-scripts/ProxmoxVE/pull/4711))
- InspIRCd: Fix release name in release url [@tremor021](https://github.com/tremor021) ([#4720](https://github.com/community-scripts/ProxmoxVE/pull/4720))
## 2025-05-25
### 🚀 Updated Scripts

53
ct/argus.sh Normal file
View File

@@ -0,0 +1,53 @@
#!/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: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://release-argus.io/
APP="Argus"
var_tags="${var_tags:-watcher}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
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/argus ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/release-argus/Argus/releases/latest | jq -r .tag_name | sed 's/^v//')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Updating $APP to ${RELEASE}"
rm -f /opt/argus/Argus
curl -fsSL "https://github.com/release-argus/Argus/releases/download/${RELEASE}/Argus-${RELEASE}.linux-amd64" -o /opt/argus/Argus
chmod +x /opt/argus/Argus
systemctl restart argus
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
else
msg_ok "${APP} is already up to date (${RELEASE})"
fi
}
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}"

View File

@@ -9,7 +9,7 @@ APP="Excalidraw"
TAGS="diagrams"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}"
var_disk="${var_disk:-6}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
@@ -20,46 +20,46 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/excalidraw ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/excalidraw_version.txt)" ]] || [[ ! -f /opt/excalidraw_version.txt ]]; then
msg_info "Stopping $APP"
systemctl stop excalidraw
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
cd /tmp
temp_file=$(mktemp)
curl -fsSL "https://github.com/excalidraw/excalidraw/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar xzf $temp_file
rm -rf /opt/excalidraw
mv excalidraw-${RELEASE} /opt/excalidraw
cd /opt/excalidraw
$STD yarn
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start excalidraw
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf $temp_file
msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/excalidraw_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
if [[ ! -d /opt/excalidraw ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/excalidraw_version.txt)" ]] || [[ ! -f /opt/excalidraw_version.txt ]]; then
msg_info "Stopping $APP"
systemctl stop excalidraw
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
cd /tmp
temp_file=$(mktemp)
curl -fsSL "https://github.com/excalidraw/excalidraw/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar xzf $temp_file
rm -rf /opt/excalidraw
mv excalidraw-${RELEASE} /opt/excalidraw
cd /opt/excalidraw
$STD yarn
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start excalidraw
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf $temp_file
msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/excalidraw_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
start
@@ -69,4 +69,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}:3000${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

6
ct/headers/argus Normal file
View File

@@ -0,0 +1,6 @@
___
/ | _________ ___ _______
/ /| | / ___/ __ `/ / / / ___/
/ ___ |/ / / /_/ / /_/ (__ )
/_/ |_/_/ \__, /\__,_/____/
/____/

6
ct/headers/kasm Normal file
View File

@@ -0,0 +1,6 @@
__ __
/ //_/___ __________ ___
/ ,< / __ `/ ___/ __ `__ \
/ /| / /_/ (__ ) / / / / /
/_/ |_\__,_/____/_/ /_/ /_/

View File

@@ -35,8 +35,8 @@ function update_script() {
msg_info "Updating ${APP} to v${RELEASE}"
cd /opt
curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb")
$STD apt-get install "./inspircd_${RELEASE}.deb12u1_amd64.deb" -y
curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb")
$STD apt-get install "./inspircd_${RELEASE}.deb12u2_amd64.deb" -y
echo "${RELEASE}" >"/opt/${APP}_version.txt"
msg_ok "Updated ${APP} to v${RELEASE}"
@@ -45,7 +45,7 @@ function update_script() {
msg_ok "Started Service"
msg_info "Cleaning up"
rm -rf /opt/inspircd_${RELEASE}.deb12u1_amd64.deb
rm -rf /opt/inspircd_${RELEASE}.deb12u2_amd64.deb
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else

46
ct/kasm.sh Normal file
View File

@@ -0,0 +1,46 @@
#!/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: Omar Minaya
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.kasmweb.com/docs/latest/index.html
APP="Kasm"
var_tags="${var_tags:-os}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4192}"
var_disk="${var_disk:-30}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
var_fuse="${var_fuse:-yes}"
var_tun="${var_tun:-yes}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /var ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
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}https://${IP}${CL}"

View File

@@ -20,63 +20,62 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/pocket-id ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/pocket-id/pocket-id/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
msg_info "Updating $APP"
msg_info "Stopping $APP"
systemctl stop pocketid-backend.service
systemctl stop pocketid-frontend.service
systemctl stop caddy.service
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}"
cd /opt
cp -r /opt/pocket-id/backend/data /opt/data
cp /opt/pocket-id/backend/.env /opt/backend.env
cp /opt/pocket-id/frontend/.env /opt/frontend.env
rm -r /opt/pocket-id
curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip")
unzip -q v${RELEASE}.zip
mv pocket-id-${RELEASE} /opt/pocket-id
mv /opt/data /opt/pocket-id/backend/data
mv /opt/backend.env /opt/pocket-id/backend/.env
mv /opt/frontend.env /opt/pocket-id/frontend/.env
cd /opt/pocket-id/backend/cmd
go build -o ../pocket-id-backend
cd ../../frontend
npm install
npm run build
msg_ok "Updated $APP to ${RELEASE}"
msg_info "Starting $APP"
systemctl start pocketid-backend.service
systemctl start pocketid-frontend.service
systemctl start caddy.service
sleep 2
msg_ok "Started $APP"
# Cleaning up
msg_info "Cleaning Up"
rm -f /opt/v${RELEASE}.zip
msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
if [[ ! -d /opt/pocket-id ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/pocket-id/pocket-id/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 [[ "$(cat /opt/${APP}_version.txt)" < "1.0.0" ]]; then
msg_info "Migrating ${APP} to v${RELEASE}"
systemctl -q disable --now pocketid-backend pocketid-frontend caddy
mv /etc/caddy/Caddyfile ~/Caddyfile.bak
$STD apt remove --purge caddy nodejs -y
$STD apt autoremove -y
rm /etc/apt/{keyrings/nodesource.gpg,sources.list.d/nodesource.list}
rm -r /usr/local/go
cp -r /opt/pocket-id/backend/data /opt/data
cp /opt/pocket-id/backend/.env /opt/env
sed -i -e 's/PUBLIC_//g' \
-e '/^SQLITE_DB_PATH/d' \
-e '/^POSTGRES/s/^/# /' \
-e '/^UPLOAD_PATH/d' \
-e 's/8080/1411/' /opt/env
rm -r /opt/pocket-id
rm /etc/systemd/system/pocketid-frontend.service
BACKEND="/etc/systemd/system/pocketid-backend.service"
sed -i -e 's/Backend/Service/' \
-e 's/\/backend\|-backend//g' "$BACKEND"
mv "$BACKEND" ${BACKEND//-backend/}
systemctl daemon-reload
systemctl -q enable pocketid
mkdir /opt/pocket-id
mv /opt/data /opt/pocket-id
msg_ok "Migration complete. The reverse proxy port has been changed to 1411."
else
msg_info "Updating $APP to v${RELEASE}"
systemctl stop pocketid
cp /opt/pocket-id/.env /opt/env
fi
curl -fsSL "https://github.com/pocket-id/pocket-id/releases/download/v${RELEASE}/pocket-id-linux-amd64" -o /opt/pocket-id/pocket-id
chmod u+x /opt/pocket-id/pocket-id
mv /opt/env /opt/pocket-id/.env
msg_info "Starting $APP"
systemctl start pocketid
msg_ok "Started $APP"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start
@@ -85,6 +84,6 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Configure your reverse proxy to point to:${BGN} ${IP}:80${CL}"
echo -e "${INFO}${YW} Configure your reverse proxy to point to:${BGN} ${IP}:1411${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}https://{PUBLIC_URL}/login/setup${CL}"

View File

@@ -0,0 +1,35 @@
{
"name": "Argus",
"slug": "argus",
"categories": [
11
],
"date_created": "2025-05-26",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://release-argus.io/docs/overview/",
"website": "https://release-argus.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/argus.webp",
"config_path": "/opt/argus/config.yml",
"description": "Argus will query websites at a user defined interval for new software releases and then trigger Gotify/Slack/Other notification(s) and/or WebHook(s) when one has been found. For example, you could set it to monitor the Argus repo (release-argus/argus). This will query the GitHub API and track the tag_name variable. When this variable changes from what it was on a previous query, a GitHub-style WebHook could be sent that triggers something (like AWX) to update Argus on your server.",
"install_methods": [
{
"type": "default",
"script": "ct/argus.sh",
"resources": {
"cpu": 1,
"ram": 256,
"hdd": 3,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -21,7 +21,7 @@
"resources": {
"cpu": 2,
"ram": 3072,
"hdd": 6,
"hdd": 10,
"os": "debian",
"version": "12"
}

View File

@@ -0,0 +1,44 @@
{
"name": "Kasm",
"slug": "kasm",
"categories": [
9
],
"date_created": "2025-05-26",
"type": "ct",
"updateable": false,
"privileged": true,
"config_path": "",
"interface_port": 443,
"documentation": "https://www.kasmweb.com/docs/",
"website": "https://www.kasmweb.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/kasm-workspaces.webp",
"description": "Kasm Workspaces is a container streaming platform that delivers browser-based access to desktops, applications, and web services with enhanced security and scalability.",
"install_methods": [
{
"type": "default",
"script": "ct/kasm.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 50,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.",
"type": "warning"
},
{
"text": "Show password: `cat ~/kasm.creds`",
"type": "info"
}
]
}

View File

@@ -8,11 +8,11 @@
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 80,
"interface_port": 1411,
"documentation": "https://pocket-id.org/docs/",
"website": "https://github.com/pocket-id/pocket-id",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/pocket-id.webp",
"config_path": "/opt/pocket-id/backend/.env and /opt/pocket-id/frontend/.env",
"config_path": "/opt/pocket-id/.env",
"description": "Pocket ID is a simple OIDC provider that allows users to authenticate with their passkeys to your services.",
"install_methods": [
{
@@ -35,10 +35,6 @@
{
"text": "Pocket ID requires https to work.",
"type": "warning"
},
{
"text": "Configuration Path: `/opt/pocket-id/backend/.env`, `/opt/pocket-id/frontend/.env`.",
"type": "info"
}
]
}

View File

@@ -1,4 +1,114 @@
[
{
"name": "open-webui/open-webui",
"version": "v0.6.11",
"date": "2025-05-26T22:27:26Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.25.0.10024",
"date": "2025-05-26T21:58:37Z"
},
{
"name": "dani-garcia/vaultwarden",
"version": "1.34.1",
"date": "2025-05-26T21:40:54Z"
},
{
"name": "home-assistant/core",
"version": "2025.5.3",
"date": "2025-05-23T15:10:33Z"
},
{
"name": "mattermost/mattermost",
"version": "mattermost-redux@10.8.0",
"date": "2025-05-26T19:17:13Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.14.12",
"date": "2025-05-26T19:08:26Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.49.18",
"date": "2025-05-26T18:36:33Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.15",
"date": "2025-05-25T05:11:31Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.8.11.0",
"date": "2025-03-10T06:39:11Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.0",
"date": "2025-05-12T09:12:04Z"
},
{
"name": "zitadel/zitadel",
"version": "v3.2.1",
"date": "2025-05-26T14:27:59Z"
},
{
"name": "jupyter/notebook",
"version": "v7.4.3",
"date": "2025-05-26T14:27:27Z"
},
{
"name": "Checkmk/checkmk",
"version": "v2.3.0p33",
"date": "2025-05-26T13:57:51Z"
},
{
"name": "syncthing/syncthing",
"version": "v1.29.6",
"date": "2025-05-06T07:57:02Z"
},
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "pmm-6401-v1.118.0",
"date": "2025-05-26T13:09:32Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.91.3",
"date": "2025-05-08T12:25:10Z"
},
{
"name": "Graylog2/graylog2-server",
"version": "6.3.0-beta.3",
"date": "2025-05-26T12:40:56Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.61",
"date": "2025-04-22T12:42:26Z"
},
{
"name": "OliveTin/OliveTin",
"version": "2025.5.26",
"date": "2025-05-26T11:30:11Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.0.4",
"date": "2025-05-26T08:33:33Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.2",
"date": "2025-05-11T16:40:55Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.1951",
"date": "2025-05-26T05:51:18Z"
},
{
"name": "stonith404/pingvin-share",
"version": "v1.13.0",
@@ -25,30 +135,15 @@
"date": "2025-04-28T11:59:37Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.23.3.9987",
"date": "2025-05-17T12:55:29Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.14.10",
"date": "2025-05-07T20:23:29Z"
"name": "runtipi/runtipi",
"version": "nightly",
"date": "2025-05-25T09:44:06Z"
},
{
"name": "Kozea/Radicale",
"version": "v3.5.4",
"date": "2025-05-25T06:53:34Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.1947",
"date": "2025-05-25T05:53:55Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.15",
"date": "2025-05-25T05:11:31Z"
},
{
"name": "authelia/authelia",
"version": "v4.39.4",
@@ -99,21 +194,11 @@
"version": "1.2.33",
"date": "2025-05-23T15:59:05Z"
},
{
"name": "home-assistant/core",
"version": "2025.5.3",
"date": "2025-05-23T15:10:33Z"
},
{
"name": "docker/compose",
"version": "v2.36.2",
"date": "2025-05-23T14:21:20Z"
},
{
"name": "zitadel/zitadel",
"version": "v3.2.0",
"date": "2025-05-23T13:58:07Z"
},
{
"name": "grokability/snipe-it",
"version": "v8.1.4",
@@ -124,21 +209,11 @@
"version": "v4.10.2",
"date": "2025-05-23T11:56:41Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.0",
"date": "2025-05-12T09:12:04Z"
},
{
"name": "keycloak/keycloak",
"version": "26.0.12",
"date": "2025-05-15T14:06:52Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.2",
"date": "2025-05-11T16:40:55Z"
},
{
"name": "ollama/ollama",
"version": "v0.7.1-rc2",
@@ -174,11 +249,6 @@
"version": "4.0.18-tentative",
"date": "2025-05-22T11:46:18Z"
},
{
"name": "runtipi/runtipi",
"version": "v4.1.1",
"date": "2025-05-16T17:37:30Z"
},
{
"name": "0xERR0R/blocky",
"version": "v0.26.2",
@@ -219,11 +289,6 @@
"version": "339",
"date": "2025-05-21T14:49:36Z"
},
{
"name": "mattermost/mattermost",
"version": "v9.11.16",
"date": "2025-05-21T13:57:13Z"
},
{
"name": "theonedev/onedev",
"version": "v11.9.9",
@@ -239,11 +304,6 @@
"version": "2025.5.0",
"date": "2025-05-21T08:32:53Z"
},
{
"name": "syncthing/syncthing",
"version": "v1.29.6",
"date": "2025-05-06T07:57:02Z"
},
{
"name": "inventree/InvenTree",
"version": "0.17.12",
@@ -264,11 +324,6 @@
"version": "3.1.0",
"date": "2025-05-20T19:20:03Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.8.11.0",
"date": "2025-03-10T06:39:11Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.511",
@@ -294,11 +349,6 @@
"version": "7.2.7",
"date": "2025-05-20T11:00:56Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.0.3",
"date": "2025-05-20T06:51:42Z"
},
{
"name": "crafty-controller/crafty-4",
"version": "v4.4.9",
@@ -324,26 +374,6 @@
"version": "v1.9.6",
"date": "2024-12-18T14:35:37Z"
},
{
"name": "Checkmk/checkmk",
"version": "v2.4.0p2",
"date": "2025-05-19T17:06:15Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.91.3",
"date": "2025-05-08T12:25:10Z"
},
{
"name": "Graylog2/graylog2-server",
"version": "6.3.0-beta.1",
"date": "2025-05-19T11:23:27Z"
},
{
"name": "open-webui/open-webui",
"version": "v0.6.10",
"date": "2025-05-19T01:34:37Z"
},
{
"name": "Part-DB/Part-DB-server",
"version": "v1.17.1",
@@ -439,11 +469,6 @@
"version": "2025.5.0",
"date": "2025-05-15T17:09:50Z"
},
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "pmm-6401-v1.117.1",
"date": "2025-05-15T15:45:22Z"
},
{
"name": "ellite/Wallos",
"version": "v3.1.1",
@@ -524,11 +549,6 @@
"version": "v0.24.3",
"date": "2025-05-12T15:23:21Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.49.17",
"date": "2025-05-12T08:48:30Z"
},
{
"name": "stackblitz-labs/bolt.diy",
"version": "1.0.0",
@@ -589,11 +609,6 @@
"version": "v0.14.7",
"date": "2025-05-07T11:32:23Z"
},
{
"name": "jupyter/notebook",
"version": "@jupyter-notebook/ui-components@7.5.0-alpha.0",
"date": "2025-05-07T09:12:08Z"
},
{
"name": "sysadminsmedia/homebox",
"version": "v0.19.0",
@@ -604,11 +619,6 @@
"version": "v1.12.2",
"date": "2025-05-06T15:30:10Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.61",
"date": "2025-04-22T12:42:26Z"
},
{
"name": "linkwarden/linkwarden",
"version": "v2.10.2",
@@ -764,11 +774,6 @@
"version": "release-1.23.0",
"date": "2025-04-24T08:07:21Z"
},
{
"name": "OliveTin/OliveTin",
"version": "2025.4.22",
"date": "2025-04-22T14:18:11Z"
},
{
"name": "monicahq/monica",
"version": "v4.1.2",
@@ -1069,11 +1074,6 @@
"version": "v1.9.0",
"date": "2025-02-11T13:26:42Z"
},
{
"name": "dani-garcia/vaultwarden",
"version": "1.33.2",
"date": "2025-02-09T17:54:59Z"
},
{
"name": "actualbudget/actual-server",
"version": "v25.2.1",

100
install/argus-install.sh Normal file
View File

@@ -0,0 +1,100 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://release-argus.io/
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 \
jq
msg_ok "Installed Dependencies"
msg_info "Setup Argus"
RELEASE=$(curl -fsSL https://api.github.com/repos/release-argus/Argus/releases/latest | jq -r .tag_name | sed 's/^v//')
mkdir -p /opt/argus
curl -fsSL "https://github.com/release-argus/Argus/releases/download/${RELEASE}/Argus-${RELEASE}.linux-amd64" -o /opt/argus/Argus
chmod +x /opt/argus/Argus
msg_ok "Setup Argus"
msg_info "Setup Argus Config"
cat <<EOF >/opt/argus/config.yml
settings:
log:
level: INFO
timestamps: false
data:
database_file: data/argus.db
web:
listen_host: 0.0.0.0
listen_port: 8080
route_prefix: /
defaults:
service:
options:
interval: 30m
semantic_versioning: true
latest_version:
allow_invalid_certs: false
use_prerelease: false
dashboard:
auto_approve: true
webhook:
desired_status_code: 201
service:
release-argus/argus:
latest_version:
type: github
url: release-argus/argus
dashboard:
icon: https://raw.githubusercontent.com/release-argus/Argus/master/web/ui/react-app/public/favicon.svg
icon_link_to: https://release-argus.io
web_url: https://github.com/release-argus/Argus/blob/master/CHANGELOG.md
community-scripts/ProxmoxVE:
latest_version:
type: github
url: community-scripts/ProxmoxVE
use_prerelease: false
dashboard:
icon: https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/misc/images/logo.png
icon_link_to: https://helper-scripts.com/
web_url: https://github.com/community-scripts/ProxmoxVE/releases
EOF
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Setup Config"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/argus.service
[Unit]
Description=Argus
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/argus
ExecStart=/opt/argus/Argus
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now argus
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -16,8 +16,8 @@ update_os
msg_info "Installing InspIRCd"
RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
cd /opt
curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb")
$STD apt-get install "./inspircd_${RELEASE}.deb12u1_amd64.deb" -y &>/dev/null
curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb")
$STD apt-get install "./inspircd_${RELEASE}.deb12u2_amd64.deb" -y &>/dev/null
cat <<EOF >/etc/inspircd/inspircd.conf
<define name="networkDomain" value="helper-scripts.com">
<define name="networkName" value="Proxmox VE Helper-Scripts">
@@ -40,7 +40,7 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -rf /opt/inspircd_${RELEASE}.deb12u1_amd64.deb
rm -rf /opt/inspircd_${RELEASE}.deb12u2_amd64.deb
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

33
install/kasm-install.sh Normal file
View File

@@ -0,0 +1,33 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Omar Minaya
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.kasmweb.com/docs/latest/index.html
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Kasm Workspaces"
KASM_VERSION=$(curl -fsSL 'https://www.kasmweb.com/downloads' | grep -o 'https://kasm-static-content.s3.amazonaws.com/kasm_release_[^"]*\.tar\.gz' | head -n 1 | sed -E 's/.*release_(.*)\.tar\.gz/\1/')
curl -fsSL -o "/opt/kasm_release_${KASM_VERSION}.tar.gz" "https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION}.tar.gz"
cd /opt
tar -xf "kasm_release_${KASM_VERSION}.tar.gz"
chmod +x /opt/kasm_release/install.sh
printf 'y\ny\ny\n4\n' | bash /opt/kasm_release/install.sh | tee ~/kasm-install.output
sed -n '/Kasm UI Login Credentials/,$p' ~/kasm-install.output >~/kasm.creds
msg_ok "Installed Kasm Workspaces"
motd_ssh
customize
msg_info "Cleaning up"
$STD rm -f /opt/kasm_release_${KASM_VERSION}.tar.gz
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -13,94 +13,37 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
gpg \
caddy \
gcc
msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing Golang"
set +o pipefail
temp_file=$(mktemp)
golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1)
curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file"
tar -C /usr/local -xzf "$temp_file"
ln -sf /usr/local/go/bin/go /usr/local/bin/go
rm -f "$temp_file"
set -o pipefail
msg_ok "Installed Golang"
read -r -p "${TAB3}What public URL do you want to use (e.g. pocketid.mydomain.com)? " public_url
msg_info "Setup Pocket ID"
cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/pocket-id/pocket-id/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip")
unzip -q v${RELEASE}.zip
mv pocket-id-${RELEASE}/ /opt/pocket-id
mkdir -p /opt/pocket-id
curl -fsSL "https://github.com/pocket-id/pocket-id/releases/download/v${RELEASE}/pocket-id-linux-amd64" -o /opt/pocket-id/pocket-id
chmod u+x /opt/pocket-id/pocket-id
cd /opt/pocket-id/backend
cp .env.example .env
sed -i "s/PUBLIC_APP_URL=http:\/\/localhost/PUBLIC_APP_URL=https:\/\/${public_url}/" .env
cd cmd
CGO_ENABLED=1
GOOS=linux
$STD go build -o ../pocket-id-backend
cd ../../frontend
cp .env.example .env
sed -i "s/PUBLIC_APP_URL=http:\/\/localhost/PUBLIC_APP_URL=https:\/\/${public_url}/" .env
$STD npm install
$STD npm run build
cd ..
cp reverse-proxy/Caddyfile /etc/caddy/Caddyfile
cat <<EOF >/opt/pocket-id/.env
APP_ENV=production
APP_URL=https://${public_url}
TRUST_PROXY=false
# MAXMIND_LICENSE_KEY=
PORT=1411
HOST=0.0.0.0
EOF
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Setup Pocket ID"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/pocketid-backend.service
cat <<EOF >/etc/systemd/system/pocketid.service
[Unit]
Description=Pocket ID Backend
Description=Pocket ID Service
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/pocket-id/backend
EnvironmentFile=/opt/pocket-id/backend/.env
ExecStart=/opt/pocket-id/backend/pocket-id-backend
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/systemd/system/pocketid-frontend.service
[Unit]
Description=Pocket ID Frontend
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/pocket-id/frontend
EnvironmentFile=/opt/pocket-id/frontend/.env
ExecStart=/usr/bin/node build/index.js
WorkingDirectory=/opt/pocket-id
EnvironmentFile=/opt/pocket-id/.env
ExecStart=/opt/pocket-id/pocket-id
Restart=always
RestartSec=10
@@ -109,17 +52,14 @@ WantedBy=multi-user.target
EOF
msg_ok "Created Service"
msg_info "Starting Services"
systemctl enable -q --now pocketid-backend
systemctl enable -q --now pocketid-frontend
systemctl restart caddy
msg_info "Starting Service"
systemctl enable -q --now pocketid
msg_ok "Started Services"
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"