mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-07-01 19:47:38 +00:00
Compare commits
82 Commits
2025-05-25
...
2025-05-28
Author | SHA1 | Date | |
---|---|---|---|
48979104d7 | |||
964950c82c | |||
0677af31c4 | |||
4495ffee6a | |||
6745dad963 | |||
e9470ab1af | |||
5abcb47051 | |||
709a899f8f | |||
b9ff7513a4 | |||
7a963a76b7 | |||
13506d92fb | |||
36f859c062 | |||
adc8225ed2 | |||
640dca8d8b | |||
3b0713b812 | |||
d20165f25c | |||
c79d05ca5f | |||
f0dd1c264d | |||
951782d8f2 | |||
5e8ee6baa8 | |||
7bb9fb09ba | |||
eb04327aa9 | |||
ce39e7c87e | |||
0e75a57582 | |||
8765b7ac1d | |||
56e316b849 | |||
79a5624905 | |||
a4dee03140 | |||
8787ef57b5 | |||
86674ef376 | |||
1e195cac1e | |||
8e8e09668b | |||
6ef1c99f65 | |||
e2a8b8b799 | |||
c356f77efe | |||
dcfe80e069 | |||
010928fee2 | |||
aed2c0e5bf | |||
9e2d66266a | |||
da406b5ce8 | |||
a7bf2679de | |||
7079f428ca | |||
121bd8e557 | |||
d9c4ff9867 | |||
7db94ad73a | |||
56c2682601 | |||
11a7c2e410 | |||
ed9d8e995d | |||
3b67e8dcc1 | |||
f09e57c200 | |||
72c24d5147 | |||
93a179c201 | |||
ac2f0e66ae | |||
5ccf8a7cd6 | |||
db82285b95 | |||
58586cbfc8 | |||
8708980786 | |||
943fa7b7aa | |||
5085547f39 | |||
5685e7e088 | |||
72db97b226 | |||
e6805db9f5 | |||
97073be5e2 | |||
82228189a7 | |||
53bdedfc08 | |||
92ff5a9881 | |||
0bb4509cd7 | |||
f339b7df10 | |||
a23a6a3da1 | |||
3c12773956 | |||
d79ac98a31 | |||
17654c2006 | |||
575443fac5 | |||
f38225d52f | |||
cef451c42c | |||
2a5856db03 | |||
47abe248d0 | |||
98c64ffae9 | |||
c136133b7c | |||
1e5395d21b | |||
dfb98698f3 | |||
ff5b793e1e |
81
CHANGELOG.md
81
CHANGELOG.md
@ -14,8 +14,89 @@ 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.
|
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-29
|
||||||
|
|
||||||
|
## 2025-05-28
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Umbrel-OS [@MickLesk](https://github.com/MickLesk) ([#4788](https://github.com/community-scripts/ProxmoxVE/pull/4788))
|
||||||
|
- oauth2-proxy ([#4784](https://github.com/community-scripts/ProxmoxVE/pull/4784))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Habitica: Use Node20 [@MickLesk](https://github.com/MickLesk) ([#4796](https://github.com/community-scripts/ProxmoxVE/pull/4796))
|
||||||
|
- Alpine-Node-RED: add service to rc [@MickLesk](https://github.com/MickLesk) ([#4783](https://github.com/community-scripts/ProxmoxVE/pull/4783))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Pulse: use prebuild tarball file / remove unneeded npm actions [@MickLesk](https://github.com/MickLesk) ([#4776](https://github.com/community-scripts/ProxmoxVE/pull/4776))
|
||||||
|
|
||||||
|
- #### 💥 Breaking Changes
|
||||||
|
|
||||||
|
- Refactor: Linkwarden + OS Upgrade [@MickLesk](https://github.com/MickLesk) ([#4756](https://github.com/community-scripts/ProxmoxVE/pull/4756))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- refactor: use binary and randomize credentials in tinyauth [@steveiliop56](https://github.com/steveiliop56) ([#4632](https://github.com/community-scripts/ProxmoxVE/pull/4632))
|
||||||
|
- MariaDB CLI Update, Go Install Helper & Minor Cleanup [@MickLesk](https://github.com/MickLesk) ([#4793](https://github.com/community-scripts/ProxmoxVE/pull/4793))
|
||||||
|
- Refactor: Remove redundant dependencies & unify unzip usage [@MickLesk](https://github.com/MickLesk) ([#4780](https://github.com/community-scripts/ProxmoxVE/pull/4780))
|
||||||
|
- Refactor: Remove gpg / gnupg from script base [@MickLesk](https://github.com/MickLesk) ([#4775](https://github.com/community-scripts/ProxmoxVE/pull/4775))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- pulse: correct url in note [@xb00tt](https://github.com/xb00tt) ([#4809](https://github.com/community-scripts/ProxmoxVE/pull/4809))
|
||||||
|
|
||||||
|
## 2025-05-27
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Backrest ([#4766](https://github.com/community-scripts/ProxmoxVE/pull/4766))
|
||||||
|
- Pulse ([#4728](https://github.com/community-scripts/ProxmoxVE/pull/4728))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- Alpine-Vaultwarden: Increase min disk requirements to 1GB [@neyzm](https://github.com/neyzm) ([#4764](https://github.com/community-scripts/ProxmoxVE/pull/4764))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- lldap: fix update-check [@MickLesk](https://github.com/MickLesk) ([#4742](https://github.com/community-scripts/ProxmoxVE/pull/4742))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Big NodeJS Update: Use Helper Function on all Install-Scripts [@MickLesk](https://github.com/MickLesk) ([#4744](https://github.com/community-scripts/ProxmoxVE/pull/4744))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- merge MariaDB to tools.func Installer [@MickLesk](https://github.com/MickLesk) ([#4753](https://github.com/community-scripts/ProxmoxVE/pull/4753))
|
||||||
|
- merge PostgreSQL to tools.func Installer [@MickLesk](https://github.com/MickLesk) ([#4752](https://github.com/community-scripts/ProxmoxVE/pull/4752))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- Increase default RAM allocation for BunkerWeb to 8192MB [@TheophileDiot](https://github.com/TheophileDiot) ([#4762](https://github.com/community-scripts/ProxmoxVE/pull/4762))
|
||||||
|
|
||||||
## 2025-05-26
|
## 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
|
## 2025-05-25
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
144
ct/2fauth.sh
144
ct/2fauth.sh
@ -20,79 +20,79 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
# Check if installation is present | -f for file, -d for folder
|
# Check if installation is present | -f for file, -d for folder
|
||||||
if [[ ! -d "/opt/2fauth" ]]; then
|
if [[ ! -d "/opt/2fauth" ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Crawling the new version and checking whether an update is required
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then
|
|
||||||
msg_info "Updating $APP to ${RELEASE}"
|
|
||||||
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get -y upgrade
|
|
||||||
|
|
||||||
# Creating Backup
|
|
||||||
msg_info "Creating Backup"
|
|
||||||
mv "/opt/2fauth" "/opt/2fauth-backup"
|
|
||||||
if ! dpkg -l | grep -q 'php8.3'; then
|
|
||||||
cp /etc/nginx/conf.d/2fauth.conf /etc/nginx/conf.d/2fauth.conf.bak
|
|
||||||
fi
|
|
||||||
msg_ok "Backup Created"
|
|
||||||
|
|
||||||
# Upgrade PHP
|
|
||||||
if ! dpkg -l | grep -q 'php8.3'; then
|
|
||||||
$STD apt-get install -y \
|
|
||||||
lsb-release \
|
|
||||||
gpg
|
|
||||||
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg
|
|
||||||
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,mbstring,mysql,xml,cli,intl}
|
|
||||||
sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Execute Update
|
|
||||||
curl -fsSL -o "${RELEASE}.zip" "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip"
|
|
||||||
unzip -q "${RELEASE}.zip"
|
|
||||||
mv "2FAuth-${RELEASE//v/}/" "/opt/2fauth"
|
|
||||||
mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
|
|
||||||
mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
|
|
||||||
cd "/opt/2fauth" || return
|
|
||||||
|
|
||||||
chown -R www-data: "/opt/2fauth"
|
|
||||||
chmod -R 755 "/opt/2fauth"
|
|
||||||
|
|
||||||
export COMPOSER_ALLOW_SUPERUSER=1
|
|
||||||
$STD composer install --no-dev --prefer-source
|
|
||||||
|
|
||||||
php artisan 2fauth:install
|
|
||||||
|
|
||||||
$STD systemctl restart nginx
|
|
||||||
|
|
||||||
# Cleaning up
|
|
||||||
msg_info "Cleaning Up"
|
|
||||||
rm -rf "v${RELEASE}.zip"
|
|
||||||
if dpkg -l | grep -q 'php8.2'; then
|
|
||||||
$STD apt-get remove --purge -y php8.2*
|
|
||||||
fi
|
|
||||||
$STD apt-get -y autoremove
|
|
||||||
$STD apt-get -y autoclean
|
|
||||||
msg_ok "Cleanup Completed"
|
|
||||||
|
|
||||||
# Last Action
|
|
||||||
echo "${RELEASE}" >/opt/2fauth_version.txt
|
|
||||||
msg_ok "Updated $APP to ${RELEASE}"
|
|
||||||
else
|
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
|
||||||
fi
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Crawling the new version and checking whether an update is required
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
|
if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then
|
||||||
|
msg_info "Updating $APP to ${RELEASE}"
|
||||||
|
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get -y upgrade
|
||||||
|
|
||||||
|
# Creating Backup
|
||||||
|
msg_info "Creating Backup"
|
||||||
|
mv "/opt/2fauth" "/opt/2fauth-backup"
|
||||||
|
if ! dpkg -l | grep -q 'php8.3'; then
|
||||||
|
cp /etc/nginx/conf.d/2fauth.conf /etc/nginx/conf.d/2fauth.conf.bak
|
||||||
|
fi
|
||||||
|
msg_ok "Backup Created"
|
||||||
|
|
||||||
|
# Upgrade PHP
|
||||||
|
if ! dpkg -l | grep -q 'php8.3'; then
|
||||||
|
$STD apt-get install -y \
|
||||||
|
lsb-release \
|
||||||
|
gpg
|
||||||
|
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg
|
||||||
|
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" >/etc/apt/sources.list.d/php.list
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get install -y php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,mbstring,mysql,xml,cli,intl}
|
||||||
|
sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Execute Update
|
||||||
|
curl -fsSL -o "${RELEASE}.zip" "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip"
|
||||||
|
$STD unzip "${RELEASE}.zip"
|
||||||
|
mv "2FAuth-${RELEASE//v/}/" "/opt/2fauth"
|
||||||
|
mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
|
||||||
|
mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
|
||||||
|
cd "/opt/2fauth" || return
|
||||||
|
|
||||||
|
chown -R www-data: "/opt/2fauth"
|
||||||
|
chmod -R 755 "/opt/2fauth"
|
||||||
|
|
||||||
|
export COMPOSER_ALLOW_SUPERUSER=1
|
||||||
|
$STD composer install --no-dev --prefer-source
|
||||||
|
|
||||||
|
php artisan 2fauth:install
|
||||||
|
|
||||||
|
$STD systemctl restart nginx
|
||||||
|
|
||||||
|
# Cleaning up
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
rm -rf "v${RELEASE}.zip"
|
||||||
|
if dpkg -l | grep -q 'php8.2'; then
|
||||||
|
$STD apt-get remove --purge -y php8.2*
|
||||||
|
fi
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleanup Completed"
|
||||||
|
|
||||||
|
# Last Action
|
||||||
|
echo "${RELEASE}" >/opt/2fauth_version.txt
|
||||||
|
msg_ok "Updated $APP to ${RELEASE}"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@ -102,4 +102,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
|
||||||
|
@ -37,7 +37,7 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
mv /opt/adventurelog/ /opt/adventurelog-backup/
|
mv /opt/adventurelog/ /opt/adventurelog-backup/
|
||||||
curl -fsSL -o /opt/v${RELEASE}.zip "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
|
curl -fsSL -o /opt/v${RELEASE}.zip "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
|
||||||
unzip -q /opt/v${RELEASE}.zip -d /opt/
|
$STD unzip /opt/v${RELEASE}.zip -d /opt/
|
||||||
mv /opt/AdventureLog-${RELEASE} /opt/adventurelog
|
mv /opt/AdventureLog-${RELEASE} /opt/adventurelog
|
||||||
|
|
||||||
mv /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
|
mv /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
|
||||||
@ -78,4 +78,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${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}"
|
||||||
|
@ -36,7 +36,7 @@ function update_script() {
|
|||||||
curl -fsSL -o it-tools.zip "$DOWNLOAD_URL"
|
curl -fsSL -o it-tools.zip "$DOWNLOAD_URL"
|
||||||
mkdir -p /usr/share/nginx/html
|
mkdir -p /usr/share/nginx/html
|
||||||
rm -rf /usr/share/nginx/html/*
|
rm -rf /usr/share/nginx/html/*
|
||||||
unzip -q it-tools.zip -d /tmp/it-tools
|
$STD unzip it-tools.zip -d /tmp/it-tools
|
||||||
cp -r /tmp/it-tools/dist/* /usr/share/nginx/html
|
cp -r /tmp/it-tools/dist/* /usr/share/nginx/html
|
||||||
rm -rf /tmp/it-tools
|
rm -rf /tmp/it-tools
|
||||||
rm -f it-tools.zip
|
rm -f it-tools.zip
|
||||||
|
@ -32,10 +32,6 @@ function update_script() {
|
|||||||
$STD npm install -g --unsafe-perm node-red
|
$STD npm install -g --unsafe-perm node-red
|
||||||
msg_ok "Updated Node-RED"
|
msg_ok "Updated Node-RED"
|
||||||
|
|
||||||
msg_info "Restarting Node-RED"
|
|
||||||
$STD rc-service nodered restart
|
|
||||||
msg_ok "Restarted Node-RED"
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: Slaviša Arežina (tremor021)
|
# Author: Slaviša Arežina (tremor021) | Co-Author: Stavros (steveiliop56)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://github.com/steveiliop56/tinyauth
|
# Source: https://github.com/steveiliop56/tinyauth
|
||||||
|
|
||||||
APP="Alpine-tinyauth"
|
APP="Alpine-Tinyauth"
|
||||||
var_tags="${var_tags:-alpine;auth}"
|
var_tags="${var_tags:-alpine;auth}"
|
||||||
var_cpu="${var_cpu:-1}"
|
var_cpu="${var_cpu:-1}"
|
||||||
var_ram="${var_ram:-512}"
|
var_ram="${var_ram:-256}"
|
||||||
var_disk="${var_disk:-3}"
|
var_disk="${var_disk:-2}"
|
||||||
var_os="${var_os:-alpine}"
|
var_os="${var_os:-alpine}"
|
||||||
var_version="${var_version:-3.21}"
|
var_version="${var_version:-3.21}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@ -25,34 +25,23 @@ function update_script() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Updating Alpine Packages"
|
msg_info "Updating packages"
|
||||||
$STD apk -U upgrade
|
$STD apk -U upgrade
|
||||||
msg_ok "Updated Alpine Packages"
|
msg_ok "Updated packages"
|
||||||
|
|
||||||
msg_info "Updating tinyauth"
|
msg_info "Updating Tinyauth"
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
|
||||||
if [ "${RELEASE}" != "$(cat /opt/tinyauth_version.txt)" ] || [ ! -f /opt/tinyauth_version.txt ]; then
|
if [ "${RELEASE}" != "$(cat /opt/tinyauth_version.txt)" ] || [ ! -f /opt/tinyauth_version.txt ]; then
|
||||||
$STD service tinyauth stop
|
$STD service tinyauth stop
|
||||||
temp_file=$(mktemp)
|
rm -f /opt/tinyauth/tinyauth
|
||||||
cp /opt/tinyauth/.env /opt
|
curl -fsSL "https://github.com/steveiliop56/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth
|
||||||
rm -rf /opt/tinyauth
|
chmod +x /opt/tinyauth/tinyauth
|
||||||
mkdir -p /opt/tinyauth
|
echo "${RELEASE}" > /opt/tinyauth_version.txt
|
||||||
curl -fsSL "https://github.com/steveiliop56/tinyauth/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
msg_info "Restarting Tinyauth"
|
||||||
tar -xzf "$temp_file" -C /opt/tinyauth --strip-components=1
|
|
||||||
cd /opt/tinyauth/frontend
|
|
||||||
$STD bun install
|
|
||||||
$STD bun run build
|
|
||||||
mv dist /opt/tinyauth/internal/assets/
|
|
||||||
cd /opt/tinyauth
|
|
||||||
$STD go mod download
|
|
||||||
CGO_ENABLED=0 go build -ldflags "-s -w"
|
|
||||||
cp /opt/.env /opt/tinyauth
|
|
||||||
echo "${RELEASE}" >/opt/tinyauth_version.txt
|
|
||||||
rm -f "$temp_file"
|
|
||||||
msg_info "Restarting tinyauth"
|
|
||||||
$STD service tinyauth start
|
$STD service tinyauth start
|
||||||
msg_ok "Restarted tinyauth"
|
msg_ok "Restarted Tinyauth"
|
||||||
msg_ok "Updated tinyauth"
|
msg_ok "Updated Tinyauth"
|
||||||
else
|
else
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
fi
|
fi
|
||||||
|
@ -9,7 +9,7 @@ APP="Alpine-Vaultwarden"
|
|||||||
var_tags="${var_tags:-alpine;vault}"
|
var_tags="${var_tags:-alpine;vault}"
|
||||||
var_cpu="${var_cpu:-1}"
|
var_cpu="${var_cpu:-1}"
|
||||||
var_ram="${var_ram:-256}"
|
var_ram="${var_ram:-256}"
|
||||||
var_disk="${var_disk:-0.5}"
|
var_disk="${var_disk:-1}"
|
||||||
var_os="${var_os:-alpine}"
|
var_os="${var_os:-alpine}"
|
||||||
var_version="${var_version:-3.21}"
|
var_version="${var_version:-3.21}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@ -66,4 +66,4 @@ description
|
|||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${APP} should be reachable by going to the following URL.
|
echo -e "${APP} should be reachable by going to the following URL.
|
||||||
${BL}http://${IP}:8000${CL} \n"
|
${BL}https://${IP}:8000${CL} \n"
|
||||||
|
53
ct/argus.sh
Normal file
53
ct/argus.sh
Normal 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}"
|
66
ct/backrest.sh
Normal file
66
ct/backrest.sh
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#!/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: ksad (enirys31)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://garethgeorge.github.io/backrest/
|
||||||
|
|
||||||
|
APP="Backrest"
|
||||||
|
var_tags="${var_tags:-backup}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-512}"
|
||||||
|
var_disk="${var_disk:-8}"
|
||||||
|
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/backrest ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/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
|
||||||
|
msg_info "Stopping ${APP}"
|
||||||
|
systemctl stop backrest
|
||||||
|
msg_ok "Stopped ${APP}"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
rm -f /opt/backrest/bin/backrest
|
||||||
|
curl -fsSL "https://github.com/garethgeorge/backrest/releases/download/v${RELEASE}/backrest_Linux_x86_64.tar.gz" -o "$temp_file"
|
||||||
|
tar xzf $temp_file -C /opt/backrest/bin
|
||||||
|
chmod +x /opt/backrest/bin/backrest
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting ${APP}"
|
||||||
|
systemctl start backrest
|
||||||
|
msg_ok "Started ${APP}"
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "$temp_file"
|
||||||
|
msg_ok "Cleaned up"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
|
fi
|
||||||
|
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}:9898${CL}"
|
@ -37,7 +37,7 @@ function update_script() {
|
|||||||
cd /opt
|
cd /opt
|
||||||
curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip")
|
curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip")
|
||||||
mv /opt/baikal /opt/baikal-backup
|
mv /opt/baikal /opt/baikal-backup
|
||||||
unzip -o -q "baikal-${RELEASE}.zip"
|
$STD unzip -o "baikal-${RELEASE}.zip"
|
||||||
cp -r /opt/baikal-backup/config/baikal.yaml /opt/baikal/config/
|
cp -r /opt/baikal-backup/config/baikal.yaml /opt/baikal/config/
|
||||||
cp -r /opt/baikal-backup/Specific/ /opt/baikal/
|
cp -r /opt/baikal-backup/Specific/ /opt/baikal/
|
||||||
chown -R www-data:www-data /opt/baikal/
|
chown -R www-data:www-data /opt/baikal/
|
||||||
|
@ -38,7 +38,7 @@ function update_script() {
|
|||||||
cd /opt
|
cd /opt
|
||||||
mv /opt/barcodebuddy/ /opt/barcodebuddy-backup
|
mv /opt/barcodebuddy/ /opt/barcodebuddy-backup
|
||||||
curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip")
|
||||||
unzip -q "v${RELEASE}.zip"
|
$STD unzip "v${RELEASE}.zip"
|
||||||
mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy
|
mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy
|
||||||
cp -r /opt/barcodebuddy-backup/data/. /opt/barcodebuddy/data
|
cp -r /opt/barcodebuddy-backup/data/. /opt/barcodebuddy/data
|
||||||
chown -R www-data:www-data /opt/barcodebuddy/data
|
chown -R www-data:www-data /opt/barcodebuddy/data
|
||||||
|
@ -36,7 +36,7 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
mv /opt/bookstack /opt/bookstack-backup
|
mv /opt/bookstack /opt/bookstack-backup
|
||||||
curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o "/opt/BookStack-${RELEASE}.zip"
|
curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o "/opt/BookStack-${RELEASE}.zip"
|
||||||
unzip -q "/opt/BookStack-${RELEASE}.zip" -d /opt
|
$STD unzip "/opt/BookStack-${RELEASE}.zip" -d /opt
|
||||||
mv "/opt/BookStack-${RELEASE}" /opt/bookstack
|
mv "/opt/BookStack-${RELEASE}" /opt/bookstack
|
||||||
cp /opt/bookstack-backup/.env /opt/bookstack/.env
|
cp /opt/bookstack-backup/.env /opt/bookstack/.env
|
||||||
[[ -d /opt/bookstack-backup/public/uploads ]] && cp -a /opt/bookstack-backup/public/uploads/. /opt/bookstack/public/uploads/
|
[[ -d /opt/bookstack-backup/public/uploads ]] && cp -a /opt/bookstack-backup/public/uploads/. /opt/bookstack/public/uploads/
|
||||||
|
@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
APP="BunkerWeb"
|
APP="BunkerWeb"
|
||||||
var_tags="${var_tags:-webserver}"
|
var_tags="${var_tags:-webserver}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-4096}"
|
var_ram="${var_ram:-8192}"
|
||||||
var_disk="${var_disk:-4}"
|
var_disk="${var_disk:-4}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
@ -55,4 +55,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/setup${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/setup${CL}"
|
||||||
|
@ -42,7 +42,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip")
|
curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip")
|
||||||
unzip -q commafeed-"${RELEASE}"-h2-jvm.zip
|
$STD unzip commafeed-"${RELEASE}"-h2-jvm.zip
|
||||||
rsync -a --exclude 'data/' commafeed-"${RELEASE}"-h2/ /opt/commafeed/
|
rsync -a --exclude 'data/' commafeed-"${RELEASE}"-h2/ /opt/commafeed/
|
||||||
rm -rf commafeed-"${RELEASE}"-h2 commafeed-"${RELEASE}"-h2-jvm.zip
|
rm -rf commafeed-"${RELEASE}"-h2 commafeed-"${RELEASE}"-h2-jvm.zip
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
@ -46,7 +46,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating Crafty-Controller to v${RELEASE}"
|
msg_info "Updating Crafty-Controller to v${RELEASE}"
|
||||||
curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip")
|
curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip")
|
||||||
unzip -q crafty-4-v${RELEASE}.zip
|
$STD unzip crafty-4-v${RELEASE}.zip
|
||||||
cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/
|
cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/
|
||||||
rm -rf crafty-4-v${RELEASE}
|
rm -rf crafty-4-v${RELEASE}
|
||||||
cd /opt/crafty-controller/crafty/crafty-4
|
cd /opt/crafty-controller/crafty/crafty-4
|
||||||
|
@ -38,7 +38,7 @@ function update_script() {
|
|||||||
rm -rf /opt/documenso
|
rm -rf /opt/documenso
|
||||||
cd /opt
|
cd /opt
|
||||||
curl -fsSL "https://github.com/documenso/documenso/archive/refs/tags/v${RELEASE}.zip" -o v${RELEASE}.zip
|
curl -fsSL "https://github.com/documenso/documenso/archive/refs/tags/v${RELEASE}.zip" -o v${RELEASE}.zip
|
||||||
unzip -q v${RELEASE}.zip
|
$STD unzip v${RELEASE}.zip
|
||||||
mv documenso-${RELEASE} /opt/documenso
|
mv documenso-${RELEASE} /opt/documenso
|
||||||
cd /opt/documenso
|
cd /opt/documenso
|
||||||
mv /opt/.env /opt/documenso/.env
|
mv /opt/.env /opt/documenso/.env
|
||||||
|
@ -9,7 +9,7 @@ APP="Excalidraw"
|
|||||||
TAGS="diagrams"
|
TAGS="diagrams"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-3072}"
|
var_ram="${var_ram:-3072}"
|
||||||
var_disk="${var_disk:-6}"
|
var_disk="${var_disk:-10}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
@ -20,46 +20,46 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
if [[ ! -d /opt/excalidraw ]]; then
|
if [[ ! -d /opt/excalidraw ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
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
|
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
|
start
|
||||||
@ -69,4 +69,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${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}"
|
||||||
|
@ -47,7 +47,7 @@ function update_script() {
|
|||||||
msg_info "Updating $APP to latest version"
|
msg_info "Updating $APP to latest version"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file"
|
curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file"
|
||||||
unzip -oq -d /opt/fileflows "$temp_file"
|
$STD unzip -o -d /opt/fileflows "$temp_file"
|
||||||
msg_ok "Updated $APP to latest version"
|
msg_ok "Updated $APP to latest version"
|
||||||
|
|
||||||
msg_info "Starting $APP"
|
msg_info "Starting $APP"
|
||||||
|
@ -39,8 +39,8 @@ function update_script() {
|
|||||||
cp /opt/fluid-calendar/.env /opt/fluid.env
|
cp /opt/fluid-calendar/.env /opt/fluid.env
|
||||||
rm -rf /opt/fluid-calendar
|
rm -rf /opt/fluid-calendar
|
||||||
tmp_file=$(mktemp)
|
tmp_file=$(mktemp)
|
||||||
curl -fsSL "https://github.com/dotnetfactory/fluid-calendar/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file"
|
curl -fsSL "https://github.com/dotnetfactory/fluid-calendar/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file"
|
||||||
unzip -q $tmp_file
|
$STD unzip $tmp_file
|
||||||
mv ${APP}-${RELEASE}/ /opt/fluid-calendar
|
mv ${APP}-${RELEASE}/ /opt/fluid-calendar
|
||||||
mv /opt/fluid.env /opt/fluid-calendar/.env
|
mv /opt/fluid.env /opt/fluid-calendar/.env
|
||||||
cd /opt/fluid-calendar
|
cd /opt/fluid-calendar
|
||||||
@ -74,4 +74,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${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}"
|
||||||
|
@ -37,7 +37,7 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
cd /opt/gotify
|
cd /opt/gotify
|
||||||
curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip")
|
curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip")
|
||||||
unzip -oq gotify-linux-amd64.zip
|
$STD unzip -o gotify-linux-amd64.zip
|
||||||
rm -rf gotify-linux-amd64.zip
|
rm -rf gotify-linux-amd64.zip
|
||||||
chmod +x gotify-linux-amd64
|
chmod +x gotify-linux-amd64
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
@ -39,7 +39,7 @@ function update_script() {
|
|||||||
rm -rf grist_bak
|
rm -rf grist_bak
|
||||||
mv grist grist_bak
|
mv grist grist_bak
|
||||||
curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip")
|
||||||
unzip -q v$RELEASE.zip
|
$STD unzip v$RELEASE.zip
|
||||||
mv grist-core-${RELEASE} grist
|
mv grist-core-${RELEASE} grist
|
||||||
|
|
||||||
mkdir -p grist/docs
|
mkdir -p grist/docs
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
___ __ _ __ _ __ __
|
___ __ _ _______ __ __
|
||||||
/ | / /___ (_)___ ___ / /_(_)___ __ ______ ___ __/ /_/ /_
|
/ | / /___ (_)___ ___ /_ __(_)___ __ ______ ___ __/ /_/ /_
|
||||||
/ /| | / / __ \/ / __ \/ _ \______/ __/ / __ \/ / / / __ `/ / / / __/ __ \
|
/ /| | / / __ \/ / __ \/ _ \______/ / / / __ \/ / / / __ `/ / / / __/ __ \
|
||||||
/ ___ |/ / /_/ / / / / / __/_____/ /_/ / / / / /_/ / /_/ / /_/ / /_/ / / /
|
/ ___ |/ / /_/ / / / / / __/_____/ / / / / / / /_/ / /_/ / /_/ / /_/ / / /
|
||||||
/_/ |_/_/ .___/_/_/ /_/\___/ \__/_/_/ /_/\__, /\__,_/\__,_/\__/_/ /_/
|
/_/ |_/_/ .___/_/_/ /_/\___/ /_/ /_/_/ /_/\__, /\__,_/\__,_/\__/_/ /_/
|
||||||
/_/ /____/
|
/_/ /____/
|
||||||
|
6
ct/headers/argus
Normal file
6
ct/headers/argus
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
___
|
||||||
|
/ | _________ ___ _______
|
||||||
|
/ /| | / ___/ __ `/ / / / ___/
|
||||||
|
/ ___ |/ / / /_/ / /_/ (__ )
|
||||||
|
/_/ |_/_/ \__, /\__,_/____/
|
||||||
|
/____/
|
6
ct/headers/backrest
Normal file
6
ct/headers/backrest
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __ __
|
||||||
|
/ __ )____ ______/ /__________ _____/ /_
|
||||||
|
/ __ / __ `/ ___/ //_/ ___/ _ \/ ___/ __/
|
||||||
|
/ /_/ / /_/ / /__/ ,< / / / __(__ ) /_
|
||||||
|
/_____/\__,_/\___/_/|_/_/ \___/____/\__/
|
||||||
|
|
6
ct/headers/kasm
Normal file
6
ct/headers/kasm
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
__ __
|
||||||
|
/ //_/___ __________ ___
|
||||||
|
/ ,< / __ `/ ___/ __ `__ \
|
||||||
|
/ /| / /_/ (__ ) / / / / /
|
||||||
|
/_/ |_\__,_/____/_/ /_/ /_/
|
||||||
|
|
6
ct/headers/oauth2-proxy
Normal file
6
ct/headers/oauth2-proxy
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
__ __ ___
|
||||||
|
____ ____ ___ __/ /_/ /_ |__ \ ____ _________ _ ____ __
|
||||||
|
/ __ \/ __ `/ / / / __/ __ \__/ /_____/ __ \/ ___/ __ \| |/_/ / / /
|
||||||
|
/ /_/ / /_/ / /_/ / /_/ / / / __/_____/ /_/ / / / /_/ /> </ /_/ /
|
||||||
|
\____/\__,_/\__,_/\__/_/ /_/____/ / .___/_/ \____/_/|_|\__, /
|
||||||
|
/_/ /____/
|
6
ct/headers/pulse
Normal file
6
ct/headers/pulse
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
____ __
|
||||||
|
/ __ \__ __/ /_______
|
||||||
|
/ /_/ / / / / / ___/ _ \
|
||||||
|
/ ____/ /_/ / (__ ) __/
|
||||||
|
/_/ \__,_/_/____/\___/
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
__ __ __ __
|
|
||||||
/ / / /___ ___ / /_ ________ / /
|
|
||||||
/ / / / __ `__ \/ __ \/ ___/ _ \/ /
|
|
||||||
/ /_/ / / / / / / /_/ / / / __/ /
|
|
||||||
\____/_/ /_/ /_/_.___/_/ \___/_/
|
|
||||||
|
|
@ -47,7 +47,7 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
rm -rf /opt/hoarder
|
rm -rf /opt/hoarder
|
||||||
curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
||||||
unzip -q v"${RELEASE}".zip
|
$STD unzip v"${RELEASE}".zip
|
||||||
mv karakeep-"${RELEASE}" /opt/hoarder
|
mv karakeep-"${RELEASE}" /opt/hoarder
|
||||||
cd /opt/hoarder/apps/web
|
cd /opt/hoarder/apps/web
|
||||||
$STD pnpm install --frozen-lockfile
|
$STD pnpm install --frozen-lockfile
|
||||||
|
@ -104,7 +104,6 @@ function update_script() {
|
|||||||
if [ "$UPD" == "2" ]; then
|
if [ "$UPD" == "2" ]; then
|
||||||
msg_info "Installing Home Assistant Community Store (HACS)"
|
msg_info "Installing Home Assistant Community Store (HACS)"
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install -y unzip
|
|
||||||
cd /root/.homeassistant
|
cd /root/.homeassistant
|
||||||
$STD bash <(curl -fsSL https://get.hacs.xyz)
|
$STD bash <(curl -fsSL https://get.hacs.xyz)
|
||||||
msg_ok "Installed Home Assistant Community Store (HACS)"
|
msg_ok "Installed Home Assistant Community Store (HACS)"
|
||||||
|
@ -62,7 +62,6 @@ function update_script() {
|
|||||||
if [ "$UPD" == "3" ]; then
|
if [ "$UPD" == "3" ]; then
|
||||||
msg_info "Installing Home Assistant Community Store (HACS)"
|
msg_info "Installing Home Assistant Community Store (HACS)"
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install unzip
|
|
||||||
cd /var/lib/docker/volumes/hass_config/_data
|
cd /var/lib/docker/volumes/hass_config/_data
|
||||||
$STD bash <(curl -fsSL https://get.hacs.xyz)
|
$STD bash <(curl -fsSL https://get.hacs.xyz)
|
||||||
msg_ok "Installed Home Assistant Community Store (HACS)"
|
msg_ok "Installed Home Assistant Community Store (HACS)"
|
||||||
|
@ -35,8 +35,8 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
cd /opt
|
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")
|
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}.deb12u1_amd64.deb" -y
|
$STD apt-get install "./inspircd_${RELEASE}.deb12u2_amd64.deb" -y
|
||||||
echo "${RELEASE}" >"/opt/${APP}_version.txt"
|
echo "${RELEASE}" >"/opt/${APP}_version.txt"
|
||||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ function update_script() {
|
|||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
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 "Cleaned"
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
else
|
else
|
||||||
|
@ -50,7 +50,7 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
rm -rf /opt/karakeep
|
rm -rf /opt/karakeep
|
||||||
curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
||||||
unzip -q "v${RELEASE}.zip"
|
$STD unzip "v${RELEASE}.zip"
|
||||||
mv karakeep-"${RELEASE}" /opt/karakeep
|
mv karakeep-"${RELEASE}" /opt/karakeep
|
||||||
cd /opt/karakeep/apps/web
|
cd /opt/karakeep/apps/web
|
||||||
$STD pnpm install --frozen-lockfile
|
$STD pnpm install --frozen-lockfile
|
||||||
|
@ -1,18 +1,20 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: tteck (tteckster)
|
# Author: Omar Minaya
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://umbrel.com/
|
# Source: https://www.kasmweb.com/docs/latest/index.html
|
||||||
|
|
||||||
APP="Umbrel"
|
APP="Kasm"
|
||||||
var_tags="${var_tags:-os}"
|
var_tags="${var_tags:-os}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-4192}"
|
||||||
var_disk="${var_disk:-8}"
|
var_disk="${var_disk:-30}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-12}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
var_fuse="${var_fuse:-yes}"
|
||||||
|
var_tun="${var_tun:-yes}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
variables
|
variables
|
||||||
@ -20,14 +22,18 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
msg_info "Updating ${APP} LXC"
|
if [[ ! -d /var ]]; then
|
||||||
$STD apt-get update
|
msg_error "No ${APP} Installation Found!"
|
||||||
$STD apt-get -y upgrade
|
|
||||||
msg_ok "Updated ${APP} LXC"
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
msg_info "Updating $APP LXC"
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get -y upgrade
|
||||||
|
msg_ok "Updated $APP LXC"
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@ -35,6 +41,6 @@ build_container
|
|||||||
description
|
description
|
||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized! (manual reboot is required!)${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}"
|
@ -64,7 +64,7 @@ function update_script() {
|
|||||||
trap "echo Unable to download release file for version ${RELEASE}; try again later" ERR
|
trap "echo Unable to download release file for version ${RELEASE}; try again later" ERR
|
||||||
set -e
|
set -e
|
||||||
curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
|
curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
|
||||||
unzip -q "${RELEASE}".zip
|
$STD unzip "${RELEASE}".zip
|
||||||
set +e
|
set +e
|
||||||
trap - ERR
|
trap - ERR
|
||||||
rm -rf /opt/kimai
|
rm -rf /opt/kimai
|
||||||
|
@ -37,7 +37,7 @@ function update_script() {
|
|||||||
cd /opt
|
cd /opt
|
||||||
mv /opt/koillection/ /opt/koillection-backup
|
mv /opt/koillection/ /opt/koillection-backup
|
||||||
curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip")
|
curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip")
|
||||||
unzip -q "${RELEASE}.zip"
|
$STD unzip "${RELEASE}.zip"
|
||||||
mv "/opt/koillection-${RELEASE}" /opt/koillection
|
mv "/opt/koillection-${RELEASE}" /opt/koillection
|
||||||
cd /opt/koillection
|
cd /opt/koillection
|
||||||
cp -r /opt/koillection-backup/.env.local /opt/koillection
|
cp -r /opt/koillection-backup/.env.local /opt/koillection
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
# Copyright (c) 2021-2025 tteck
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: tteck (tteckster)
|
# Author: MickLesk (CanbiZ)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://linkwarden.app/
|
# Source: https://linkwarden.app/
|
||||||
|
|
||||||
APP="Linkwarden"
|
APP="Linkwarden"
|
||||||
var_tags="${var_tags:-bookmark}"
|
var_tags="${var_tags:-bookmark}"
|
||||||
var_cpu="${var_cpu:-2}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-2048}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_disk="${var_disk:-12}"
|
var_disk="${var_disk:-12}"
|
||||||
var_os="${var_os:-ubuntu}"
|
var_os="${var_os:-ubuntu}"
|
||||||
var_version="${var_version:-22.04}"
|
var_version="${var_version:-24.04}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
variables
|
variables
|
||||||
@ -27,48 +27,36 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
if [[ "${RELEASE}" != "$(cat /opt/linkwarden_version.txt)" ]] || [[ ! -f /opt/linkwarden_version.txt ]]; then
|
||||||
NODE_VERSION="22"
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
||||||
NODE_MODULE="yarn@latest"
|
|
||||||
install_node_and_modules
|
|
||||||
|
|
||||||
msg_info "Stopping ${APP}"
|
msg_info "Stopping ${APP}"
|
||||||
systemctl stop linkwarden
|
systemctl stop linkwarden
|
||||||
msg_ok "Stopped ${APP}"
|
msg_ok "Stopped ${APP}"
|
||||||
|
|
||||||
msg_info "Updating Rust"
|
RUST_CRATES="monolith" install_rust_and_crates
|
||||||
$STD apt-get install -y build-essential
|
|
||||||
$STD curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
||||||
source $HOME/.cargo/env
|
|
||||||
echo 'export PATH=/usr/local/cargo/bin:$PATH' >>/etc/profile
|
|
||||||
source /etc/profile
|
|
||||||
$STD cargo install monolith
|
|
||||||
msg_ok "Updated Rust"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
cd /opt
|
|
||||||
mv /opt/linkwarden/.env /opt/.env
|
mv /opt/linkwarden/.env /opt/.env
|
||||||
rm -rf /opt/linkwarden
|
rm -rf /opt/linkwarden
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
fetch_and_deploy_gh_release "linkwarden/linkwarden"
|
||||||
curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -o ${RELEASE}.zip
|
|
||||||
unzip -q ${RELEASE}.zip
|
|
||||||
mv linkwarden-${RELEASE:1} /opt/linkwarden
|
|
||||||
cd /opt/linkwarden
|
cd /opt/linkwarden
|
||||||
$STD yarn
|
$STD yarn
|
||||||
$STD npx playwright install-deps
|
$STD npx playwright install-deps
|
||||||
$STD yarn playwright install
|
$STD yarn playwright install
|
||||||
cp /opt/.env /opt/linkwarden/.env
|
mv /opt/.env /opt/linkwarden/.env
|
||||||
$STD yarn prisma:generate
|
$STD yarn prisma:generate
|
||||||
$STD yarn web:build
|
$STD yarn web:build
|
||||||
$STD yarn prisma:deploy
|
$STD yarn prisma:deploy
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
|
||||||
msg_ok "Updated ${APP} to ${RELEASE}"
|
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
msg_info "Starting ${APP}"
|
||||||
systemctl start linkwarden
|
systemctl start linkwarden
|
||||||
msg_ok "Started ${APP}"
|
msg_ok "Started ${APP}"
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -rf /opt/${RELEASE}.zip
|
rm -rf ~/.cargo/registry ~/.cargo/git ~/.cargo/.package-cache ~/.rustup
|
||||||
|
rm -rf /root/.cache/yarn
|
||||||
|
rm -rf /opt/linkwarden/.next/cache
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
else
|
else
|
||||||
|
@ -23,7 +23,7 @@ function update_script() {
|
|||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -f /etc/systemd/system/lldap.service ]]; then
|
if [[ ! -f /lib/systemd/system/lldap.service ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
@ -41,4 +41,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:17170${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:17170${CL}"
|
||||||
|
@ -50,7 +50,7 @@ function update_script() {
|
|||||||
[[ -e /opt/lubelogger/wwwroot/temp ]] && cp -r /opt/lubelogger/wwwroot/temp /tmp/lubeloggerData/data/
|
[[ -e /opt/lubelogger/wwwroot/temp ]] && cp -r /opt/lubelogger/wwwroot/temp /tmp/lubeloggerData/data/
|
||||||
[[ -e /opt/lubelogger/log ]] && cp -r /opt/lubelogger/log /tmp/lubeloggerData/
|
[[ -e /opt/lubelogger/log ]] && cp -r /opt/lubelogger/log /tmp/lubeloggerData/
|
||||||
rm -rf /opt/lubelogger
|
rm -rf /opt/lubelogger
|
||||||
unzip -qq LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip -d lubelogger
|
$STD unzip LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip -d lubelogger
|
||||||
chmod 700 /opt/lubelogger/CarCareTracker
|
chmod 700 /opt/lubelogger/CarCareTracker
|
||||||
cp -rf /tmp/lubeloggerData/* /opt/lubelogger/
|
cp -rf /tmp/lubeloggerData/* /opt/lubelogger/
|
||||||
echo "${RELEASE}" >"/opt/${APP}_version.txt"
|
echo "${RELEASE}" >"/opt/${APP}_version.txt"
|
||||||
|
@ -69,7 +69,7 @@ function update_script() {
|
|||||||
rm -rf /opt/meilisearch-ui
|
rm -rf /opt/meilisearch-ui
|
||||||
mkdir -p /opt/meilisearch-ui
|
mkdir -p /opt/meilisearch-ui
|
||||||
curl -fsSL "https://github.com/riccox/meilisearch-ui/archive/refs/tags/${RELEASE_UI}.zip" -o $tmp_file
|
curl -fsSL "https://github.com/riccox/meilisearch-ui/archive/refs/tags/${RELEASE_UI}.zip" -o $tmp_file
|
||||||
unzip -q "$tmp_file" -d "$tmp_dir"
|
$STD unzip "$tmp_file" -d "$tmp_dir"
|
||||||
mv "$tmp_dir"/*/* /opt/meilisearch-ui/
|
mv "$tmp_dir"/*/* /opt/meilisearch-ui/
|
||||||
cd /opt/meilisearch-ui
|
cd /opt/meilisearch-ui
|
||||||
sed -i 's|const hash = execSync("git rev-parse HEAD").toString().trim();|const hash = "unknown";|' /opt/meilisearch-ui/vite.config.ts
|
sed -i 's|const hash = execSync("git rev-parse HEAD").toString().trim();|const hash = "unknown";|' /opt/meilisearch-ui/vite.config.ts
|
||||||
|
@ -39,7 +39,7 @@ function update_script() {
|
|||||||
rm -rf myspeed_bak
|
rm -rf myspeed_bak
|
||||||
mv myspeed myspeed_bak
|
mv myspeed myspeed_bak
|
||||||
curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip")
|
curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip")
|
||||||
unzip -q MySpeed-$RELEASE.zip -d myspeed
|
$STD unzip MySpeed-$RELEASE.zip -d myspeed
|
||||||
cd myspeed
|
cd myspeed
|
||||||
$STD npm install
|
$STD npm install
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
@ -39,7 +39,7 @@ function update_script() {
|
|||||||
mv /opt/netbox/ /opt/netbox-backup
|
mv /opt/netbox/ /opt/netbox-backup
|
||||||
cd /opt
|
cd /opt
|
||||||
curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip")
|
||||||
unzip -q "v${RELEASE}.zip"
|
$STD unzip "v${RELEASE}.zip"
|
||||||
mv /opt/netbox-${RELEASE}/ /opt/netbox/
|
mv /opt/netbox-${RELEASE}/ /opt/netbox/
|
||||||
|
|
||||||
cp -r /opt/netbox-backup/netbox/netbox/configuration.py /opt/netbox/netbox/netbox/
|
cp -r /opt/netbox-backup/netbox/netbox/configuration.py /opt/netbox/netbox/netbox/
|
||||||
|
64
ct/oauth2-proxy.sh
Normal file
64
ct/oauth2-proxy.sh
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
#!/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: bvdberg01
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/oauth2-proxy/oauth2-proxy/
|
||||||
|
|
||||||
|
APP="oauth2-proxy"
|
||||||
|
var_tags="${var_tags:-os}"
|
||||||
|
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/oauth2-proxy ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/oauth2-proxy/oauth2-proxy/releases/latest | jq -r .tag_name | sed 's/^v//')
|
||||||
|
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||||
|
msg_info "Stopping ${APP} services"
|
||||||
|
systemctl stop oauth2-proxy
|
||||||
|
msg_ok "Stopped ${APP}"
|
||||||
|
|
||||||
|
msg_info "Updating $APP to ${RELEASE}"
|
||||||
|
rm -f /opt/oauth2-proxy/oauth2-proxy
|
||||||
|
curl -fsSL "https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v${RELEASE}/oauth2-proxy-v${RELEASE}.linux-amd64.tar.gz" -o /opt/oauth2-proxy.tar.gz
|
||||||
|
tar -xzf /opt/oauth2-proxy.tar.gz
|
||||||
|
mv /opt/oauth2-proxy-v${RELEASE}.linux-amd64/oauth2-proxy /opt/oauth2-proxy
|
||||||
|
systemctl start oauth2-proxy
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated ${APP} to ${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
rm -f "/opt/oauth2-proxy.tar.gz"
|
||||||
|
rm -rf "/opt/oauth2-proxy-v${RELEASE}.linux-amd64"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
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} Now you can modify /opt/oauth2-proxy/config.toml with your needed config.${CL}"
|
@ -40,7 +40,7 @@ function update_script() {
|
|||||||
cd /opt
|
cd /opt
|
||||||
mv /opt/paperless-ai /opt/paperless-ai_bak
|
mv /opt/paperless-ai /opt/paperless-ai_bak
|
||||||
curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip")
|
||||||
unzip -q v${RELEASE}.zip
|
$STD unzip v${RELEASE}.zip
|
||||||
mv paperless-ai-${RELEASE} /opt/paperless-ai
|
mv paperless-ai-${RELEASE} /opt/paperless-ai
|
||||||
mkdir -p /opt/paperless-ai/data
|
mkdir -p /opt/paperless-ai/data
|
||||||
cp -a /opt/paperless-ai_bak/data/. /opt/paperless-ai/data/
|
cp -a /opt/paperless-ai_bak/data/. /opt/paperless-ai/data/
|
||||||
|
@ -37,7 +37,7 @@ function update_script() {
|
|||||||
cd /opt
|
cd /opt
|
||||||
mv /opt/partdb/ /opt/partdb-backup
|
mv /opt/partdb/ /opt/partdb-backup
|
||||||
curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip")
|
||||||
unzip -q "v${RELEASE}.zip"
|
$STD unzip "v${RELEASE}.zip"
|
||||||
mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb
|
mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb
|
||||||
|
|
||||||
cd /opt/partdb/
|
cd /opt/partdb/
|
||||||
|
26
ct/petio.sh
26
ct/petio.sh
@ -19,20 +19,20 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -d /opt/Petio ]]; then
|
if [[ ! -d /opt/Petio ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
|
||||||
fi
|
|
||||||
msg_info "Updating $APP"
|
|
||||||
systemctl stop petio.service
|
|
||||||
curl -fsSL https://petio.tv/releases/latest -o petio-latest.zip
|
|
||||||
unzip petio-latest.zip -d /opt/Petio
|
|
||||||
systemctl start petio.service
|
|
||||||
msg_ok "Updated $APP"
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
msg_info "Updating $APP"
|
||||||
|
systemctl stop petio.service
|
||||||
|
curl -fsSL https://petio.tv/releases/latest -o petio-latest.zip
|
||||||
|
$STD unzip petio-latest.zip -d /opt/Petio
|
||||||
|
systemctl start petio.service
|
||||||
|
msg_ok "Updated $APP"
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
@ -39,7 +39,7 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP}"
|
msg_info "Updating ${APP}"
|
||||||
cd /opt
|
cd /opt
|
||||||
curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip")
|
curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip")
|
||||||
unzip -q ${RELEASE}.zip
|
$STD unzip ${RELEASE}.zip
|
||||||
rm -rf "/opt/${APP}"
|
rm -rf "/opt/${APP}"
|
||||||
mv ${APP}-${RELEASE:1} /opt/${APP}
|
mv ${APP}-${RELEASE:1} /opt/${APP}
|
||||||
cd /opt/Pf2eTools
|
cd /opt/Pf2eTools
|
||||||
|
@ -37,7 +37,7 @@ function update_script() {
|
|||||||
cd /opt
|
cd /opt
|
||||||
mv /opt/phpipam/ /opt/phpipam-backup
|
mv /opt/phpipam/ /opt/phpipam-backup
|
||||||
curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o $(basename "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip")
|
curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o $(basename "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip")
|
||||||
unzip -q "phpipam-v${RELEASE}.zip"
|
$STD unzip "phpipam-v${RELEASE}.zip"
|
||||||
cp /opt/phpipam-backup/config.php /opt/phpipam
|
cp /opt/phpipam-backup/config.php /opt/phpipam
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
msg_ok "Updated $APP to v${RELEASE}"
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
@ -38,7 +38,7 @@ function update_script() {
|
|||||||
msg_info "Updating Pingvin Share to v${RELEASE}"
|
msg_info "Updating Pingvin Share to v${RELEASE}"
|
||||||
cd /opt
|
cd /opt
|
||||||
curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip")
|
||||||
unzip -q v${RELEASE}.zip
|
$STD unzip v${RELEASE}.zip
|
||||||
cp -rf pingvin-share-${RELEASE}/* /opt/pingvin-share
|
cp -rf pingvin-share-${RELEASE}/* /opt/pingvin-share
|
||||||
cd /opt/pingvin-share
|
cd /opt/pingvin-share
|
||||||
cd backend
|
cd backend
|
||||||
|
111
ct/pocketid.sh
111
ct/pocketid.sh
@ -20,63 +20,62 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
|
|
||||||
if [[ ! -d /opt/pocket-id ]]; then
|
if [[ ! -d /opt/pocket-id ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
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
|
|
||||||
exit
|
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
|
start
|
||||||
@ -85,6 +84,6 @@ description
|
|||||||
|
|
||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
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 "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}https://{PUBLIC_URL}/login/setup${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}https://{PUBLIC_URL}/login/setup${CL}"
|
||||||
|
@ -58,7 +58,6 @@ function update_script() {
|
|||||||
if [ "$UPD" == "2" ]; then
|
if [ "$UPD" == "2" ]; then
|
||||||
msg_info "Installing Home Assistant Community Store (HACS)"
|
msg_info "Installing Home Assistant Community Store (HACS)"
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install unzip
|
|
||||||
cd /var/lib/containers/storage/volumes/hass_config/_data
|
cd /var/lib/containers/storage/volumes/hass_config/_data
|
||||||
$STD bash <(curl -fsSL https://get.hacs.xyz)
|
$STD bash <(curl -fsSL https://get.hacs.xyz)
|
||||||
msg_ok "Installed Home Assistant Community Store (HACS)"
|
msg_ok "Installed Home Assistant Community Store (HACS)"
|
||||||
@ -110,4 +109,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
|
||||||
|
@ -33,7 +33,7 @@ function update_script() {
|
|||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
cp -f /opt/privatebin/cfg/conf.php /tmp/privatebin_conf.bak
|
cp -f /opt/privatebin/cfg/conf.php /tmp/privatebin_conf.bak
|
||||||
curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip")
|
curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip")
|
||||||
unzip -q ${RELEASE}.zip
|
$STD unzip ${RELEASE}.zip
|
||||||
rm -rf /opt/privatebin/*
|
rm -rf /opt/privatebin/*
|
||||||
mv PrivateBin-${RELEASE}/* /opt/privatebin/
|
mv PrivateBin-${RELEASE}/* /opt/privatebin/
|
||||||
mv /tmp/privatebin_conf.bak /opt/privatebin/cfg/conf.php
|
mv /tmp/privatebin_conf.bak /opt/privatebin/cfg/conf.php
|
||||||
|
@ -36,7 +36,7 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
cd /opt
|
cd /opt
|
||||||
curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip")
|
curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip")
|
||||||
unzip -o -q "projectsend-r${RELEASE}.zip" -d projectsend
|
$STD unzip -o "projectsend-r${RELEASE}.zip" -d projectsend
|
||||||
chown -R www-data:www-data /opt/projectsend
|
chown -R www-data:www-data /opt/projectsend
|
||||||
chmod -R 775 /opt/projectsend
|
chmod -R 775 /opt/projectsend
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
73
ct/pulse.sh
Normal file
73
ct/pulse.sh
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: rcourtman
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/rcourtman/Pulse
|
||||||
|
|
||||||
|
APP="Pulse"
|
||||||
|
var_tags="${var_tags:-monitoring,proxmox}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
var_disk="${var_disk:-4}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-12}"
|
||||||
|
var_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/pulse-proxmox ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/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
|
||||||
|
msg_info "Stopping ${APP}"
|
||||||
|
systemctl stop pulse-monitor
|
||||||
|
msg_ok "Stopped ${APP}"
|
||||||
|
|
||||||
|
msg_info "Updating Pulse"
|
||||||
|
if [[ -f /opt/pulse-proxmox/.env ]]; then
|
||||||
|
cp /opt/pulse-proxmox/.env /tmp/.env.backup.pulse
|
||||||
|
fi
|
||||||
|
temp_file=$(mktemp)
|
||||||
|
mkdir -p /opt/pulse-proxmox
|
||||||
|
rm -rf /opt/pulse-proxmox/*
|
||||||
|
curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file"
|
||||||
|
tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox
|
||||||
|
if [[ -f /tmp/.env.backup.pulse ]]; then
|
||||||
|
mv /tmp/.env.backup.pulse /opt/pulse-proxmox/.env
|
||||||
|
fi
|
||||||
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
|
msg_ok "Updated Pulse to ${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Setting permissions for /opt/pulse-proxmox..."
|
||||||
|
chown -R pulse:pulse "/opt/pulse-proxmox"
|
||||||
|
find "/opt/pulse-proxmox" -type d -exec chmod 755 {} \;
|
||||||
|
find "/opt/pulse-proxmox" -type f -exec chmod 644 {} \;
|
||||||
|
chmod 600 /opt/pulse-proxmox/.env
|
||||||
|
msg_ok "Set permissions."
|
||||||
|
|
||||||
|
msg_info "Starting ${APP}"
|
||||||
|
systemctl start pulse-monitor
|
||||||
|
msg_ok "Started ${APP}"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at ${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}(:your_port)${CL}"
|
@ -20,38 +20,38 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -d /opt/rdtc/ ]]; then
|
if [[ ! -d /opt/rdtc/ ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
|
||||||
fi
|
|
||||||
msg_info "Stopping ${APP}"
|
|
||||||
systemctl stop rdtc
|
|
||||||
msg_ok "Stopped ${APP}"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP}"
|
|
||||||
if dpkg-query -W dotnet-sdk-8.0 >/dev/null 2>&1; then
|
|
||||||
$STD apt-get remove --purge -y dotnet-sdk-8.0
|
|
||||||
$STD apt-get install -y dotnet-sdk-9.0
|
|
||||||
fi
|
|
||||||
mkdir -p rdtc-backup
|
|
||||||
cp -R /opt/rdtc/appsettings.json rdtc-backup/
|
|
||||||
curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip")
|
|
||||||
unzip -oqq RealDebridClient.zip -d /opt/rdtc
|
|
||||||
cp -R rdtc-backup/appsettings.json /opt/rdtc/
|
|
||||||
msg_ok "Updated ${APP}"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
|
||||||
systemctl start rdtc
|
|
||||||
msg_ok "Started ${APP}"
|
|
||||||
|
|
||||||
msg_info "Cleaning Up"
|
|
||||||
rm -rf rdtc-backup RealDebridClient.zip
|
|
||||||
msg_ok "Cleaned"
|
|
||||||
msg_ok "Updated Successfully"
|
|
||||||
exit
|
exit
|
||||||
|
fi
|
||||||
|
msg_info "Stopping ${APP}"
|
||||||
|
systemctl stop rdtc
|
||||||
|
msg_ok "Stopped ${APP}"
|
||||||
|
|
||||||
|
msg_info "Updating ${APP}"
|
||||||
|
if dpkg-query -W dotnet-sdk-8.0 >/dev/null 2>&1; then
|
||||||
|
$STD apt-get remove --purge -y dotnet-sdk-8.0
|
||||||
|
$STD apt-get install -y dotnet-sdk-9.0
|
||||||
|
fi
|
||||||
|
mkdir -p rdtc-backup
|
||||||
|
cp -R /opt/rdtc/appsettings.json rdtc-backup/
|
||||||
|
curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip")
|
||||||
|
$STD unzip -o RealDebridClient.zip -d /opt/rdtc
|
||||||
|
cp -R rdtc-backup/appsettings.json /opt/rdtc/
|
||||||
|
msg_ok "Updated ${APP}"
|
||||||
|
|
||||||
|
msg_info "Starting ${APP}"
|
||||||
|
systemctl start rdtc
|
||||||
|
msg_ok "Started ${APP}"
|
||||||
|
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
rm -rf rdtc-backup RealDebridClient.zip
|
||||||
|
msg_ok "Cleaned"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
|
@ -39,7 +39,7 @@ function update_script() {
|
|||||||
res_tmp=$(mktemp)
|
res_tmp=$(mktemp)
|
||||||
rm -rf /opt/${APP}
|
rm -rf /opt/${APP}
|
||||||
curl -fsSL "https://github.com/AmruthPillai/Reactive-Resume/archive/refs/tags/v${RELEASE}.zip" -O $res_tmp
|
curl -fsSL "https://github.com/AmruthPillai/Reactive-Resume/archive/refs/tags/v${RELEASE}.zip" -O $res_tmp
|
||||||
unzip -q $res_tmp
|
$STD unzip $res_tmp
|
||||||
mv ${APP}-${RELEASE}/ /opt/${APP}
|
mv ${APP}-${RELEASE}/ /opt/${APP}
|
||||||
cd /opt/${APP}
|
cd /opt/${APP}
|
||||||
export PUPPETEER_SKIP_DOWNLOAD="true"
|
export PUPPETEER_SKIP_DOWNLOAD="true"
|
||||||
@ -66,7 +66,7 @@ function update_script() {
|
|||||||
brwsr_tmp=$(mktemp)
|
brwsr_tmp=$(mktemp)
|
||||||
TAG=$(curl -fsSL https://api.github.com/repos/browserless/browserless/tags?per_page=1 | grep "name" | awk '{print substr($2, 3, length($2)-4) }')
|
TAG=$(curl -fsSL https://api.github.com/repos/browserless/browserless/tags?per_page=1 | grep "name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
curl -fsSL https://github.com/browserless/browserless/archive/refs/tags/v${TAG}.zip -O $brwsr_tmp
|
curl -fsSL https://github.com/browserless/browserless/archive/refs/tags/v${TAG}.zip -O $brwsr_tmp
|
||||||
unzip -q $brwsr_tmp
|
$STD unzip $brwsr_tmp
|
||||||
mv browserless-${TAG}/ /opt/browserless
|
mv browserless-${TAG}/ /opt/browserless
|
||||||
cd /opt/browserless
|
cd /opt/browserless
|
||||||
$STD npm install
|
$STD npm install
|
||||||
|
@ -34,7 +34,7 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o $(basename "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip")
|
curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o $(basename "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip")
|
||||||
unzip -q silverbullet-server-linux-x86_64.zip
|
$STD unzip silverbullet-server-linux-x86_64.zip
|
||||||
mv silverbullet /opt/silverbullet/bin/
|
mv silverbullet /opt/silverbullet/bin/
|
||||||
chmod +x /opt/silverbullet/bin/silverbullet
|
chmod +x /opt/silverbullet/bin/silverbullet
|
||||||
echo "${RELEASE}" >/opt/silverbullet/${APP}_version.txt
|
echo "${RELEASE}" >/opt/silverbullet/${APP}_version.txt
|
||||||
|
@ -38,7 +38,7 @@ function update_script() {
|
|||||||
msg_info "Updating $APP to v${RELEASE}"
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
tmp_file=$(mktemp)
|
tmp_file=$(mktemp)
|
||||||
curl -fsSL "https://github.com/slskd/slskd/releases/download/${RELEASE}/slskd-${RELEASE}-linux-x64.zip" -o $tmp_file
|
curl -fsSL "https://github.com/slskd/slskd/releases/download/${RELEASE}/slskd-${RELEASE}-linux-x64.zip" -o $tmp_file
|
||||||
unzip -q -oj $tmp_file slskd -d /opt/${APP}
|
$STD unzip -oj $tmp_file slskd -d /opt/${APP}
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
msg_ok "Updated $APP to v${RELEASE}"
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ function update_script() {
|
|||||||
cd /tmp
|
cd /tmp
|
||||||
rm -rf /opt/soularr
|
rm -rf /opt/soularr
|
||||||
curl -fsSL -o main.zip https://github.com/mrusse/soularr/archive/refs/heads/main.zip
|
curl -fsSL -o main.zip https://github.com/mrusse/soularr/archive/refs/heads/main.zip
|
||||||
unzip -q main.zip
|
$STD unzip main.zip
|
||||||
mv soularr-main /opt/soularr
|
mv soularr-main /opt/soularr
|
||||||
cd /opt/soularr
|
cd /opt/soularr
|
||||||
$STD pip install -r requirements.txt
|
$STD pip install -r requirements.txt
|
||||||
|
@ -39,7 +39,7 @@ function update_script() {
|
|||||||
rm -rf spoolman_bak
|
rm -rf spoolman_bak
|
||||||
mv spoolman spoolman_bak
|
mv spoolman spoolman_bak
|
||||||
curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip" -o $(basename "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip")
|
curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip" -o $(basename "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip")
|
||||||
unzip -q spoolman.zip -d spoolman
|
$STD unzip spoolman.zip -d spoolman
|
||||||
cd spoolman
|
cd spoolman
|
||||||
$STD pip3 install -r requirements.txt
|
$STD pip3 install -r requirements.txt
|
||||||
curl -fsSL "https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example" -o ".env"
|
curl -fsSL "https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example" -o ".env"
|
||||||
|
@ -37,7 +37,7 @@ function update_script() {
|
|||||||
cd /opt
|
cd /opt
|
||||||
mv /opt/teddycloud /opt/teddycloud_bak
|
mv /opt/teddycloud /opt/teddycloud_bak
|
||||||
curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o $(basename "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip")
|
curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o $(basename "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip")
|
||||||
unzip -q -d /opt/teddycloud teddycloud.amd64.release_v${VERSION}.zip
|
$STD unzip -d /opt/teddycloud teddycloud.amd64.release_v${VERSION}.zip
|
||||||
cp -R /opt/teddycloud_bak/certs /opt/teddycloud_bak/config /opt/teddycloud_bak/data /opt/teddycloud
|
cp -R /opt/teddycloud_bak/certs /opt/teddycloud_bak/config /opt/teddycloud_bak/data /opt/teddycloud
|
||||||
echo "${VERSION}" >"/opt/${APP}_version.txt"
|
echo "${VERSION}" >"/opt/${APP}_version.txt"
|
||||||
msg_ok "Updated ${APP} to v${VERSION}"
|
msg_ok "Updated ${APP} to v${VERSION}"
|
||||||
|
@ -50,7 +50,7 @@ function update_script() {
|
|||||||
cp /opt/tianji/src/server/.env /opt/.env
|
cp /opt/tianji/src/server/.env /opt/.env
|
||||||
mv /opt/tianji /opt/tianji_bak
|
mv /opt/tianji /opt/tianji_bak
|
||||||
curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip")
|
||||||
unzip -q v${RELEASE}.zip
|
$STD unzip v${RELEASE}.zip
|
||||||
mv tianji-${RELEASE} /opt/tianji
|
mv tianji-${RELEASE} /opt/tianji
|
||||||
cd tianji
|
cd tianji
|
||||||
export NODE_OPTIONS="--max_old_space_size=4096"
|
export NODE_OPTIONS="--max_old_space_size=4096"
|
||||||
|
@ -35,7 +35,7 @@ function update_script() {
|
|||||||
mkdir -p /opt/logos
|
mkdir -p /opt/logos
|
||||||
mv /opt/wallos/db/wallos.db /opt/wallos.db
|
mv /opt/wallos/db/wallos.db /opt/wallos.db
|
||||||
mv /opt/wallos/images/uploads/logos /opt/logos/
|
mv /opt/wallos/images/uploads/logos /opt/logos/
|
||||||
unzip -q v${RELEASE}.zip
|
$STD unzip v${RELEASE}.zip
|
||||||
rm -rf /opt/wallos
|
rm -rf /opt/wallos
|
||||||
mv Wallos-${RELEASE} /opt/wallos
|
mv Wallos-${RELEASE} /opt/wallos
|
||||||
rm -rf /opt/wallos/db/wallos.empty.db
|
rm -rf /opt/wallos/db/wallos.empty.db
|
||||||
|
@ -20,28 +20,28 @@ color
|
|||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
function update_script() {
|
function update_script() {
|
||||||
header_info
|
header_info
|
||||||
check_container_storage
|
check_container_storage
|
||||||
check_container_resources
|
check_container_resources
|
||||||
if [[ ! -d /opt/wastebin ]]; then
|
if [[ ! -d /opt/wastebin ]]; then
|
||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
# Dirty-Fix 03/2025 for missing APP_version.txt on old installations, set to pre-latest release
|
# Dirty-Fix 03/2025 for missing APP_version.txt on old installations, set to pre-latest release
|
||||||
msg_info "Running Migration"
|
msg_info "Running Migration"
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]]; then
|
if [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||||
echo "2.7.1" >/opt/${APP}_version.txt
|
echo "2.7.1" >/opt/${APP}_version.txt
|
||||||
mkdir -p /opt/wastebin-data
|
mkdir -p /opt/wastebin-data
|
||||||
cat <<EOF >/opt/wastebin-data/.env
|
cat <<EOF >/opt/wastebin-data/.env
|
||||||
WASTEBIN_DATABASE_PATH=/opt/wastebin-data/wastebin.db
|
WASTEBIN_DATABASE_PATH=/opt/wastebin-data/wastebin.db
|
||||||
WASTEBIN_CACHE_SIZE=1024
|
WASTEBIN_CACHE_SIZE=1024
|
||||||
WASTEBIN_HTTP_TIMEOUT=30
|
WASTEBIN_HTTP_TIMEOUT=30
|
||||||
WASTEBIN_SIGNING_KEY=$(openssl rand -hex 32)
|
WASTEBIN_SIGNING_KEY=$(openssl rand -hex 32)
|
||||||
WASTEBIN_PASTE_EXPIRATIONS=0,600,3600=d,86400,604800,2419200,29030400
|
WASTEBIN_PASTE_EXPIRATIONS=0,600,3600=d,86400,604800,2419200,29030400
|
||||||
EOF
|
EOF
|
||||||
systemctl stop wastebin
|
systemctl stop wastebin
|
||||||
cat <<EOF >/etc/systemd/system/wastebin.service
|
cat <<EOF >/etc/systemd/system/wastebin.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Wastebin Service
|
Description=Wastebin Service
|
||||||
After=network.target
|
After=network.target
|
||||||
@ -54,35 +54,35 @@ EnvironmentFile=/opt/wastebin-data/.env
|
|||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
fi
|
fi
|
||||||
msg_ok "Migration Done"
|
msg_ok "Migration Done"
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||||
msg_info "Stopping Wastebin"
|
msg_info "Stopping Wastebin"
|
||||||
systemctl stop wastebin
|
systemctl stop wastebin
|
||||||
msg_ok "Wastebin Stopped"
|
msg_ok "Wastebin Stopped"
|
||||||
|
|
||||||
msg_info "Updating Wastebin"
|
msg_info "Updating Wastebin"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.zip" -o "$temp_file"
|
curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.zip" -o "$temp_file"
|
||||||
unzip -o -q $temp_file
|
$STD unzip -o $temp_file
|
||||||
cp -f wastebin /opt/wastebin/
|
cp -f wastebin /opt/wastebin/
|
||||||
chmod +x /opt/wastebin/wastebin
|
chmod +x /opt/wastebin/wastebin
|
||||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||||
msg_ok "Updated Wastebin"
|
msg_ok "Updated Wastebin"
|
||||||
|
|
||||||
msg_info "Starting Wastebin"
|
msg_info "Starting Wastebin"
|
||||||
systemctl start wastebin
|
systemctl start wastebin
|
||||||
msg_ok "Started Wastebin"
|
msg_ok "Started Wastebin"
|
||||||
|
|
||||||
msg_info "Cleaning Up"
|
msg_info "Cleaning Up"
|
||||||
rm -f $temp_file
|
rm -f $temp_file
|
||||||
msg_ok "Cleanup Completed"
|
msg_ok "Cleanup Completed"
|
||||||
msg_ok "Updated Successfully"
|
msg_ok "Updated Successfully"
|
||||||
else
|
else
|
||||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
start
|
start
|
||||||
@ -92,4 +92,4 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8088${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8088${CL}"
|
||||||
|
@ -41,7 +41,7 @@ function update_script() {
|
|||||||
cp /opt/wavelog/assets/js/sections/custom.js /opt/custom.js
|
cp /opt/wavelog/assets/js/sections/custom.js /opt/custom.js
|
||||||
fi
|
fi
|
||||||
curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip")
|
curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip")
|
||||||
unzip -q ${RELEASE}.zip
|
$STD unzip ${RELEASE}.zip
|
||||||
rm -rf /opt/wavelog
|
rm -rf /opt/wavelog
|
||||||
mv wavelog-${RELEASE}/ /opt/wavelog
|
mv wavelog-${RELEASE}/ /opt/wavelog
|
||||||
rm -rf /opt/wavelog/install
|
rm -rf /opt/wavelog/install
|
||||||
|
@ -47,7 +47,7 @@ function update_script() {
|
|||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
msg_info "Updating ${APP} to v${RELEASE}"
|
||||||
cd /opt
|
cd /opt
|
||||||
curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip")
|
curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip")
|
||||||
unzip -q ${RELEASE}.zip
|
$STD unzip ${RELEASE}.zip
|
||||||
rm -rf /opt/zigbee2mqtt
|
rm -rf /opt/zigbee2mqtt
|
||||||
mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt
|
mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt
|
||||||
rm -rf /opt/zigbee2mqtt/data
|
rm -rf /opt/zigbee2mqtt/data
|
||||||
|
@ -43,7 +43,7 @@ function update_script() {
|
|||||||
mkdir -p /opt/zipline-upload
|
mkdir -p /opt/zipline-upload
|
||||||
cp -R /opt/zipline/upload/* /opt/zipline-upload/
|
cp -R /opt/zipline/upload/* /opt/zipline-upload/
|
||||||
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")
|
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")
|
||||||
unzip -q v"${RELEASE}".zip
|
$STD unzip v"${RELEASE}".zip
|
||||||
rm -R /opt/zipline
|
rm -R /opt/zipline
|
||||||
mv zipline-"${RELEASE}" /opt/zipline
|
mv zipline-"${RELEASE}" /opt/zipline
|
||||||
cd /opt/zipline
|
cd /opt/zipline
|
||||||
|
@ -37,7 +37,7 @@ function update_script() {
|
|||||||
rm -rf /opt/zwave-js-ui/*
|
rm -rf /opt/zwave-js-ui/*
|
||||||
cd /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")
|
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")
|
||||||
unzip -q zwave-js-ui-${RELEASE}-linux.zip
|
$STD unzip zwave-js-ui-${RELEASE}-linux.zip
|
||||||
msg_ok "Updated Z-Wave JS UI"
|
msg_ok "Updated Z-Wave JS UI"
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Alpine-tinyauth",
|
"name": "Alpine-Tinyauth",
|
||||||
"slug": "alpine-tinyauth",
|
"slug": "alpine-tinyauth",
|
||||||
"categories": [
|
"categories": [
|
||||||
6
|
6
|
||||||
@ -9,11 +9,11 @@
|
|||||||
"updateable": true,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
"interface_port": 3000,
|
"interface_port": 3000,
|
||||||
"documentation": "https://tinyauth.app/docs/getting-started.html",
|
"documentation": "https://tinyauth.app",
|
||||||
"website": "https://tinyauth.app/",
|
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tinyauth.webp",
|
|
||||||
"config_path": "/opt/tinyauth/.env",
|
"config_path": "/opt/tinyauth/.env",
|
||||||
"description": "Tinyauth is a simple authentication middleware that adds simple username/password login or OAuth with Google, Github and any generic provider to all of your docker apps. It is designed for traefik but it can be extended to work with all reverse proxies like caddy and nginx.",
|
"website": "https://tinyauth.app",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tinyauth.webp",
|
||||||
|
"description": "Tinyauth is a simple authentication middleware that adds simple username/password login or OAuth with Google, Github and any generic provider to all of your docker apps.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
"type": "default",
|
"type": "default",
|
||||||
@ -21,7 +21,7 @@
|
|||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 1,
|
"cpu": 1,
|
||||||
"ram": 256,
|
"ram": 256,
|
||||||
"hdd": 3,
|
"hdd": 2,
|
||||||
"os": "alpine",
|
"os": "alpine",
|
||||||
"version": "3.21"
|
"version": "3.21"
|
||||||
}
|
}
|
||||||
@ -32,7 +32,7 @@
|
|||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 1,
|
"cpu": 1,
|
||||||
"ram": 256,
|
"ram": 256,
|
||||||
"hdd": 3,
|
"hdd": 2,
|
||||||
"os": "alpine",
|
"os": "alpine",
|
||||||
"version": "3.21"
|
"version": "3.21"
|
||||||
}
|
}
|
||||||
@ -44,8 +44,8 @@
|
|||||||
},
|
},
|
||||||
"notes": [
|
"notes": [
|
||||||
{
|
{
|
||||||
"type": "info",
|
"text": "The default credentials are located in `/opt/tinyauth/credentials.txt`.",
|
||||||
"text": "`cat ~/tinyauth.creds` to view login credentials"
|
"type": "info"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
35
frontend/public/json/argus.json
Normal file
35
frontend/public/json/argus.json
Normal 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": []
|
||||||
|
}
|
40
frontend/public/json/backrest.json
Normal file
40
frontend/public/json/backrest.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Backrest",
|
||||||
|
"slug": "backrest",
|
||||||
|
"categories": [
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"date_created": "2025-05-27",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 9898,
|
||||||
|
"documentation": "https://garethgeorge.github.io/backrest/introduction/getting-started",
|
||||||
|
"website": "https://garethgeorge.github.io/backrest",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/backrest.webp",
|
||||||
|
"config_path": "/opt/backrest/config/config.json",
|
||||||
|
"description": "Backrest is a web-accessible backup solution built on top of restic and providing a WebUI which wraps the restic CLI and makes it easy to create repos, browse snapshots, and restore files. Additionally, Backrest can run in the background and take an opinionated approach to scheduling snapshots and orchestrating repo health operations.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/backrest.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 512,
|
||||||
|
"hdd": 8,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"type": "info",
|
||||||
|
"text": "`cat ~/.ssh/id_ed25519.pub` to view ssh public key. This key is used to authenticate with sftp targets. You can add this key on the sftp server."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -20,7 +20,7 @@
|
|||||||
"script": "ct/bunkerweb.sh",
|
"script": "ct/bunkerweb.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 4096,
|
"ram": 8192,
|
||||||
"hdd": 4,
|
"hdd": 4,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 2,
|
"cpu": 2,
|
||||||
"ram": 3072,
|
"ram": 3072,
|
||||||
"hdd": 6,
|
"hdd": 10,
|
||||||
"os": "debian",
|
"os": "debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
}
|
}
|
||||||
|
44
frontend/public/json/kasm.json
Normal file
44
frontend/public/json/kasm.json
Normal 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -23,7 +23,7 @@
|
|||||||
"ram": 2048,
|
"ram": 2048,
|
||||||
"hdd": 12,
|
"hdd": 12,
|
||||||
"os": "ubuntu",
|
"os": "ubuntu",
|
||||||
"version": "22.04"
|
"version": "24.04"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
45
frontend/public/json/oauth2-proxy.json
Normal file
45
frontend/public/json/oauth2-proxy.json
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"name": "OAuth2-Proxy",
|
||||||
|
"slug": "oauth2-proxy",
|
||||||
|
"categories": [
|
||||||
|
4,
|
||||||
|
6
|
||||||
|
],
|
||||||
|
"date_created": "2025-05-28",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": null,
|
||||||
|
"documentation": "https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview",
|
||||||
|
"website": "https://oauth2-proxy.github.io/oauth2-proxy/",
|
||||||
|
"logo": "https://raw.githubusercontent.com/oauth2-proxy/oauth2-proxy/f82e90426a1881d36bf995f25de9b7b1db4c2564/docs/static/img/logos/OAuth2_Proxy_icon.svg",
|
||||||
|
"config_path": "/opt/oauth2-proxy/config.toml",
|
||||||
|
"description": "A reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/oauth2-proxy.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 512,
|
||||||
|
"hdd": 3,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "This application includes a blank configuration file by default due to the wide range of available configuration options. We recommend referring to the official documentation for guidance: `https://oauth2-proxy.github.io/oauth2-proxy/configuration/overview`. With this you can make your config.toml file accordingly to your needs.",
|
||||||
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "After changing the config restart OAuth2-Proxy with: `systemctl restart oauth2-proxy`",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -8,11 +8,11 @@
|
|||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": true,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
"interface_port": 80,
|
"interface_port": 1411,
|
||||||
"documentation": "https://pocket-id.org/docs/",
|
"documentation": "https://pocket-id.org/docs/",
|
||||||
"website": "https://github.com/pocket-id/pocket-id",
|
"website": "https://github.com/pocket-id/pocket-id",
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/pocket-id.webp",
|
"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.",
|
"description": "Pocket ID is a simple OIDC provider that allows users to authenticate with their passkeys to your services.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
@ -35,10 +35,6 @@
|
|||||||
{
|
{
|
||||||
"text": "Pocket ID requires https to work.",
|
"text": "Pocket ID requires https to work.",
|
||||||
"type": "warning"
|
"type": "warning"
|
||||||
},
|
|
||||||
{
|
|
||||||
"text": "Configuration Path: `/opt/pocket-id/backend/.env`, `/opt/pocket-id/frontend/.env`.",
|
|
||||||
"type": "info"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
40
frontend/public/json/pulse.json
Normal file
40
frontend/public/json/pulse.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Pulse",
|
||||||
|
"slug": "pulse",
|
||||||
|
"categories": [
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"date_created": "2025-05-27",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 7655,
|
||||||
|
"documentation": null,
|
||||||
|
"website": "https://github.com/rcourtman/Pulse",
|
||||||
|
"logo": "https://raw.githubusercontent.com/rcourtman/Pulse/main/src/public/logos/pulse-logo-256x256.png",
|
||||||
|
"config_path": "/opt/pulse-proxmox/.env",
|
||||||
|
"description": "A lightweight monitoring application for Proxmox VE that displays real-time status for VMs and containers via a simple web interface.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/pulse.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 1024,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Create Proxmox-API-Token first: `https://github.com/rcourtman/Pulse?tab=readme-ov-file#creating-a-proxmox-api-token`",
|
||||||
|
"type": "Info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
40
frontend/public/json/umbrel-os-vm.json
Normal file
40
frontend/public/json/umbrel-os-vm.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Umbrel OS",
|
||||||
|
"slug": "umbrel-os-vm",
|
||||||
|
"categories": [
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"date_created": "2025-05-28",
|
||||||
|
"type": "vm",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 80,
|
||||||
|
"documentation": "https://community.umbrel.com/c/guides/",
|
||||||
|
"website": "https://umbrel.com/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/umbrelos.webp",
|
||||||
|
"config_path": "",
|
||||||
|
"description": "Take control of your digital life with Umbrel — a private, personal server that lets you self-host powerful open source apps with ease. Whether you want to run a Bitcoin or Lightning node, manage your files with Nextcloud, stream media, block ads across your network, or explore self-hosted AI tools, Umbrel gives you full ownership and privacy. All through a beautiful, user-friendly interface — no cloud, no tracking, just your data under your control.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "vm/umbrel-os-vm.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 4096,
|
||||||
|
"hdd": 20,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": "umbrel",
|
||||||
|
"password": "umbrel"
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "This VM use as base a Debian 12 OS with a custom kernel and some additional packages to run Umbrel OS. It is not a standard Debian VM, but it is optimized for Umbrel OS.",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -32,7 +32,7 @@
|
|||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 1,
|
"cpu": 1,
|
||||||
"ram": 256,
|
"ram": 256,
|
||||||
"hdd": 0.5,
|
"hdd": 1,
|
||||||
"os": "alpine",
|
"os": "alpine",
|
||||||
"version": "3.21"
|
"version": "3.21"
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,234 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"name": "navidrome/navidrome",
|
||||||
|
"version": "v0.56.0",
|
||||||
|
"date": "2025-05-28T23:36:58Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "webmin/webmin",
|
||||||
|
"version": "2.400",
|
||||||
|
"date": "2025-05-28T22:36:05Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "apache/cassandra",
|
||||||
|
"version": "cassandra-4.0.18",
|
||||||
|
"date": "2025-05-28T21:45:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "mongodb/mongo",
|
||||||
|
"version": "r6.0.24",
|
||||||
|
"date": "2025-05-28T21:25:03Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "home-assistant/core",
|
||||||
|
"version": "2025.5.3",
|
||||||
|
"date": "2025-05-23T15:10:33Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "influxdata/influxdb",
|
||||||
|
"version": "v3.1.0",
|
||||||
|
"date": "2025-05-28T18:48:34Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "nzbgetcom/nzbget",
|
||||||
|
"version": "v25.0",
|
||||||
|
"date": "2025-05-12T09:12:04Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "zwave-js/zwave-js-ui",
|
||||||
|
"version": "v10.6.0",
|
||||||
|
"date": "2025-05-28T15:45:44Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "jenkinsci/jenkins",
|
||||||
|
"version": "jenkins-2.504.2",
|
||||||
|
"date": "2025-05-28T14:36:54Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "kimai/kimai",
|
||||||
|
"version": "2.35.0",
|
||||||
|
"date": "2025-05-28T12:41:09Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "VictoriaMetrics/VictoriaMetrics",
|
||||||
|
"version": "v1.23.0-victorialogs",
|
||||||
|
"date": "2025-05-28T12:27:36Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "element-hq/synapse",
|
||||||
|
"version": "v1.130.0",
|
||||||
|
"date": "2025-05-20T15:33:54Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pocket-id/pocket-id",
|
||||||
|
"version": "v1.1.0",
|
||||||
|
"date": "2025-05-28T09:39:00Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "zitadel/zitadel",
|
||||||
|
"version": "v2.71.11",
|
||||||
|
"date": "2025-05-28T09:16:41Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "keycloak/keycloak",
|
||||||
|
"version": "26.2.5",
|
||||||
|
"date": "2025-05-28T06:49:43Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Checkmk/checkmk",
|
||||||
|
"version": "v2.2.0p43-rc1",
|
||||||
|
"date": "2025-05-28T06:23:13Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jackett/Jackett",
|
||||||
|
"version": "v0.22.1960",
|
||||||
|
"date": "2025-05-28T05:56:49Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Athou/commafeed",
|
||||||
|
"version": "5.10.0",
|
||||||
|
"date": "2025-05-28T05:48:20Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cross-seed/cross-seed",
|
||||||
|
"version": "v6.12.6",
|
||||||
|
"date": "2025-05-28T00:13:19Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ollama/ollama",
|
||||||
|
"version": "v0.8.0",
|
||||||
|
"date": "2025-05-27T19:55:15Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bluenviron/mediamtx",
|
||||||
|
"version": "v1.12.3",
|
||||||
|
"date": "2025-05-27T20:43:10Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "runtipi/runtipi",
|
||||||
|
"version": "nightly",
|
||||||
|
"date": "2025-05-27T19:00:14Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Threadfin/Threadfin",
|
||||||
|
"version": "1.2.34",
|
||||||
|
"date": "2025-05-27T18:18:00Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "immich-app/immich",
|
||||||
|
"version": "v1.134.0",
|
||||||
|
"date": "2025-05-27T17:28:27Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "firefly-iii/firefly-iii",
|
||||||
|
"version": "v6.2.16",
|
||||||
|
"date": "2025-05-27T16:27:42Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "neo4j/neo4j",
|
||||||
|
"version": "5.26.7",
|
||||||
|
"date": "2025-05-27T14:59:35Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "redis/redis",
|
||||||
|
"version": "7.2.9",
|
||||||
|
"date": "2025-05-27T14:08:53Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "readeck/readeck",
|
||||||
|
"version": "0.19.1",
|
||||||
|
"date": "2025-05-27T13:13:07Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "traefik/traefik",
|
||||||
|
"version": "v3.4.1",
|
||||||
|
"date": "2025-05-27T12:53:58Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AdguardTeam/AdGuardHome",
|
||||||
|
"version": "v0.107.62",
|
||||||
|
"date": "2025-05-27T12:10:19Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "mattermost/mattermost",
|
||||||
|
"version": "v10.5.7",
|
||||||
|
"date": "2025-05-27T05:34:42Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "n8n-io/n8n",
|
||||||
|
"version": "n8n@1.94.1",
|
||||||
|
"date": "2025-05-27T10:36:43Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "esphome/esphome",
|
||||||
|
"version": "2025.5.1",
|
||||||
|
"date": "2025-05-27T09:01:29Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "semaphoreui/semaphore",
|
||||||
|
"version": "v2.14.12",
|
||||||
|
"date": "2025-05-27T03:58:59Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "dgtlmoon/changedetection.io",
|
||||||
|
"version": "0.49.18",
|
||||||
|
"date": "2025-05-26T18:36:33Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MediaBrowser/Emby.Releases",
|
||||||
|
"version": "4.8.11.0",
|
||||||
|
"date": "2025-03-10T06:39:11Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wazuh/wazuh",
|
||||||
|
"version": "coverity-w22-4.13.0",
|
||||||
|
"date": "2025-05-26T15:04:48Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "jupyter/notebook",
|
||||||
|
"version": "v7.4.3",
|
||||||
|
"date": "2025-05-26T14:27:27Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "syncthing/syncthing",
|
||||||
|
"version": "v1.29.6",
|
||||||
|
"date": "2025-05-06T07:57:02Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Graylog2/graylog2-server",
|
||||||
|
"version": "6.3.0-beta.3",
|
||||||
|
"date": "2025-05-26T12:40:56Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "stonith404/pingvin-share",
|
"name": "stonith404/pingvin-share",
|
||||||
"version": "v1.13.0",
|
"version": "v1.13.0",
|
||||||
@ -9,11 +239,6 @@
|
|||||||
"version": "v1.21.0",
|
"version": "v1.21.0",
|
||||||
"date": "2025-05-25T16:41:43Z"
|
"date": "2025-05-25T16:41:43Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "cross-seed/cross-seed",
|
|
||||||
"version": "v6.12.5",
|
|
||||||
"date": "2025-05-17T02:52:33Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Prowlarr/Prowlarr",
|
"name": "Prowlarr/Prowlarr",
|
||||||
"version": "v1.36.3.5071",
|
"version": "v1.36.3.5071",
|
||||||
@ -24,41 +249,16 @@
|
|||||||
"version": "v2.11.2.4629",
|
"version": "v2.11.2.4629",
|
||||||
"date": "2025-04-28T11:59:37Z"
|
"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": "Kozea/Radicale",
|
"name": "Kozea/Radicale",
|
||||||
"version": "v3.5.4",
|
"version": "v3.5.4",
|
||||||
"date": "2025-05-25T06:53:34Z"
|
"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",
|
"name": "authelia/authelia",
|
||||||
"version": "v4.39.4",
|
"version": "v4.39.4",
|
||||||
"date": "2025-05-25T02:27:28Z"
|
"date": "2025-05-25T02:27:28Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "pocket-id/pocket-id",
|
|
||||||
"version": "v1.0.0",
|
|
||||||
"date": "2025-05-24T22:06:55Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "minio/minio",
|
"name": "minio/minio",
|
||||||
"version": "RELEASE.2025-05-24T17-08-30Z",
|
"version": "RELEASE.2025-05-24T17-08-30Z",
|
||||||
@ -89,61 +289,16 @@
|
|||||||
"version": "v1.21.0",
|
"version": "v1.21.0",
|
||||||
"date": "2025-05-23T19:17:15Z"
|
"date": "2025-05-23T19:17:15Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "immich-app/immich",
|
|
||||||
"version": "v1.133.1",
|
|
||||||
"date": "2025-05-23T18:14:44Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Threadfin/Threadfin",
|
|
||||||
"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",
|
"name": "docker/compose",
|
||||||
"version": "v2.36.2",
|
"version": "v2.36.2",
|
||||||
"date": "2025-05-23T14:21:20Z"
|
"date": "2025-05-23T14:21:20Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "zitadel/zitadel",
|
|
||||||
"version": "v3.2.0",
|
|
||||||
"date": "2025-05-23T13:58:07Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "grokability/snipe-it",
|
"name": "grokability/snipe-it",
|
||||||
"version": "v8.1.4",
|
"version": "v8.1.4",
|
||||||
"date": "2025-05-23T12:29:19Z"
|
"date": "2025-05-23T12:29:19Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "wazuh/wazuh",
|
|
||||||
"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",
|
|
||||||
"date": "2025-05-23T01:53:31Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "rogerfar/rdt-client",
|
"name": "rogerfar/rdt-client",
|
||||||
"version": "v2.0.113",
|
"version": "v2.0.113",
|
||||||
@ -164,21 +319,6 @@
|
|||||||
"version": "mariadb-11.4.7",
|
"version": "mariadb-11.4.7",
|
||||||
"date": "2025-05-22T14:22:22Z"
|
"date": "2025-05-22T14:22:22Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "neo4j/neo4j",
|
|
||||||
"version": "4.4.44",
|
|
||||||
"date": "2025-05-22T13:58:43Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "apache/cassandra",
|
|
||||||
"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",
|
"name": "0xERR0R/blocky",
|
||||||
"version": "v0.26.2",
|
"version": "v0.26.2",
|
||||||
@ -204,11 +344,6 @@
|
|||||||
"version": "v3.0.4",
|
"version": "v3.0.4",
|
||||||
"date": "2025-05-21T19:03:53Z"
|
"date": "2025-05-21T19:03:53Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "mongodb/mongo",
|
|
||||||
"version": "r8.0.10-rc0",
|
|
||||||
"date": "2025-05-21T18:22:25Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "ipfs/kubo",
|
"name": "ipfs/kubo",
|
||||||
"version": "v0.35.0",
|
"version": "v0.35.0",
|
||||||
@ -219,11 +354,6 @@
|
|||||||
"version": "339",
|
"version": "339",
|
||||||
"date": "2025-05-21T14:49:36Z"
|
"date": "2025-05-21T14:49:36Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "mattermost/mattermost",
|
|
||||||
"version": "v9.11.16",
|
|
||||||
"date": "2025-05-21T13:57:13Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "theonedev/onedev",
|
"name": "theonedev/onedev",
|
||||||
"version": "v11.9.9",
|
"version": "v11.9.9",
|
||||||
@ -234,16 +364,6 @@
|
|||||||
"version": "10.0.18",
|
"version": "10.0.18",
|
||||||
"date": "2025-02-12T11:07:02Z"
|
"date": "2025-02-12T11:07:02Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "esphome/esphome",
|
|
||||||
"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",
|
"name": "inventree/InvenTree",
|
||||||
"version": "0.17.12",
|
"version": "0.17.12",
|
||||||
@ -264,21 +384,6 @@
|
|||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"date": "2025-05-20T19:20:03Z"
|
"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",
|
|
||||||
"date": "2025-05-20T15:39:17Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "element-hq/synapse",
|
|
||||||
"version": "v1.130.0",
|
|
||||||
"date": "2025-05-20T15:33:54Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "documenso/documenso",
|
"name": "documenso/documenso",
|
||||||
"version": "v1.11.1",
|
"version": "v1.11.1",
|
||||||
@ -294,11 +399,6 @@
|
|||||||
"version": "7.2.7",
|
"version": "7.2.7",
|
||||||
"date": "2025-05-20T11:00:56Z"
|
"date": "2025-05-20T11:00:56Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Luligu/matterbridge",
|
|
||||||
"version": "3.0.3",
|
|
||||||
"date": "2025-05-20T06:51:42Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "crafty-controller/crafty-4",
|
"name": "crafty-controller/crafty-4",
|
||||||
"version": "v4.4.9",
|
"version": "v4.4.9",
|
||||||
@ -324,26 +424,6 @@
|
|||||||
"version": "v1.9.6",
|
"version": "v1.9.6",
|
||||||
"date": "2024-12-18T14:35:37Z"
|
"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",
|
"name": "Part-DB/Part-DB-server",
|
||||||
"version": "v1.17.1",
|
"version": "v1.17.1",
|
||||||
@ -359,11 +439,6 @@
|
|||||||
"version": "debian/12.1.6.1",
|
"version": "debian/12.1.6.1",
|
||||||
"date": "2025-05-18T17:01:42Z"
|
"date": "2025-05-18T17:01:42Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "kimai/kimai",
|
|
||||||
"version": "2.34.0",
|
|
||||||
"date": "2025-05-18T13:22:17Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "hansmi/prometheus-paperless-exporter",
|
"name": "hansmi/prometheus-paperless-exporter",
|
||||||
"version": "v0.0.8",
|
"version": "v0.0.8",
|
||||||
@ -404,11 +479,6 @@
|
|||||||
"version": "v4.4.1",
|
"version": "v4.4.1",
|
||||||
"date": "2025-05-16T16:37:51Z"
|
"date": "2025-05-16T16:37:51Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "influxdata/influxdb",
|
|
||||||
"version": "v3.0.3",
|
|
||||||
"date": "2025-05-16T15:41:16Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "wavelog/wavelog",
|
"name": "wavelog/wavelog",
|
||||||
"version": "2.0.4",
|
"version": "2.0.4",
|
||||||
@ -439,21 +509,11 @@
|
|||||||
"version": "2025.5.0",
|
"version": "2025.5.0",
|
||||||
"date": "2025-05-15T17:09:50Z"
|
"date": "2025-05-15T17:09:50Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "VictoriaMetrics/VictoriaMetrics",
|
|
||||||
"version": "pmm-6401-v1.117.1",
|
|
||||||
"date": "2025-05-15T15:45:22Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "ellite/Wallos",
|
"name": "ellite/Wallos",
|
||||||
"version": "v3.1.1",
|
"version": "v3.1.1",
|
||||||
"date": "2025-05-15T15:17:57Z"
|
"date": "2025-05-15T15:17:57Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "zwave-js/zwave-js-ui",
|
|
||||||
"version": "v10.5.1",
|
|
||||||
"date": "2025-05-15T09:59:28Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "FlowiseAI/Flowise",
|
"name": "FlowiseAI/Flowise",
|
||||||
"version": "flowise@3.0.0",
|
"version": "flowise@3.0.0",
|
||||||
@ -464,11 +524,6 @@
|
|||||||
"version": "v4.47.1",
|
"version": "v4.47.1",
|
||||||
"date": "2025-01-05T21:14:23Z"
|
"date": "2025-01-05T21:14:23Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Athou/commafeed",
|
|
||||||
"version": "5.9.0",
|
|
||||||
"date": "2025-05-14T15:29:48Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "juanfont/headscale",
|
"name": "juanfont/headscale",
|
||||||
"version": "v0.26.0",
|
"version": "v0.26.0",
|
||||||
@ -499,11 +554,6 @@
|
|||||||
"version": "1.11.1",
|
"version": "1.11.1",
|
||||||
"date": "2025-05-13T13:32:07Z"
|
"date": "2025-05-13T13:32:07Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "redis/redis",
|
|
||||||
"version": "8.0.1",
|
|
||||||
"date": "2025-05-13T13:31:53Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "go-gitea/gitea",
|
"name": "go-gitea/gitea",
|
||||||
"version": "v1.23.8",
|
"version": "v1.23.8",
|
||||||
@ -524,11 +574,6 @@
|
|||||||
"version": "v0.24.3",
|
"version": "v0.24.3",
|
||||||
"date": "2025-05-12T15:23:21Z"
|
"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",
|
"name": "stackblitz-labs/bolt.diy",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
@ -564,11 +609,6 @@
|
|||||||
"version": "10.1.41",
|
"version": "10.1.41",
|
||||||
"date": "2025-05-08T12:45:44Z"
|
"date": "2025-05-08T12:45:44Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "readeck/readeck",
|
|
||||||
"version": "0.18.2",
|
|
||||||
"date": "2025-05-07T19:22:22Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "donaldzou/WGDashboard",
|
"name": "donaldzou/WGDashboard",
|
||||||
"version": "v4.2.3",
|
"version": "v4.2.3",
|
||||||
@ -589,26 +629,11 @@
|
|||||||
"version": "v0.14.7",
|
"version": "v0.14.7",
|
||||||
"date": "2025-05-07T11:32:23Z"
|
"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",
|
"name": "sysadminsmedia/homebox",
|
||||||
"version": "v0.19.0",
|
"version": "v0.19.0",
|
||||||
"date": "2025-05-06T18:05:42Z"
|
"date": "2025-05-06T18:05:42Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "bluenviron/mediamtx",
|
|
||||||
"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",
|
"name": "linkwarden/linkwarden",
|
||||||
"version": "v2.10.2",
|
"version": "v2.10.2",
|
||||||
@ -634,11 +659,6 @@
|
|||||||
"version": "3.5.0",
|
"version": "3.5.0",
|
||||||
"date": "2025-05-05T16:28:24Z"
|
"date": "2025-05-05T16:28:24Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "traefik/traefik",
|
|
||||||
"version": "v3.4.0",
|
|
||||||
"date": "2025-05-05T13:59:23Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "moghtech/komodo",
|
"name": "moghtech/komodo",
|
||||||
"version": "v1.17.5",
|
"version": "v1.17.5",
|
||||||
@ -764,11 +784,6 @@
|
|||||||
"version": "release-1.23.0",
|
"version": "release-1.23.0",
|
||||||
"date": "2025-04-24T08:07:21Z"
|
"date": "2025-04-24T08:07:21Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "OliveTin/OliveTin",
|
|
||||||
"version": "2025.4.22",
|
|
||||||
"date": "2025-04-22T14:18:11Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "monicahq/monica",
|
"name": "monicahq/monica",
|
||||||
"version": "v4.1.2",
|
"version": "v4.1.2",
|
||||||
@ -869,11 +884,6 @@
|
|||||||
"version": "2.3",
|
"version": "2.3",
|
||||||
"date": "2025-04-05T18:05:36Z"
|
"date": "2025-04-05T18:05:36Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "navidrome/navidrome",
|
|
||||||
"version": "v0.55.2",
|
|
||||||
"date": "2025-04-05T12:07:32Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "MagicMirrorOrg/MagicMirror",
|
"name": "MagicMirrorOrg/MagicMirror",
|
||||||
"version": "v2.31.0",
|
"version": "v2.31.0",
|
||||||
@ -959,11 +969,6 @@
|
|||||||
"version": "v4.0.14.2939",
|
"version": "v4.0.14.2939",
|
||||||
"date": "2025-03-17T19:12:37Z"
|
"date": "2025-03-17T19:12:37Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "webmin/webmin",
|
|
||||||
"version": "2.303",
|
|
||||||
"date": "2025-03-17T04:54:50Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "transmission/transmission",
|
"name": "transmission/transmission",
|
||||||
"version": "4.0.1-beta.1",
|
"version": "4.0.1-beta.1",
|
||||||
@ -1069,11 +1074,6 @@
|
|||||||
"version": "v1.9.0",
|
"version": "v1.9.0",
|
||||||
"date": "2025-02-11T13:26:42Z"
|
"date": "2025-02-11T13:26:42Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "dani-garcia/vaultwarden",
|
|
||||||
"version": "1.33.2",
|
|
||||||
"date": "2025-02-09T17:54:59Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "actualbudget/actual-server",
|
"name": "actualbudget/actual-server",
|
||||||
"version": "v25.2.1",
|
"version": "v25.2.1",
|
||||||
|
@ -14,11 +14,8 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
|
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
lsb-release \
|
lsb-release
|
||||||
gpg
|
|
||||||
|
|
||||||
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg
|
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg
|
||||||
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" >/etc/apt/sources.list.d/php.list
|
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" >/etc/apt/sources.list.d/php.list
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
@ -26,17 +23,18 @@ $STD apt-get update
|
|||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
nginx \
|
nginx \
|
||||||
composer \
|
composer \
|
||||||
php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,intl,mbstring,mysql,xml,cli} \
|
php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,intl,mbstring,mysql,xml,cli}
|
||||||
mariadb-server
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
DB_NAME=2fauth_db
|
DB_NAME=2fauth_db
|
||||||
DB_USER=2fauth
|
DB_USER=2fauth
|
||||||
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
$STD mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;"
|
||||||
$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
||||||
$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
||||||
{
|
{
|
||||||
echo "2FAuth Credentials"
|
echo "2FAuth Credentials"
|
||||||
echo "Database User: $DB_USER"
|
echo "Database User: $DB_USER"
|
||||||
@ -47,8 +45,8 @@ msg_ok "Set up Database"
|
|||||||
|
|
||||||
msg_info "Setup 2FAuth"
|
msg_info "Setup 2FAuth"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
curl -fsSL "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip")
|
curl -fsSL "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" -o "${RELEASE}.zip"
|
||||||
unzip -q "${RELEASE}.zip"
|
$STD unzip "${RELEASE}.zip"
|
||||||
mv "2FAuth-${RELEASE//v/}/" /opt/2fauth
|
mv "2FAuth-${RELEASE//v/}/" /opt/2fauth
|
||||||
|
|
||||||
cd "/opt/2fauth" || return
|
cd "/opt/2fauth" || return
|
||||||
|
@ -16,7 +16,6 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
gpg \
|
|
||||||
gdal-bin \
|
gdal-bin \
|
||||||
libgdal-dev \
|
libgdal-dev \
|
||||||
git \
|
git \
|
||||||
@ -24,25 +23,10 @@ $STD apt-get install -y \
|
|||||||
python3-pip
|
python3-pip
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Setting up Node.js Repository"
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
||||||
mkdir -p /etc/apt/keyrings
|
PG_VERSION="16" PG_MODULES="postgis" install_postgresql
|
||||||
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 "Setting up PostgreSQL Repository"
|
msg_info "Set up PostgreSQL Database"
|
||||||
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
|
|
||||||
echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >/etc/apt/sources.list.d/pgdg.list
|
|
||||||
msg_ok "Set up PostgreSQL Repository"
|
|
||||||
|
|
||||||
msg_info "Installing Node.js"
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install -y nodejs
|
|
||||||
$STD npm install -g pnpm
|
|
||||||
msg_ok "Installed Node.js"
|
|
||||||
|
|
||||||
msg_info "Install/Set up PostgreSQL Database"
|
|
||||||
$STD apt-get install -y postgresql-16 postgresql-16-postgis
|
|
||||||
DB_NAME="adventurelog_db"
|
DB_NAME="adventurelog_db"
|
||||||
DB_USER="adventurelog_user"
|
DB_USER="adventurelog_user"
|
||||||
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
||||||
@ -68,8 +52,8 @@ DJANGO_ADMIN_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
|||||||
LOCAL_IP="$(hostname -I | awk '{print $1}')"
|
LOCAL_IP="$(hostname -I | awk '{print $1}')"
|
||||||
cd /opt
|
cd /opt
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
curl -fsSL "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip")
|
curl -fsSL "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
||||||
unzip -q v${RELEASE}.zip
|
$STD unzip v${RELEASE}.zip
|
||||||
mv AdventureLog-${RELEASE} /opt/adventurelog
|
mv AdventureLog-${RELEASE} /opt/adventurelog
|
||||||
cat <<EOF >/opt/adventurelog/backend/server/.env
|
cat <<EOF >/opt/adventurelog/backend/server/.env
|
||||||
PGHOST='localhost'
|
PGHOST='localhost'
|
||||||
|
@ -14,7 +14,6 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y unzip
|
|
||||||
$STD apt-get install -y apt-transport-https
|
$STD apt-get install -y apt-transport-https
|
||||||
$STD apt-get install -y alsa-utils
|
$STD apt-get install -y alsa-utils
|
||||||
$STD apt-get install -y libxext-dev
|
$STD apt-get install -y libxext-dev
|
||||||
|
@ -14,12 +14,7 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apk add newt
|
|
||||||
$STD apk add curl
|
|
||||||
$STD apk add openssh
|
|
||||||
$STD apk add tzdata
|
$STD apk add tzdata
|
||||||
$STD apk add nano
|
|
||||||
$STD apk add mc
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Docker"
|
msg_info "Installing Docker"
|
||||||
|
@ -13,17 +13,6 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apk add \
|
|
||||||
newt \
|
|
||||||
curl \
|
|
||||||
openssh \
|
|
||||||
nano \
|
|
||||||
mc \
|
|
||||||
gpg
|
|
||||||
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Gitea"
|
msg_info "Installing Gitea"
|
||||||
$STD apk add --no-cache gitea
|
$STD apk add --no-cache gitea
|
||||||
msg_ok "Installed Gitea"
|
msg_ok "Installed Gitea"
|
||||||
|
@ -13,14 +13,6 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apk add newt
|
|
||||||
$STD apk add curl
|
|
||||||
$STD apk add openssh
|
|
||||||
$STD apk add nano
|
|
||||||
$STD apk add mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Grafana"
|
msg_info "Installing Grafana"
|
||||||
$STD apk add grafana
|
$STD apk add grafana
|
||||||
$STD sed -i '/http_addr/s/127.0.0.1/0.0.0.0/g' /etc/conf.d/grafana
|
$STD sed -i '/http_addr/s/127.0.0.1/0.0.0.0/g' /etc/conf.d/grafana
|
||||||
|
@ -14,11 +14,7 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apk add newt
|
$STD apk add sudo
|
||||||
$STD apk add curl
|
|
||||||
$STD apk add openssh
|
|
||||||
$STD apk add nano
|
|
||||||
$STD apk add mc
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
|
@ -14,12 +14,7 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apk add \
|
$STD apk add nginx
|
||||||
curl \
|
|
||||||
mc \
|
|
||||||
openssh \
|
|
||||||
nginx \
|
|
||||||
unzip
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing IT-Tools"
|
msg_info "Installing IT-Tools"
|
||||||
@ -28,7 +23,7 @@ DOWNLOAD_URL="https://github.com/CorentinTh/it-tools/releases/download/${RELEASE
|
|||||||
|
|
||||||
curl -fsSL -o it-tools.zip "$DOWNLOAD_URL"
|
curl -fsSL -o it-tools.zip "$DOWNLOAD_URL"
|
||||||
mkdir -p /usr/share/nginx/html
|
mkdir -p /usr/share/nginx/html
|
||||||
unzip -q it-tools.zip -d /tmp/it-tools
|
$STD unzip it-tools.zip -d /tmp/it-tools
|
||||||
cp -r /tmp/it-tools/dist/* /usr/share/nginx/html
|
cp -r /tmp/it-tools/dist/* /usr/share/nginx/html
|
||||||
cat <<'EOF' >/etc/nginx/http.d/default.conf
|
cat <<'EOF' >/etc/nginx/http.d/default.conf
|
||||||
server {
|
server {
|
||||||
|
@ -13,12 +13,6 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apk add \
|
|
||||||
gpg \
|
|
||||||
sudo
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing MariaDB"
|
msg_info "Installing MariaDB"
|
||||||
$STD apk add --no-cache mariadb mariadb-client
|
$STD apk add --no-cache mariadb mariadb-client
|
||||||
$STD rc-update add mariadb default
|
$STD rc-update add mariadb default
|
||||||
|
@ -14,12 +14,7 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apk add newt
|
|
||||||
$STD apk add curl
|
|
||||||
$STD apk add openssl
|
$STD apk add openssl
|
||||||
$STD apk add openssh
|
|
||||||
$STD apk add nano
|
|
||||||
$STD apk add mc
|
|
||||||
$STD apk add nginx
|
$STD apk add nginx
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
@ -53,7 +48,7 @@ $STD apk add nextcloud-mysql mariadb mariadb-client
|
|||||||
$STD mariadb-install-db --user=mysql --datadir=/var/lib/mysql
|
$STD mariadb-install-db --user=mysql --datadir=/var/lib/mysql
|
||||||
$STD service mariadb start
|
$STD service mariadb start
|
||||||
$STD rc-update add mariadb
|
$STD rc-update add mariadb
|
||||||
mysql -uroot -p"$ADMIN_PASS" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '$ADMIN_PASS' WITH GRANT OPTION; DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); DROP DATABASE test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'; CREATE DATABASE $DB_NAME; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS'; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost.localdomain' IDENTIFIED BY '$DB_PASS'; FLUSH PRIVILEGES;"
|
mariadb -uroot -p"$ADMIN_PASS" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '$ADMIN_PASS' WITH GRANT OPTION; DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); DROP DATABASE test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'; CREATE DATABASE $DB_NAME; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS'; GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost.localdomain' IDENTIFIED BY '$DB_PASS'; FLUSH PRIVILEGES;"
|
||||||
$STD apk del mariadb-client
|
$STD apk del mariadb-client
|
||||||
msg_ok "Installed MySQL Database"
|
msg_ok "Installed MySQL Database"
|
||||||
|
|
||||||
|
@ -15,7 +15,6 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apk add --no-cache \
|
$STD apk add --no-cache \
|
||||||
gpg \
|
|
||||||
git \
|
git \
|
||||||
nodejs \
|
nodejs \
|
||||||
npm
|
npm
|
||||||
@ -45,16 +44,17 @@ command="/usr/local/bin/node-red"
|
|||||||
command_args="--max-old-space-size=128 -v"
|
command_args="--max-old-space-size=128 -v"
|
||||||
command_user="nodered"
|
command_user="nodered"
|
||||||
pidfile="/var/run/nodered.pid"
|
pidfile="/var/run/nodered.pid"
|
||||||
|
command_background="yes"
|
||||||
|
|
||||||
depend() {
|
depend() {
|
||||||
use net
|
use net
|
||||||
}' >$service_path
|
}' >$service_path
|
||||||
|
|
||||||
chmod +x $service_path
|
chmod +x $service_path
|
||||||
$STD rc-update add nodered default
|
|
||||||
msg_ok "Created Node-RED Service"
|
msg_ok "Created Node-RED Service"
|
||||||
|
|
||||||
msg_info "Starting Node-RED"
|
msg_info "Starting Node-RED"
|
||||||
|
$STD rc-update add nodered
|
||||||
$STD rc-service nodered start
|
$STD rc-service nodered start
|
||||||
msg_ok "Started Node-RED"
|
msg_ok "Started Node-RED"
|
||||||
|
|
||||||
|
@ -13,11 +13,6 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apk add \
|
|
||||||
gpg
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Prometheus"
|
msg_info "Installing Prometheus"
|
||||||
$STD apk add --no-cache prometheus
|
$STD apk add --no-cache prometheus
|
||||||
msg_ok "Installed Prometheus"
|
msg_ok "Installed Prometheus"
|
||||||
|
@ -15,7 +15,6 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing dependencies"
|
msg_info "Installing dependencies"
|
||||||
$STD apk add --no-cache \
|
$STD apk add --no-cache \
|
||||||
unzip \
|
|
||||||
apache2-utils
|
apache2-utils
|
||||||
msg_ok "Installed dependencies"
|
msg_ok "Installed dependencies"
|
||||||
|
|
||||||
|
@ -13,17 +13,6 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apk add \
|
|
||||||
newt \
|
|
||||||
curl \
|
|
||||||
openssh \
|
|
||||||
nano \
|
|
||||||
mc \
|
|
||||||
gpg
|
|
||||||
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Redis"
|
msg_info "Installing Redis"
|
||||||
$STD apk add redis
|
$STD apk add redis
|
||||||
$STD sed -i 's/^bind .*/bind 0.0.0.0/' /etc/redis.conf
|
$STD sed -i 's/^bind .*/bind 0.0.0.0/' /etc/redis.conf
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: Slaviša Arežina (tremor021)
|
# Author: Slaviša Arežina (tremor021) | Co-Author: Stavros (steveiliop56)
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
# Source: https://github.com/steveiliop56/tinyauth
|
# Source: https://github.com/steveiliop56/tinyauth
|
||||||
|
|
||||||
@ -14,45 +14,44 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apk add --no-cache \
|
$STD apk add --no-cache curl openssl apache2-utils
|
||||||
npm \
|
|
||||||
curl \
|
|
||||||
go
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing tinyauth"
|
msg_info "Installing Tinyauth"
|
||||||
temp_file=$(mktemp)
|
|
||||||
$STD npm install -g bun
|
|
||||||
mkdir -p /opt/tinyauth
|
mkdir -p /opt/tinyauth
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
||||||
curl -fsSL "https://github.com/steveiliop56/tinyauth/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
|
|
||||||
tar -xzf "$temp_file" -C /opt/tinyauth --strip-components=1
|
|
||||||
cd /opt/tinyauth/frontend
|
|
||||||
$STD bun install
|
|
||||||
$STD bun run build
|
|
||||||
mv dist /opt/tinyauth/internal/assets/
|
|
||||||
cd /opt/tinyauth
|
|
||||||
$STD go mod download
|
|
||||||
CGO_ENABLED=0 go build -ldflags "-s -w"
|
|
||||||
{
|
|
||||||
echo "tinyauth Credentials"
|
|
||||||
echo "Username: admin@example.com"
|
|
||||||
echo "Password: admin"
|
|
||||||
} >>~/tinyauth.creds
|
|
||||||
echo "${RELEASE}" >/opt/tinyauth_version.txt
|
|
||||||
msg_ok "Installed tinyauth"
|
|
||||||
|
|
||||||
msg_info "Enabling tinyauth Service"
|
RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
SECRET=$(head -c 16 /dev/urandom | xxd -p -c 16 | tr -d '\n')
|
curl -fsSL "https://github.com/steveiliop56/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth
|
||||||
{
|
chmod +x /opt/tinyauth/tinyauth
|
||||||
echo "SECRET=${SECRET}"
|
|
||||||
echo "USERS=admin@example.com:\$2a\$10\$CrTK.W7WXSClo3ZY1yJUFupg5UdV8WNcynEhZhJFNjhGQB.Ga0ZDm"
|
PASSWORD=$(openssl rand -base64 8 | tr -dc 'a-zA-Z0-9' | head -c 8)
|
||||||
echo "APP_URL=http://localhost:3000"
|
USER=$(htpasswd -Bbn "tinyauth" "${PASSWORD}")
|
||||||
} >>/opt/tinyauth/.env
|
|
||||||
|
cat <<EOF > /opt/tinyauth/credentials.txt
|
||||||
|
Tinyauth Credentials
|
||||||
|
Username: tinyauth
|
||||||
|
Password: ${PASSWORD}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo "${RELEASE}" >/opt/tinyauth_version.txt
|
||||||
|
msg_ok "Installed Tinyauth"
|
||||||
|
|
||||||
|
read -p "${TAB3}Enter your Tinyauth subdomain (e.g. https://tinyauth.example.com): " app_url
|
||||||
|
|
||||||
|
msg_info "Creating Tinyauth Service"
|
||||||
|
SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32)
|
||||||
|
|
||||||
|
cat <<EOF >/opt/tinyauth/.env
|
||||||
|
SECRET=${SECRET}
|
||||||
|
USERS=${USER}
|
||||||
|
APP_URL=${app_url}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
sed -i -e 's/\$/\$\$/g' /opt/tinyauth/.env
|
||||||
|
|
||||||
cat <<EOF >/etc/init.d/tinyauth
|
cat <<EOF >/etc/init.d/tinyauth
|
||||||
#!/sbin/openrc-run
|
#!/sbin/openrc-run
|
||||||
description="tinyauth Service"
|
description="Tinyauth Service"
|
||||||
|
|
||||||
command="/opt/tinyauth/tinyauth"
|
command="/opt/tinyauth/tinyauth"
|
||||||
directory="/opt/tinyauth"
|
directory="/opt/tinyauth"
|
||||||
@ -73,11 +72,11 @@ EOF
|
|||||||
|
|
||||||
chmod +x /etc/init.d/tinyauth
|
chmod +x /etc/init.d/tinyauth
|
||||||
$STD rc-update add tinyauth default
|
$STD rc-update add tinyauth default
|
||||||
msg_ok "Enabled tinyauth Service"
|
msg_ok "Enabled Tinyauth Service"
|
||||||
|
|
||||||
msg_info "Starting tinyauth"
|
msg_info "Starting Tinyauth"
|
||||||
$STD service tinyauth start
|
$STD service tinyauth start
|
||||||
msg_ok "Started tinyauth"
|
msg_ok "Started Tinyauth"
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
|
@ -15,12 +15,6 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apk add \
|
$STD apk add \
|
||||||
newt \
|
|
||||||
curl \
|
|
||||||
openssh \
|
|
||||||
nano \
|
|
||||||
mc \
|
|
||||||
gpg \
|
|
||||||
iptables \
|
iptables \
|
||||||
openrc
|
openrc
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
@ -13,14 +13,6 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apk add newt
|
|
||||||
$STD apk add curl
|
|
||||||
$STD apk add openssh
|
|
||||||
$STD apk add nano
|
|
||||||
$STD apk add mc
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Installing Alpine-Zigbee2MQTT"
|
msg_info "Installing Alpine-Zigbee2MQTT"
|
||||||
$STD apk add zigbee2mqtt
|
$STD apk add zigbee2mqtt
|
||||||
mkdir -p /root/.z2m
|
mkdir -p /root/.z2m
|
||||||
|
@ -15,7 +15,6 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y apt-transport-https
|
$STD apt-get install -y apt-transport-https
|
||||||
$STD apt-get install -y gpg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Eclipse Temurin (Patience)"
|
msg_info "Installing Eclipse Temurin (Patience)"
|
||||||
|
@ -15,7 +15,6 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y apt-transport-https
|
$STD apt-get install -y apt-transport-https
|
||||||
$STD apt-get install -y gnupg
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
msg_info "Installing Apache CouchDB"
|
msg_info "Installing Apache CouchDB"
|
||||||
|
@ -14,31 +14,32 @@ update_os
|
|||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
jq \
|
jq \
|
||||||
libcairo2-dev \
|
libcairo2-dev \
|
||||||
libturbojpeg0 \
|
libturbojpeg0 \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libtool-bin \
|
libtool-bin \
|
||||||
libossp-uuid-dev \
|
libossp-uuid-dev \
|
||||||
libvncserver-dev \
|
libvncserver-dev \
|
||||||
freerdp2-dev \
|
freerdp2-dev \
|
||||||
libssh2-1-dev \
|
libssh2-1-dev \
|
||||||
libtelnet-dev \
|
libtelnet-dev \
|
||||||
libwebsockets-dev \
|
libwebsockets-dev \
|
||||||
libpulse-dev \
|
libpulse-dev \
|
||||||
libvorbis-dev \
|
libvorbis-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
libpango1.0-dev \
|
libpango1.0-dev \
|
||||||
libswscale-dev \
|
libswscale-dev \
|
||||||
libavcodec-dev \
|
libavcodec-dev \
|
||||||
libavutil-dev \
|
libavutil-dev \
|
||||||
libavformat-dev \
|
libavformat-dev \
|
||||||
mariadb-server \
|
default-jdk
|
||||||
default-jdk
|
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
install_mariadb
|
||||||
|
|
||||||
msg_info "Setup Apache Tomcat"
|
msg_info "Setup Apache Tomcat"
|
||||||
RELEASE=$(curl -fsSL https://dlcdn.apache.org/tomcat/tomcat-9/ | grep -oP '(?<=href=")v[^"/]+(?=/")' | sed 's/^v//' | sort -V | tail -n1)
|
RELEASE=$(curl -fsSL https://dlcdn.apache.org/tomcat/tomcat-9/ | grep -oP '(?<=href=")v[^"/]+(?=/")' | sed 's/^v//' | sort -V | tail -n1)
|
||||||
mkdir -p /opt/apache-guacamole/tomcat9
|
mkdir -p /opt/apache-guacamole/tomcat9
|
||||||
@ -75,23 +76,23 @@ msg_info "Setup Database"
|
|||||||
DB_NAME=guacamole_db
|
DB_NAME=guacamole_db
|
||||||
DB_USER=guacamole_user
|
DB_USER=guacamole_user
|
||||||
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
mariadb -u root -e "CREATE DATABASE $DB_NAME;"
|
||||||
mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
|
||||||
mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
|
||||||
{
|
{
|
||||||
echo "Guacamole-Credentials"
|
echo "Guacamole-Credentials"
|
||||||
echo "Database User: $DB_USER"
|
echo "Database User: $DB_USER"
|
||||||
echo "Database Password: $DB_PASS"
|
echo "Database Password: $DB_PASS"
|
||||||
echo "Database Name: $DB_NAME"
|
echo "Database Name: $DB_NAME"
|
||||||
} >>~/guacamole.creds
|
} >>~/guacamole.creds
|
||||||
cd guacamole-auth-jdbc-1.5.5/mysql/schema
|
cd guacamole-auth-jdbc-1.5.5/mysql/schema
|
||||||
cat *.sql | mysql -u root ${DB_NAME}
|
cat *.sql | mariadb -u root ${DB_NAME}
|
||||||
{
|
{
|
||||||
echo "mysql-hostname: 127.0.0.1"
|
echo "mysql-hostname: 127.0.0.1"
|
||||||
echo "mysql-port: 3306"
|
echo "mysql-port: 3306"
|
||||||
echo "mysql-database: $DB_NAME"
|
echo "mysql-database: $DB_NAME"
|
||||||
echo "mysql-username: $DB_USER"
|
echo "mysql-username: $DB_USER"
|
||||||
echo "mysql-password: $DB_PASS"
|
echo "mysql-password: $DB_PASS"
|
||||||
|
|
||||||
} >>/etc/guacamole/guacamole.properties
|
} >>/etc/guacamole/guacamole.properties
|
||||||
msg_ok "Setup Database"
|
msg_ok "Setup Database"
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user