mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-05 10:52:49 +00:00
Compare commits
65 Commits
2025-06-16
...
2025-06-19
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad8462bc10 | ||
|
|
39b18ea011 | ||
|
|
76c99518b1 | ||
|
|
8fb0a16568 | ||
|
|
9bbc0c90e3 | ||
|
|
b5012c4225 | ||
|
|
204ec64f14 | ||
|
|
451608b445 | ||
|
|
94ad4f2e40 | ||
|
|
5db3d92286 | ||
|
|
796aaaa1d4 | ||
|
|
5042f6edb0 | ||
|
|
0c1fad54b6 | ||
|
|
fe1df0b344 | ||
|
|
3ca014b757 | ||
|
|
db7a13fced | ||
|
|
ab1f4c1196 | ||
|
|
14ffff4c6a | ||
|
|
bada204f64 | ||
|
|
1c42a2016e | ||
|
|
0cd347d3b6 | ||
|
|
63713c6489 | ||
|
|
49153887dc | ||
|
|
c46d543c43 | ||
|
|
dbd2af91b5 | ||
|
|
86183c638d | ||
|
|
aec9af49a0 | ||
|
|
791eca99b9 | ||
|
|
4190582659 | ||
|
|
601e1853e9 | ||
|
|
14077eddcd | ||
|
|
2255600c3b | ||
|
|
badd63d4a7 | ||
|
|
6c345af691 | ||
|
|
2f326ffb97 | ||
|
|
e7bb270c34 | ||
|
|
fc4a46b72d | ||
|
|
a402b45b17 | ||
|
|
9ab2089d01 | ||
|
|
0dc533cb82 | ||
|
|
4351218f8b | ||
|
|
3ee4ece04d | ||
|
|
a377640d16 | ||
|
|
bece1c574f | ||
|
|
e9afe958b1 | ||
|
|
93f9291d7c | ||
|
|
8f0751442d | ||
|
|
003422934a | ||
|
|
c11636562c | ||
|
|
654508eb94 | ||
|
|
acfb9d6ea1 | ||
|
|
0d56db2d3d | ||
|
|
4a1ae51446 | ||
|
|
6520b7f4d4 | ||
|
|
48da94f77a | ||
|
|
2ea372f034 | ||
|
|
5773459a39 | ||
|
|
40f083ea40 | ||
|
|
219a7853e1 | ||
|
|
6d1d903345 | ||
|
|
ef9ca48477 | ||
|
|
8ac24981a6 | ||
|
|
7e046d830d | ||
|
|
1691fafcc1 | ||
|
|
4400cd2b97 |
BIN
.gitattributes
vendored
BIN
.gitattributes
vendored
Binary file not shown.
4
.github/CONTRIBUTOR_AND_GUIDES/CODE-AUDIT.md
generated
vendored
4
.github/CONTRIBUTOR_AND_GUIDES/CODE-AUDIT.md
generated
vendored
@@ -5,10 +5,10 @@
|
|||||||
|
|
||||||
1) [adguard.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/ct/adguard.sh): This script collects system parameters. (Also holds the function to update the application.)
|
1) [adguard.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/ct/adguard.sh): This script collects system parameters. (Also holds the function to update the application.)
|
||||||
2) [build.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/build.func): Adds user settings and integrates collected information.
|
2) [build.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/build.func): Adds user settings and integrates collected information.
|
||||||
3) [create_lxc.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/ct/create_lxc.sh): Constructs the LXC container.
|
3) [create_lxc.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/create_lxc.sh): Constructs the LXC container.
|
||||||
4) [adguard-install.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/install/adguard-install.sh): Executes functions from [install.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/install.func), and installs the application.
|
4) [adguard-install.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/install/adguard-install.sh): Executes functions from [install.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/install.func), and installs the application.
|
||||||
5) [adguard.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/ct/adguard.sh) (again): To display the completion message.
|
5) [adguard.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/ct/adguard.sh) (again): To display the completion message.
|
||||||
|
|
||||||
The installation process uses reusable scripts: [build.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/build.func), [create_lxc.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/ct/create_lxc.sh), and [install.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/install.func), which are not specific to any particular application.
|
The installation process uses reusable scripts: [build.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/build.func), [create_lxc.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/create_lxc.sh), and [install.func](https://github.com/community-scripts/ProxmoxVE/blob/main/misc/install.func), which are not specific to any particular application.
|
||||||
|
|
||||||
To gain a better understanding, focus on reviewing [adguard-install.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/install/adguard-install.sh). This script contains the commands and configurations for installing and configuring AdGuard Home within the LXC container.
|
To gain a better understanding, focus on reviewing [adguard-install.sh](https://github.com/community-scripts/ProxmoxVE/blob/main/install/adguard-install.sh). This script contains the commands and configurations for installing and configuring AdGuard Home within the LXC container.
|
||||||
|
|||||||
61
.github/autolabeler-config.json
generated
vendored
61
.github/autolabeler-config.json
generated
vendored
@@ -2,21 +2,43 @@
|
|||||||
"new script": [
|
"new script": [
|
||||||
{
|
{
|
||||||
"fileStatus": "added",
|
"fileStatus": "added",
|
||||||
"includeGlobs": ["ct/**", "install/**", "misc/**", "turnkey/**", "vm/**"],
|
"includeGlobs": [
|
||||||
|
"ct/**",
|
||||||
|
"install/**",
|
||||||
|
"misc/**",
|
||||||
|
"turnkey/**",
|
||||||
|
"vm/**"
|
||||||
|
],
|
||||||
"excludeGlobs": []
|
"excludeGlobs": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"update script": [
|
"update script": [
|
||||||
{
|
{
|
||||||
"fileStatus": "modified",
|
"fileStatus": "modified",
|
||||||
"includeGlobs": ["ct/**", "install/**", "misc/**", "turnkey/**", "vm/**"],
|
"includeGlobs": [
|
||||||
"excludeGlobs": ["misc/build.func", "misc/install.func", "misc/api.func"]
|
"ct/**",
|
||||||
|
"install/**",
|
||||||
|
"misc/**",
|
||||||
|
"turnkey/**",
|
||||||
|
"vm/**"
|
||||||
|
],
|
||||||
|
"excludeGlobs": [
|
||||||
|
"misc/build.func",
|
||||||
|
"misc/install.func",
|
||||||
|
"misc/api.func"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"delete script": [
|
"delete script": [
|
||||||
{
|
{
|
||||||
"fileStatus": "removed",
|
"fileStatus": "removed",
|
||||||
"includeGlobs": ["ct/**", "install/**", "misc/**", "turnkey/**", "vm/**"],
|
"includeGlobs": [
|
||||||
|
"ct/**",
|
||||||
|
"install/**",
|
||||||
|
"misc/**",
|
||||||
|
"turnkey/**",
|
||||||
|
"vm/**"
|
||||||
|
],
|
||||||
"excludeGlobs": []
|
"excludeGlobs": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -27,7 +49,7 @@
|
|||||||
"*.md",
|
"*.md",
|
||||||
".github/**",
|
".github/**",
|
||||||
"misc/*.func",
|
"misc/*.func",
|
||||||
"ct/create_lxc.sh",
|
"misc/create_lxc.sh",
|
||||||
"api/**"
|
"api/**"
|
||||||
],
|
],
|
||||||
"excludeGlobs": []
|
"excludeGlobs": []
|
||||||
@@ -36,46 +58,57 @@
|
|||||||
"core": [
|
"core": [
|
||||||
{
|
{
|
||||||
"fileStatus": null,
|
"fileStatus": null,
|
||||||
"includeGlobs": ["misc/*.func", "ct/create_lxc.sh"],
|
"includeGlobs": [
|
||||||
|
"misc/*.func",
|
||||||
|
"misc/create_lxc.sh"
|
||||||
|
],
|
||||||
"excludeGlobs": []
|
"excludeGlobs": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"website": [
|
"website": [
|
||||||
{
|
{
|
||||||
"fileStatus": null,
|
"fileStatus": null,
|
||||||
"includeGlobs": ["frontend/**"],
|
"includeGlobs": [
|
||||||
|
"frontend/**"
|
||||||
|
],
|
||||||
"excludeGlobs": []
|
"excludeGlobs": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"api": [
|
"api": [
|
||||||
{
|
{
|
||||||
"fileStatus": null,
|
"fileStatus": null,
|
||||||
"includeGlobs": ["api/**", "misc/api.func"],
|
"includeGlobs": [
|
||||||
|
"api/**",
|
||||||
|
"misc/api.func"
|
||||||
|
],
|
||||||
"excludeGlobs": []
|
"excludeGlobs": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"github": [
|
"github": [
|
||||||
{
|
{
|
||||||
"fileStatus": null,
|
"fileStatus": null,
|
||||||
"includeGlobs": [".github/**"],
|
"includeGlobs": [
|
||||||
|
".github/**"
|
||||||
|
],
|
||||||
"excludeGlobs": []
|
"excludeGlobs": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"json": [
|
"json": [
|
||||||
{
|
{
|
||||||
"fileStatus": "modified",
|
"fileStatus": "modified",
|
||||||
"includeGlobs": ["frontend/public/json/**"],
|
"includeGlobs": [
|
||||||
|
"frontend/public/json/**"
|
||||||
|
],
|
||||||
"excludeGlobs": []
|
"excludeGlobs": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
"high risk": [
|
"high risk": [
|
||||||
{
|
{
|
||||||
"fileStatus": null,
|
"fileStatus": null,
|
||||||
"includeGlobs": [
|
"includeGlobs": [
|
||||||
"misc/build.func",
|
"misc/build.func",
|
||||||
"misc/install.func",
|
"misc/install.func",
|
||||||
"ct/create_lxc.sh"
|
"misc/create_lxc.sh"
|
||||||
],
|
],
|
||||||
"excludeGlobs": []
|
"excludeGlobs": []
|
||||||
}
|
}
|
||||||
@@ -83,7 +116,9 @@
|
|||||||
"documentation": [
|
"documentation": [
|
||||||
{
|
{
|
||||||
"fileStatus": null,
|
"fileStatus": null,
|
||||||
"includeGlobs": ["*.md"],
|
"includeGlobs": [
|
||||||
|
"*.md"
|
||||||
|
],
|
||||||
"excludeGlobs": []
|
"excludeGlobs": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
4
.github/workflows/validate-filenames.yml
generated
vendored
4
.github/workflows/validate-filenames.yml
generated
vendored
@@ -51,8 +51,8 @@ jobs:
|
|||||||
|
|
||||||
NON_COMPLIANT_FILES=""
|
NON_COMPLIANT_FILES=""
|
||||||
for FILE in $CHANGED_FILES; do
|
for FILE in $CHANGED_FILES; do
|
||||||
# Datei "ct/create_lxc.sh" explizit überspringen
|
# Skip File "misc/create_lxc.sh"
|
||||||
if [[ "$FILE" == "ct/create_lxc.sh" ]]; then
|
if [[ "$FILE" == "misc/create_lxc.sh" ]]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
BASENAME=$(echo "$(basename "${FILE%.*}")")
|
BASENAME=$(echo "$(basename "${FILE%.*}")")
|
||||||
|
|||||||
69
CHANGELOG.md
69
CHANGELOG.md
@@ -14,8 +14,77 @@ 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-06-20
|
||||||
|
|
||||||
|
## 2025-06-19
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- Ubuntu 25.04 VM [@MickLesk](https://github.com/MickLesk) ([#5284](https://github.com/community-scripts/ProxmoxVE/pull/5284))
|
||||||
|
- PLANKA ([#5277](https://github.com/community-scripts/ProxmoxVE/pull/5277))
|
||||||
|
- Wizarr ([#5273](https://github.com/community-scripts/ProxmoxVE/pull/5273))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- immich-install.sh: restore pgvector module install [@vhsdream](https://github.com/vhsdream) ([#5286](https://github.com/community-scripts/ProxmoxVE/pull/5286))
|
||||||
|
- Immich: prepare for v1.135.0 [@vhsdream](https://github.com/vhsdream) ([#5025](https://github.com/community-scripts/ProxmoxVE/pull/5025))
|
||||||
|
|
||||||
|
### 🧰 Maintenance
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- [core]: Feature - Check Quorum Status in create_lxc to prevent issues [@MickLesk](https://github.com/MickLesk) ([#5278](https://github.com/community-scripts/ProxmoxVE/pull/5278))
|
||||||
|
- [core]: add validation and replace recursion for invalid inputs in adv. settings [@MickLesk](https://github.com/MickLesk) ([#5291](https://github.com/community-scripts/ProxmoxVE/pull/5291))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- cloudflare-ddns: fix typo in info-text [@LukaZagar](https://github.com/LukaZagar) ([#5263](https://github.com/community-scripts/ProxmoxVE/pull/5263))
|
||||||
|
|
||||||
|
## 2025-06-18
|
||||||
|
|
||||||
|
### 🆕 New Scripts
|
||||||
|
|
||||||
|
- FileBrowser Quantum [@MickLesk](https://github.com/MickLesk) ([#5248](https://github.com/community-scripts/ProxmoxVE/pull/5248))
|
||||||
|
- Huntarr ([#5249](https://github.com/community-scripts/ProxmoxVE/pull/5249))
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- tools.func: Standardized and Renamed Setup Functions [@MickLesk](https://github.com/MickLesk) ([#5241](https://github.com/community-scripts/ProxmoxVE/pull/5241))
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- Immich: fix prompt clobber issue [@vhsdream](https://github.com/vhsdream) ([#5231](https://github.com/community-scripts/ProxmoxVE/pull/5231))
|
||||||
|
|
||||||
|
- #### 🔧 Refactor
|
||||||
|
|
||||||
|
- Refactor all VM's to same logic & functions [@MickLesk](https://github.com/MickLesk) ([#5254](https://github.com/community-scripts/ProxmoxVE/pull/5254))
|
||||||
|
- upgrade old Scriptcalls to new tools.func calls [@MickLesk](https://github.com/MickLesk) ([#5242](https://github.com/community-scripts/ProxmoxVE/pull/5242))
|
||||||
|
|
||||||
## 2025-06-17
|
## 2025-06-17
|
||||||
|
|
||||||
|
### 🚀 Updated Scripts
|
||||||
|
|
||||||
|
- #### 🐞 Bug Fixes
|
||||||
|
|
||||||
|
- gitea-mirror: increase build ressources [@CrazyWolf13](https://github.com/CrazyWolf13) ([#5235](https://github.com/community-scripts/ProxmoxVE/pull/5235))
|
||||||
|
- Immich: ensure in proper working dir when updating [@vhsdream](https://github.com/vhsdream) ([#5227](https://github.com/community-scripts/ProxmoxVE/pull/5227))
|
||||||
|
- Update IP-Tag [@DesertGamer](https://github.com/DesertGamer) ([#5226](https://github.com/community-scripts/ProxmoxVE/pull/5226))
|
||||||
|
- trilium: fix update function after db changes folder [@tjcomserv](https://github.com/tjcomserv) ([#5207](https://github.com/community-scripts/ProxmoxVE/pull/5207))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- LibreTranslate: Add .env for easier configuration [@tremor021](https://github.com/tremor021) ([#5216](https://github.com/community-scripts/ProxmoxVE/pull/5216))
|
||||||
|
|
||||||
|
### 🌐 Website
|
||||||
|
|
||||||
|
- #### 📝 Script Information
|
||||||
|
|
||||||
|
- IPTag: Better explanation [@MickLesk](https://github.com/MickLesk) ([#5213](https://github.com/community-scripts/ProxmoxVE/pull/5213))
|
||||||
|
|
||||||
## 2025-06-16
|
## 2025-06-16
|
||||||
|
|
||||||
### 🆕 New Scripts
|
### 🆕 New Scripts
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
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) }')
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then
|
if [[ "${RELEASE}" != "$(cat ~/.2fauth 2>/dev/null || cat /opt/2fauth_version.txt 2>/dev/null)" ]]; then
|
||||||
msg_info "Updating $APP to ${RELEASE}"
|
msg_info "Updating $APP to ${RELEASE}"
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
$STD apt-get -y upgrade
|
$STD apt-get -y upgrade
|
||||||
@@ -45,10 +45,10 @@ function update_script() {
|
|||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
lsb-release \
|
lsb-release \
|
||||||
gnupg2
|
gnupg2
|
||||||
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,fpm,mysql,cli" install_php
|
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,fpm,mysql,cli" setup_php
|
||||||
sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf
|
sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf
|
||||||
fi
|
fi
|
||||||
fetch_and_deploy_gh_release "Bubka/2FAuth"
|
fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth"
|
||||||
mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
|
mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
|
||||||
mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
|
mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
|
||||||
cd "/opt/2fauth" || return
|
cd "/opt/2fauth" || return
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
NODE_VERSION="22"
|
NODE_VERSION="22"
|
||||||
install_node_and_modules
|
setup_nodejs
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
if [[ -f /opt/actualbudget-data/config.json ]]; then
|
if [[ -f /opt/actualbudget-data/config.json ]]; then
|
||||||
if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then
|
if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/raydak-labs/configarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/raydak-labs/configarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/configarr_version.txt)" ]] || [[ ! -f /opt/configarr_version.txt ]]; then
|
if [[ "${RELEASE}" != "$(cat ~/.configarr 2>/dev/null || cat /opt/configarr_version.txt 2>/dev/null)" ]]; then
|
||||||
msg_info "Stopping $APP"
|
msg_info "Stopping $APP"
|
||||||
systemctl stop configarr-task.timer
|
systemctl stop configarr-task.timer
|
||||||
msg_ok "Stopped $APP"
|
msg_ok "Stopped $APP"
|
||||||
@@ -37,7 +37,7 @@ function update_script() {
|
|||||||
mkdir -p /opt/backup/
|
mkdir -p /opt/backup/
|
||||||
mv /opt/configarr/{config.yml,secrets.yml,.env} "/opt/backup/"
|
mv /opt/configarr/{config.yml,secrets.yml,.env} "/opt/backup/"
|
||||||
rm -rf /opt/configarr
|
rm -rf /opt/configarr
|
||||||
fetch_and_deploy_gh_release "raydak-labs/configarr"
|
fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr"
|
||||||
mv /opt/backup/* /opt/configarr/
|
mv /opt/backup/* /opt/configarr/
|
||||||
cd /opt/configarr
|
cd /opt/configarr
|
||||||
$STD pnpm install
|
$STD pnpm install
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ function update_script() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
|
||||||
PROJECT_NAME=$(</opt/fumadocs/.projectname)
|
PROJECT_NAME=$(</opt/fumadocs/.projectname)
|
||||||
PROJECT_DIR="/opt/fumadocs/${PROJECT_NAME}"
|
PROJECT_DIR="/opt/fumadocs/${PROJECT_NAME}"
|
||||||
SERVICE_NAME="fumadocs_${PROJECT_NAME}.service"
|
SERVICE_NAME="fumadocs_${PROJECT_NAME}.service"
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
|||||||
|
|
||||||
APP="gitea-mirror"
|
APP="gitea-mirror"
|
||||||
var_tags="${var_tags:-mirror;gitea}"
|
var_tags="${var_tags:-mirror;gitea}"
|
||||||
var_cpu="${var_cpu:-1}"
|
var_cpu="${var_cpu:-2}"
|
||||||
var_ram="${var_ram:-1024}"
|
var_ram="${var_ram:-2048}"
|
||||||
var_disk="${var_disk:-5}"
|
var_disk="${var_disk:-6}"
|
||||||
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}"
|
||||||
@@ -29,7 +29,7 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/arunavo4/gitea-mirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/arunavo4/gitea-mirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then
|
||||||
|
|
||||||
msg_info "Stopping Services"
|
msg_info "Stopping Services"
|
||||||
systemctl stop gitea-mirror
|
systemctl stop gitea-mirror
|
||||||
@@ -48,7 +48,7 @@ function update_script() {
|
|||||||
msg_ok "Installed Bun"
|
msg_ok "Installed Bun"
|
||||||
|
|
||||||
rm -rf /opt/gitea-mirror
|
rm -rf /opt/gitea-mirror
|
||||||
fetch_and_deploy_gh_release "arunavo4/gitea-mirror"
|
fetch_and_deploy_gh_release "gitea-mirror" "arunavo4/gitea-mirror"
|
||||||
|
|
||||||
msg_info "Updating and rebuilding ${APP} to v${RELEASE}"
|
msg_info "Updating and rebuilding ${APP} to v${RELEASE}"
|
||||||
cd /opt/gitea-mirror
|
cd /opt/gitea-mirror
|
||||||
|
|||||||
6
ct/headers/huntarr
Normal file
6
ct/headers/huntarr
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
__ __
|
||||||
|
/ /_ __ ______ / /_____ ___________
|
||||||
|
/ __ \/ / / / __ \/ __/ __ `/ ___/ ___/
|
||||||
|
/ / / / /_/ / / / / /_/ /_/ / / / /
|
||||||
|
/_/ /_/\__,_/_/ /_/\__/\__,_/_/ /_/
|
||||||
|
|
||||||
6
ct/headers/planka
Normal file
6
ct/headers/planka
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
____ __ ___ _ ____ __ ___
|
||||||
|
/ __ \/ / / | / | / / //_// |
|
||||||
|
/ /_/ / / / /| | / |/ / ,< / /| |
|
||||||
|
/ ____/ /___/ ___ |/ /| / /| |/ ___ |
|
||||||
|
/_/ /_____/_/ |_/_/ |_/_/ |_/_/ |_|
|
||||||
|
|
||||||
6
ct/headers/wizarr
Normal file
6
ct/headers/wizarr
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
_ ___
|
||||||
|
| | / (_)___ ____ ___________
|
||||||
|
| | /| / / /_ / / __ `/ ___/ ___/
|
||||||
|
| |/ |/ / / / /_/ /_/ / / / /
|
||||||
|
|__/|__/_/ /___/\__,_/_/ /_/
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ EOF
|
|||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
fi
|
fi
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then
|
||||||
|
|
||||||
msg_info "Stopping Services (Patience)"
|
msg_info "Stopping Services (Patience)"
|
||||||
systemctl stop homarr
|
systemctl stop homarr
|
||||||
@@ -100,10 +100,10 @@ EOF
|
|||||||
$STD command -v jq || $STD apt-get update && $STD apt-get install -y jq
|
$STD command -v jq || $STD apt-get update && $STD apt-get install -y jq
|
||||||
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
|
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
|
||||||
NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')"
|
NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')"
|
||||||
install_node_and_modules
|
setup_nodejs
|
||||||
|
|
||||||
rm -rf /opt/homarr
|
rm -rf /opt/homarr
|
||||||
fetch_and_deploy_gh_release "homarr-labs/homarr"
|
fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr"
|
||||||
|
|
||||||
msg_info "Updating and rebuilding ${APP} to v${RELEASE} (Patience)"
|
msg_info "Updating and rebuilding ${APP} to v${RELEASE} (Patience)"
|
||||||
rm /opt/run_homarr.sh
|
rm /opt/run_homarr.sh
|
||||||
|
|||||||
63
ct/huntarr.sh
Normal file
63
ct/huntarr.sh
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
#!/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: BiluliB
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/plexguide/Huntarr.io
|
||||||
|
|
||||||
|
APP="huntarr"
|
||||||
|
var_tags="${var_tags:-arr}"
|
||||||
|
var_cpu="${var_cpu:-2}"
|
||||||
|
var_ram="${var_ram:-1024}"
|
||||||
|
var_disk="${var_disk:-4}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-12}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -f /opt/huntarr/main.py ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
setup_uv
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/plexguide/Huntarr.io/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
|
||||||
|
if [[ -f ~/.huntarr && "${RELEASE}" == "$(cat ~/.huntarr)" ]]; then
|
||||||
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
msg_info "Stopping huntarr service"
|
||||||
|
systemctl stop huntarr
|
||||||
|
msg_ok "Stopped huntarr service"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "huntarr" "plexguide/Huntarr.io"
|
||||||
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
|
cd /opt/huntarr
|
||||||
|
$STD uv pip install -r requirements.txt --python /opt/huntarr/.venv/bin/python
|
||||||
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting $APP"
|
||||||
|
systemctl start huntarr
|
||||||
|
msg_ok "Started $APP"
|
||||||
|
|
||||||
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
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}:9705${CL}"
|
||||||
89
ct/immich.sh
89
ct/immich.sh
@@ -27,9 +27,13 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
setup_uv
|
||||||
|
|
||||||
STAGING_DIR=/opt/staging
|
STAGING_DIR=/opt/staging
|
||||||
BASE_DIR=${STAGING_DIR}/base-images
|
BASE_DIR=${STAGING_DIR}/base-images
|
||||||
SOURCE_DIR=${STAGING_DIR}/image-source
|
SOURCE_DIR=${STAGING_DIR}/image-source
|
||||||
|
cd /root
|
||||||
if [[ -f ~/.intel_version ]]; then
|
if [[ -f ~/.intel_version ]]; then
|
||||||
curl -fsSLO https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/machine-learning/Dockerfile
|
curl -fsSLO https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/machine-learning/Dockerfile
|
||||||
readarray -t INTEL_URLS < <(sed -n "/intel/p" ./Dockerfile | awk '{print $3}')
|
readarray -t INTEL_URLS < <(sed -n "/intel/p" ./Dockerfile | awk '{print $3}')
|
||||||
@@ -39,7 +43,7 @@ function update_script() {
|
|||||||
for url in "${INTEL_URLS[@]}"; do
|
for url in "${INTEL_URLS[@]}"; do
|
||||||
curl -fsSLO "$url"
|
curl -fsSLO "$url"
|
||||||
done
|
done
|
||||||
$STD dpkg -i ./*.deb
|
$STD apt install -y ./*.deb
|
||||||
rm ./*.deb
|
rm ./*.deb
|
||||||
msg_ok "Intel iGPU dependencies updated"
|
msg_ok "Intel iGPU dependencies updated"
|
||||||
fi
|
fi
|
||||||
@@ -176,54 +180,42 @@ function update_script() {
|
|||||||
msg_ok "Image-processing libraries compiled"
|
msg_ok "Image-processing libraries compiled"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||||
msg_info "Stopping ${APP} services"
|
msg_info "Stopping ${APP} services"
|
||||||
systemctl stop immich-web
|
systemctl stop immich-web
|
||||||
systemctl stop immich-ml
|
systemctl stop immich-ml
|
||||||
msg_ok "Stopped ${APP}"
|
msg_ok "Stopped ${APP}"
|
||||||
if [[ "$(cat /opt/${APP}_version.txt)" < "1.133.0" ]]; then
|
|
||||||
msg_info "Upgrading to the VectorChord PostgreSQL extension"
|
|
||||||
NUMBER="$(
|
|
||||||
sed -n '2p' <(
|
|
||||||
sudo -u postgres psql -A -d immich <<EOF
|
|
||||||
SELECT atttypmod as dimsize
|
|
||||||
FROM pg_attribute f
|
|
||||||
JOIN pg_class c ON c.oid = f.attrelid
|
|
||||||
WHERE c.relkind = 'r'::char
|
|
||||||
AND f.attnum > 0
|
|
||||||
AND c.relname = 'smart_search'::text
|
|
||||||
AND f.attname = 'embedding'::text;
|
|
||||||
EOF
|
|
||||||
)
|
|
||||||
)"
|
|
||||||
$STD sudo -u postgres psql -d immich <<EOF
|
|
||||||
DROP INDEX IF EXISTS clip_index;
|
|
||||||
DROP INDEX IF EXISTS face_index;
|
|
||||||
ALTER TABLE smart_search ALTER COLUMN embedding SET DATA TYPE real[];
|
|
||||||
ALTER TABLE face_search ALTER COLUMN embedding SET DATA TYPE real[];
|
|
||||||
EOF
|
|
||||||
$STD apt-get update
|
|
||||||
$STD apt-get install postgresql-16-pgvector -y
|
|
||||||
curl -fsSL https://github.com/tensorchord/VectorChord/releases/download/0.3.0/postgresql-16-vchord_0.3.0-1_amd64.deb -o vchord.deb
|
|
||||||
$STD dpkg -i vchord.deb
|
|
||||||
rm vchord.deb
|
|
||||||
sed -i "s|vectors.so|vchord.so|" /etc/postgresql/16/main/postgresql.conf
|
|
||||||
systemctl restart postgresql.service
|
|
||||||
$STD sudo -u postgres psql -d immich <<EOF
|
|
||||||
CREATE EXTENSION IF NOT EXISTS vchord CASCADE;
|
|
||||||
ALTER TABLE smart_search ALTER COLUMN embedding SET DATA TYPE vector($NUMBER);
|
|
||||||
ALTER TABLE face_search ALTER COLUMN embedding SET DATA TYPE vector(512);
|
|
||||||
EOF
|
|
||||||
$STD apt purge vectors-pg16 -y
|
|
||||||
msg_ok "Database upgrade complete"
|
|
||||||
fi
|
|
||||||
INSTALL_DIR="/opt/${APP}"
|
INSTALL_DIR="/opt/${APP}"
|
||||||
UPLOAD_DIR="$(sed -n '/^IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)"
|
UPLOAD_DIR="$(sed -n '/^IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)"
|
||||||
SRC_DIR="${INSTALL_DIR}/source"
|
SRC_DIR="${INSTALL_DIR}/source"
|
||||||
APP_DIR="${INSTALL_DIR}/app"
|
APP_DIR="${INSTALL_DIR}/app"
|
||||||
ML_DIR="${APP_DIR}/machine-learning"
|
ML_DIR="${APP_DIR}/machine-learning"
|
||||||
GEO_DIR="${INSTALL_DIR}/geodata"
|
GEO_DIR="${INSTALL_DIR}/geodata"
|
||||||
|
VCHORD_RELEASE="$(curl -fsSL https://api.github.com/repos/tensorchord/vectorchord/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')"
|
||||||
|
|
||||||
|
if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then
|
||||||
|
msg_info "Updating VectorChord"
|
||||||
|
if [[ ! -f ~/.vchord_version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then
|
||||||
|
$STD sudo -u postgres pg_dumpall --clean --if-exists --username=postgres | gzip >/etc/postgresql/immich-db-vchord0.3.0.sql.gz
|
||||||
|
chown postgres /etc/postgresql/immich-db-vchord0.3.0.sql.gz
|
||||||
|
$STD sudo -u postgres gunzip --stdout /etc/postgresql/immich-db-vchord0.3.0.sql.gz |
|
||||||
|
sed -e "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \
|
||||||
|
-e "/vchordrq.prewarm_dim/d" |
|
||||||
|
sudo -u postgres psql
|
||||||
|
fi
|
||||||
|
curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb
|
||||||
|
$STD apt install -y ./vchord.deb
|
||||||
|
$STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;"
|
||||||
|
systemctl restart postgresql
|
||||||
|
if [[ ! -f ~/.vchord-version ]] || [[ ! "$(cat ~/.vchord_version)" > "0.3.0" ]]; then
|
||||||
|
$STD sudo -u postgres psql -d immich -c "REINDEX DATABASE;"
|
||||||
|
fi
|
||||||
|
echo "$VCHORD_RELEASE" >~/.vchord_version
|
||||||
|
rm ./vchord.deb
|
||||||
|
msg_ok "Updated VectorChord to v${VCHORD_RELEASE}"
|
||||||
|
fi
|
||||||
|
|
||||||
cp "$ML_DIR"/ml_start.sh "$INSTALL_DIR"
|
cp "$ML_DIR"/ml_start.sh "$INSTALL_DIR"
|
||||||
rm -rf "${APP_DIR:?}"/*
|
rm -rf "${APP_DIR:?}"/*
|
||||||
rm -rf "$SRC_DIR"
|
rm -rf "$SRC_DIR"
|
||||||
@@ -251,28 +243,21 @@ EOF
|
|||||||
msg_ok "Updated ${APP} web and microservices"
|
msg_ok "Updated ${APP} web and microservices"
|
||||||
|
|
||||||
cd "$SRC_DIR"/machine-learning
|
cd "$SRC_DIR"/machine-learning
|
||||||
$STD python3 -m venv "$ML_DIR"/ml-venv
|
export VIRTUAL_ENV="${ML_DIR}"/ml-venv
|
||||||
|
$STD /usr/local/bin/uv venv "$VIRTUAL_ENV"
|
||||||
if [[ -f ~/.openvino ]]; then
|
if [[ -f ~/.openvino ]]; then
|
||||||
msg_info "Updating HW-accelerated machine-learning"
|
msg_info "Updating HW-accelerated machine-learning"
|
||||||
(
|
/usr/local/bin/uv -q sync --extra openvino --no-cache --active
|
||||||
source "$ML_DIR"/ml-venv/bin/activate
|
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so"
|
||||||
$STD pip3 install -U uv
|
|
||||||
uv -q sync --extra openvino --no-cache --active
|
|
||||||
)
|
|
||||||
patchelf --clear-execstack "$ML_DIR"/ml-venv/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so
|
|
||||||
msg_ok "Updated HW-accelerated machine-learning"
|
msg_ok "Updated HW-accelerated machine-learning"
|
||||||
else
|
else
|
||||||
msg_info "Updating machine-learning"
|
msg_info "Updating machine-learning"
|
||||||
(
|
/usr/local/bin/uv -q sync --extra cpu --no-cache --active
|
||||||
source "$ML_DIR"/ml-venv/bin/activate
|
|
||||||
$STD pip3 install -U uv
|
|
||||||
uv -q sync --extra cpu --no-cache --active
|
|
||||||
)
|
|
||||||
msg_ok "Updated machine-learning"
|
msg_ok "Updated machine-learning"
|
||||||
fi
|
fi
|
||||||
cd "$SRC_DIR"
|
cd "$SRC_DIR"
|
||||||
cp -a machine-learning/{ann,immich_ml} "$ML_DIR"
|
cp -a machine-learning/{ann,immich_ml} "$ML_DIR"
|
||||||
cp "$INSTALL_DIR"/ml_start.sh "$ML_DIR"
|
mv "$INSTALL_DIR"/ml_start.sh "$ML_DIR"
|
||||||
if [[ -f ~/.openvino ]]; then
|
if [[ -f ~/.openvino ]]; then
|
||||||
sed -i "/intra_op/s/int = 0/int = os.cpu_count() or 0/" "$ML_DIR"/immich_ml/config.py
|
sed -i "/intra_op/s/int = 0/int = os.cpu_count() or 0/" "$ML_DIR"/immich_ml/config.py
|
||||||
fi
|
fi
|
||||||
@@ -291,8 +276,6 @@ EOF
|
|||||||
$STD npm i -g @immich/cli
|
$STD npm i -g @immich/cli
|
||||||
msg_ok "Updated Immich CLI"
|
msg_ok "Updated Immich CLI"
|
||||||
|
|
||||||
sed -i "s|pgvecto.rs|vectorchord|" /opt/"${APP}"/.env
|
|
||||||
|
|
||||||
chown -R immich:immich "$INSTALL_DIR"
|
chown -R immich:immich "$INSTALL_DIR"
|
||||||
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}"
|
||||||
|
|||||||
@@ -53,10 +53,10 @@ function update_script() {
|
|||||||
|
|
||||||
if [ -z "$pnpm_current" ]; then
|
if [ -z "$pnpm_current" ]; then
|
||||||
msg_error "pnpm not found. Installing version $pnpm_desired..."
|
msg_error "pnpm not found. Installing version $pnpm_desired..."
|
||||||
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" setup_nodejs
|
||||||
elif ! node -e "const semver = require('semver'); process.exit(semver.satisfies('$pnpm_current', '$pnpm_desired') ? 0 : 1)"; then
|
elif ! node -e "const semver = require('semver'); process.exit(semver.satisfies('$pnpm_current', '$pnpm_desired') ? 0 : 1)"; then
|
||||||
msg_error "Updating pnpm from version $pnpm_current to $pnpm_desired..."
|
msg_error "Updating pnpm from version $pnpm_current to $pnpm_desired..."
|
||||||
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" setup_nodejs
|
||||||
else
|
else
|
||||||
msg_ok "pnpm is already installed and satisfies version $pnpm_desired."
|
msg_ok "pnpm is already installed and satisfies version $pnpm_desired."
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -28,17 +28,17 @@ function update_script() {
|
|||||||
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/linkwarden_version.txt)" ]] || [[ ! -f /opt/linkwarden_version.txt ]]; then
|
if [[ "${RELEASE}" != "$(cat /opt/linkwarden_version.txt)" ]] || [[ ! -f /opt/linkwarden_version.txt ]]; then
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
msg_info "Stopping ${APP}"
|
msg_info "Stopping ${APP}"
|
||||||
systemctl stop linkwarden
|
systemctl stop linkwarden
|
||||||
msg_ok "Stopped ${APP}"
|
msg_ok "Stopped ${APP}"
|
||||||
|
|
||||||
RUST_CRATES="monolith" install_rust_and_crates
|
RUST_CRATES="monolith" setup_rust
|
||||||
|
|
||||||
msg_info "Updating ${APP} to ${RELEASE}"
|
msg_info "Updating ${APP} to ${RELEASE}"
|
||||||
mv /opt/linkwarden/.env /opt/.env
|
mv /opt/linkwarden/.env /opt/.env
|
||||||
rm -rf /opt/linkwarden
|
rm -rf /opt/linkwarden
|
||||||
fetch_and_deploy_gh_release "linkwarden/linkwarden"
|
fetch_and_deploy_gh_release "linkwarden" "linkwarden/linkwarden"
|
||||||
cd /opt/linkwarden
|
cd /opt/linkwarden
|
||||||
$STD yarn
|
$STD yarn
|
||||||
$STD npx playwright install-deps
|
$STD npx playwright install-deps
|
||||||
|
|||||||
@@ -29,9 +29,7 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
$STD apt-get update
|
$STD apt-get update
|
||||||
$STD apt-get upgrade -y
|
$STD apt-get upgrade -y
|
||||||
NODE_VERSION="22"
|
NODE_VERSION="22" NODE_MODULE="matterbridge" setup_nodejs
|
||||||
NODE_MODULE="matterbridge"
|
|
||||||
install_node_and_modules
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
77
ct/planka.sh
Normal file
77
ct/planka.sh
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Slaviša Arežina (tremor021)
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/plankanban/planka
|
||||||
|
|
||||||
|
APP="PLANKA"
|
||||||
|
var_tags="${var_tags:-Arr}"
|
||||||
|
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 [[ ! -f /etc/systemd/system/planka.service ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -s https://api.github.com/repos/plankanban/planka/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
|
if [[ "${RELEASE}" != "$(cat ~/.planka 2>/dev/null)" ]] || [[ ! -f ~/.planka ]]; then
|
||||||
|
msg_info "Stopping $APP"
|
||||||
|
systemctl stop planka
|
||||||
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
|
msg_info "Updating $APP to ${RELEASE}"
|
||||||
|
mkdir -p /opt/planka-backup
|
||||||
|
mkdir -p /opt/planka-backup/favicons
|
||||||
|
mkdir -p /opt/planka-backup/user-avatars
|
||||||
|
mkdir -p /opt/planka-backup/background-images
|
||||||
|
mkdir -p /opt/planka-backup/attachments
|
||||||
|
mv /opt/planka/planka/.env /opt/planka-backup
|
||||||
|
mv /opt/planka/planka/public/favicons/* /opt/planka-backup/favicons/
|
||||||
|
mv /opt/planka/planka/public/user-avatars/* /opt/planka-backup/user-avatars/
|
||||||
|
mv /opt/planka/planka/public/background-images/* /opt/planka-backup/background-images/
|
||||||
|
mv /opt/planka/planka/private/attachments/* /opt/planka-backup/attachments/
|
||||||
|
rm -rf /opt/planka
|
||||||
|
fetch_and_deploy_gh_release "planka" "plankanban/planka" "prebuild" "latest" "/opt/planka" "planka-prebuild.zip"
|
||||||
|
cd /opt/planka/planka
|
||||||
|
$STD npm install
|
||||||
|
mv /opt/planka-backup/.env /opt/planka/planka/
|
||||||
|
mv /opt/planka-backup/favicons/* /opt/planka/planka/public/favicons/
|
||||||
|
mv /opt/planka-backup/user-avatars/* /opt/planka/planka/public/user-avatars/
|
||||||
|
mv /opt/planka-backup/background-images/* /opt/planka/planka/public/background-images/
|
||||||
|
mv /opt/planka-backup/attachments/* /opt/planka/planka/private/attachments/
|
||||||
|
msg_ok "Updated $APP to ${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting $APP"
|
||||||
|
systemctl start planka
|
||||||
|
msg_ok "Started $APP"
|
||||||
|
|
||||||
|
msg_ok "Update Successful"
|
||||||
|
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}:1337${CL}"
|
||||||
@@ -28,7 +28,7 @@ function update_script() {
|
|||||||
msg_error "No ${APP} Installation Found!"
|
msg_error "No ${APP} Installation Found!"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if fetch_and_deploy_gh_release "YuukanOO/seelf"; then
|
if fetch_and_deploy_gh_release "seelf" "YuukanOO/seelf"; then
|
||||||
msg_ok "$APP already at the latest version. No update required."
|
msg_ok "$APP already at the latest version. No update required."
|
||||||
else
|
else
|
||||||
msg_info "Stopping $APP"
|
msg_info "Stopping $APP"
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/CrazyWolf13/streamlink-webui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/CrazyWolf13/streamlink-webui/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 ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then
|
||||||
msg_info "Starting Update"
|
msg_info "Starting Update"
|
||||||
|
|
||||||
msg_info "Stopping $APP"
|
msg_info "Stopping $APP"
|
||||||
@@ -40,9 +40,9 @@ function update_script() {
|
|||||||
rm -rf /opt/${APP}
|
rm -rf /opt/${APP}
|
||||||
NODE_VERSION="22"
|
NODE_VERSION="22"
|
||||||
NODE_MODULE="npm,yarn"
|
NODE_MODULE="npm,yarn"
|
||||||
install_node_and_modules
|
setup_nodejs
|
||||||
setup_uv
|
setup_uv
|
||||||
fetch_and_deploy_gh_release "CrazyWolf13/streamlink-webui"
|
fetch_and_deploy_gh_release "streamlink-webui" "CrazyWolf13/streamlink-webui"
|
||||||
|
|
||||||
msg_info "Updating $APP to v${RELEASE}"
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
$STD uv venv /opt/"${APP}"/backend/src/.venv
|
$STD uv venv /opt/"${APP}"/backend/src/.venv
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ function update_script() {
|
|||||||
if dpkg -l | grep -q "openjdk-17-jre"; then
|
if dpkg -l | grep -q "openjdk-17-jre"; then
|
||||||
$STD apt-get remove -y openjdk-17-jre
|
$STD apt-get remove -y openjdk-17-jre
|
||||||
fi
|
fi
|
||||||
JAVA_VERSION=21 install_java
|
JAVA_VERSION=21 setup_java
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
if [[ "${RELEASE}" != "$(cat /opt/suwayomi-server_version.txt)" ]] || [[ ! -f /opt/suwayomi-server_version.txt ]]; then
|
if [[ "${RELEASE}" != "$(cat /opt/suwayomi-server_version.txt)" ]] || [[ ! -f /opt/suwayomi-server_version.txt ]]; then
|
||||||
msg_info "Updating $APP"
|
msg_info "Updating $APP"
|
||||||
|
|||||||
@@ -29,7 +29,19 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi
|
if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
if [[ "v${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
if [[ "v${RELEASE}" != "$(cat /opt/${APP}_version.txt 2>/dev/null)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||||
|
|
||||||
|
if [[ -d /opt/trilium/db ]]; then
|
||||||
|
DB_PATH="/opt/trilium/db"
|
||||||
|
DB_RESTORE_PATH="/opt/trilium/db"
|
||||||
|
elif [[ -d /opt/trilium/assets/db ]]; then
|
||||||
|
DB_PATH="/opt/trilium/assets/db"
|
||||||
|
DB_RESTORE_PATH="/opt/trilium/assets/db"
|
||||||
|
else
|
||||||
|
msg_error "Database not found in either /opt/trilium/db or /opt/trilium/assets/db"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Stopping ${APP}"
|
msg_info "Stopping ${APP}"
|
||||||
systemctl stop trilium
|
systemctl stop trilium
|
||||||
sleep 1
|
sleep 1
|
||||||
@@ -37,18 +49,22 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Updating to ${RELEASE}"
|
msg_info "Updating to ${RELEASE}"
|
||||||
mkdir -p /opt/trilium_backup
|
mkdir -p /opt/trilium_backup
|
||||||
mv /opt/trilium/db /opt/trilium_backup/
|
cp -r "${DB_PATH}" /opt/trilium_backup/
|
||||||
rm -rf /opt/trilium
|
rm -rf /opt/trilium
|
||||||
cd /tmp
|
cd /tmp
|
||||||
curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o $(basename "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz")
|
curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz"
|
||||||
tar -xf TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz
|
tar -xf "TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz"
|
||||||
mv TriliumNextNotes-Server-$RELEASE-linux-x64 /opt/trilium
|
mv "TriliumNextNotes-Server-${RELEASE}-linux-x64" /opt/trilium
|
||||||
cp -r /opt/trilium_backup/db /opt/trilium/
|
|
||||||
|
# Restore database
|
||||||
|
mkdir -p "$(dirname "${DB_RESTORE_PATH}")"
|
||||||
|
cp -r /opt/trilium_backup/$(basename "${DB_PATH}") "${DB_RESTORE_PATH}"
|
||||||
|
|
||||||
echo "v${RELEASE}" >/opt/${APP}_version.txt
|
echo "v${RELEASE}" >/opt/${APP}_version.txt
|
||||||
msg_ok "Updated to ${RELEASE}"
|
msg_ok "Updated to ${RELEASE}"
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
rm -rf /tmp/TriliumNextNotes-Server-${RELEASE}-linux-x64.tar.xz
|
rm -rf "/tmp/TriliumNextNotes-Server-${RELEASE}-linux-x64.tar.xz"
|
||||||
rm -rf /opt/trilium_backup
|
rm -rf /opt/trilium_backup
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
|
||||||
@@ -60,6 +76,7 @@ function update_script() {
|
|||||||
else
|
else
|
||||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
79
ct/wizarr.sh
Normal file
79
ct/wizarr.sh
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
#!/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: vhsdream
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/wizarrrr/wizarr
|
||||||
|
|
||||||
|
APP="Wizarr"
|
||||||
|
var_tags="${var_tags:-media;arr}"
|
||||||
|
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/wizarr ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/wizarrrr/wizarr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
|
if [[ "${RELEASE}" != "$(cat ~/.wizarr 2>/dev/null)" ]] || [[ ! -f ~/.wizarr ]]; then
|
||||||
|
msg_info "Stopping $APP"
|
||||||
|
systemctl stop wizarr
|
||||||
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
|
msg_info "Creating Backup"
|
||||||
|
BACKUP_FILE="/opt/wizarr_backup_$(date +%F).tar.gz"
|
||||||
|
$STD tar -czf "$BACKUP_FILE" /opt/wizarr/{.env,start.sh} /opt/wizarr/database/ &>/dev/null
|
||||||
|
msg_ok "Backup Created"
|
||||||
|
|
||||||
|
setup_uv
|
||||||
|
fetch_and_deploy_gh_release "wizarr" "wizarrrr/wizarr"
|
||||||
|
|
||||||
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
|
cd /opt/wizarr
|
||||||
|
uv -q sync --locked
|
||||||
|
$STD uv -q run pybabel compile -d app/translations
|
||||||
|
$STD npm --prefix app/static install
|
||||||
|
$STD npm --prefix app/static run build:css
|
||||||
|
mkdir -p ./.cache
|
||||||
|
$STD tar -xf "$BACKUP_FILE" --directory=/
|
||||||
|
$STD uv -q run flask db upgrade
|
||||||
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting $APP"
|
||||||
|
systemctl start wizarr
|
||||||
|
msg_ok "Started $APP"
|
||||||
|
|
||||||
|
msg_info "Cleaning Up"
|
||||||
|
rm -rf "$BACKUP_FILE"
|
||||||
|
rm /tmp/"$RELEASE".zip
|
||||||
|
msg_ok "Cleanup Completed"
|
||||||
|
msg_ok "Update Successful"
|
||||||
|
else
|
||||||
|
msg_ok "No update required. ${APP} is already at v${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}:5690${CL}"
|
||||||
6
frontend/public/json/add-iptag.json
generated
6
frontend/public/json/add-iptag.json
generated
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "Proxmox VE LXC IP-Tag",
|
"name": "Proxmox VE LXC Tag",
|
||||||
"slug": "add-iptag",
|
"slug": "add-iptag",
|
||||||
"categories": [
|
"categories": [
|
||||||
1
|
1
|
||||||
@@ -12,8 +12,8 @@
|
|||||||
"documentation": null,
|
"documentation": null,
|
||||||
"website": null,
|
"website": null,
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/proxmox.svg",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/proxmox.svg",
|
||||||
"config_path": "",
|
"config_path": "/opt/iptag/iptag.conf",
|
||||||
"description": "This script automatically adds IP address as tags to LXC containers using a Systemd service. The service also updates the tags if a LXC IP address is changed.",
|
"description": "This script automatically adds IP address as tags to LXC containers or VM's using a systemd service. The service also updates the tags if a LXC/VM IP address is changed.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
"type": "default",
|
"type": "default",
|
||||||
|
|||||||
2
frontend/public/json/cloudflare-ddns.json
generated
2
frontend/public/json/cloudflare-ddns.json
generated
@@ -37,7 +37,7 @@
|
|||||||
"type": "warning"
|
"type": "warning"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"text": "To update the configuration edit `/etc/systemd/system/cloudflare-ddns.service`. After edit please restard with `systemctl restart cloudflare-ddns`",
|
"text": "To update the configuration edit `/etc/systemd/system/cloudflare-ddns.service`. After edit please restart with `systemctl restart cloudflare-ddns`",
|
||||||
"type": "info"
|
"type": "info"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
47
frontend/public/json/filebrowser-quantum.json
generated
Normal file
47
frontend/public/json/filebrowser-quantum.json
generated
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
"name": "FileBrowser Quantum",
|
||||||
|
"slug": "filebrowser-quantum",
|
||||||
|
"categories": [
|
||||||
|
1,
|
||||||
|
11
|
||||||
|
],
|
||||||
|
"date_created": "2025-06-18",
|
||||||
|
"type": "addon",
|
||||||
|
"updateable": false,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 8080,
|
||||||
|
"documentation": "https://github.com/gtsteffaniak/filebrowser/wiki/Getting-Started",
|
||||||
|
"website": "https://github.com/gtsteffaniak/filebrowser",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/filebrowser-quantum.webp",
|
||||||
|
"config_path": "/usr/local/community-scripts/fq-config.yaml",
|
||||||
|
"description": "FileBrowser Quantum provides an easy way to access and manage your files from the web. It has has a web page interface that allows you to create secure shared links, users with their own specific permissions and settings, and offers a great viewing experience for many file types. This version is called Quantum because it packs tons of advanced features into a tiny easy to run file. Unlike the majority of alternative options, FileBrowser Quantum is simple to install and easy to configure.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "tools/addon/filebrowser-quantum.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": null,
|
||||||
|
"ram": null,
|
||||||
|
"hdd": null,
|
||||||
|
"os": null,
|
||||||
|
"version": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "alpine",
|
||||||
|
"script": "tools/addon/filebrowser-quantum.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": null,
|
||||||
|
"ram": null,
|
||||||
|
"hdd": null,
|
||||||
|
"os": null,
|
||||||
|
"version": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": "admin",
|
||||||
|
"password": "helper-scripts.com"
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
6
frontend/public/json/gitea-mirror.json
generated
6
frontend/public/json/gitea-mirror.json
generated
@@ -19,9 +19,9 @@
|
|||||||
"type": "default",
|
"type": "default",
|
||||||
"script": "ct/gitea-mirror.sh",
|
"script": "ct/gitea-mirror.sh",
|
||||||
"resources": {
|
"resources": {
|
||||||
"cpu": 1,
|
"cpu": 2,
|
||||||
"ram": 1024,
|
"ram": 2048,
|
||||||
"hdd": 5,
|
"hdd": 6,
|
||||||
"os": "Debian",
|
"os": "Debian",
|
||||||
"version": "12"
|
"version": "12"
|
||||||
}
|
}
|
||||||
|
|||||||
35
frontend/public/json/huntarr.json
generated
Normal file
35
frontend/public/json/huntarr.json
generated
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"name": "Huntarr",
|
||||||
|
"slug": "huntarr",
|
||||||
|
"categories": [
|
||||||
|
14
|
||||||
|
],
|
||||||
|
"date_created": "2025-06-18",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 9705,
|
||||||
|
"documentation": "https://github.com/plexguide/Huntarr.io/wiki",
|
||||||
|
"config_path": "/opt/huntarr",
|
||||||
|
"website": "https://github.com/plexguide/Huntarr.io",
|
||||||
|
"logo": "https://raw.githubusercontent.com/plexguide/Huntarr.io/refs/heads/main/frontend/static/logo/Huntarr.svg",
|
||||||
|
"description": "Huntarr is a tool that automates the search for missing or low-quality media content in your collection. It works seamlessly with applications like Sonarr, Radarr, Lidarr, Readarr, and Whisparr, enhancing their functionality with continuous background scans to identify and update missed or outdated content. Through a user-friendly web interface accessible on port 9705, Huntarr provides real-time statistics, log views, and extensive configuration options. The software is especially useful for users who want to keep their media library up to date by automatically searching for missing episodes or higher-quality versions. Huntarr is well-suited for self-hosted environments and can easily run in LXC containers or Docker setups.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/huntarr.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 1024,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
4
frontend/public/json/immich.json
generated
4
frontend/public/json/immich.json
generated
@@ -43,6 +43,10 @@
|
|||||||
{
|
{
|
||||||
"text": "To change upload location, edit 'IMMICH_MEDIA_LOCATION' in `/opt/immich/.env`, and create the symlink 'upload' in /opt/immich/app & /opt/immich/app/machine-learning to your new upload location",
|
"text": "To change upload location, edit 'IMMICH_MEDIA_LOCATION' in `/opt/immich/.env`, and create the symlink 'upload' in /opt/immich/app & /opt/immich/app/machine-learning to your new upload location",
|
||||||
"type": "info"
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Logs: `/var/log/immich`",
|
||||||
|
"type": "info"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
2
frontend/public/json/libretranslate.json
generated
2
frontend/public/json/libretranslate.json
generated
@@ -12,7 +12,7 @@
|
|||||||
"documentation": "https://github.com/LibreTranslate/LibreTranslate?tab=readme-ov-file#settings--flags",
|
"documentation": "https://github.com/LibreTranslate/LibreTranslate?tab=readme-ov-file#settings--flags",
|
||||||
"website": "https://libretranslate.com/",
|
"website": "https://libretranslate.com/",
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/libretranslate.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/libretranslate.webp",
|
||||||
"config_path": "",
|
"config_path": "/opt/libretranslate/.env",
|
||||||
"description": "Free and Open Source Machine Translation API, entirely self-hosted. Unlike other APIs, it doesn't rely on proprietary providers such as Google or Azure to perform translations. Instead, its translation engine is powered by the open source Argos Translate library.",
|
"description": "Free and Open Source Machine Translation API, entirely self-hosted. Unlike other APIs, it doesn't rely on proprietary providers such as Google or Azure to perform translations. Instead, its translation engine is powered by the open source Argos Translate library.",
|
||||||
"install_methods": [
|
"install_methods": [
|
||||||
{
|
{
|
||||||
|
|||||||
40
frontend/public/json/planka.json
generated
Normal file
40
frontend/public/json/planka.json
generated
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "PLANKA",
|
||||||
|
"slug": "planka",
|
||||||
|
"categories": [
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"date_created": "2025-06-19",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 1337,
|
||||||
|
"documentation": "https://docs.planka.cloud/",
|
||||||
|
"website": "https://planka.app/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/planka.webp",
|
||||||
|
"config_path": "/opt/planka/planka/.env",
|
||||||
|
"description": "Planka is a powerful, project management platform that transforms how teams collaborate. Create projects with multiple boards, organize tasks with intuitive drag-and-drop cards, attach files, write rich markdown descriptions, set due dates, assign team members, and keep conversations flowing with comments and labels—all with seamless real-time updates and smart notifications.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/planka.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 1024,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "Type `cat ~/planka.creds` inside LXC to see admin user and database credentials.",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
40
frontend/public/json/ubuntu2504-vm.json
generated
Normal file
40
frontend/public/json/ubuntu2504-vm.json
generated
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Ubuntu 25.04",
|
||||||
|
"slug": "ubuntu2504-vm",
|
||||||
|
"categories": [
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"date_created": "2025-06-19",
|
||||||
|
"type": "vm",
|
||||||
|
"updateable": false,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": null,
|
||||||
|
"documentation": null,
|
||||||
|
"website": "https://ubuntu.com/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/ubuntu.webp",
|
||||||
|
"config_path": "",
|
||||||
|
"description": "Ubuntu is a distribution based on Debian, designed to have regular releases and a consistent user experience.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "vm/ubuntu2504-vm.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 2,
|
||||||
|
"ram": 2048,
|
||||||
|
"hdd": 8,
|
||||||
|
"os": null,
|
||||||
|
"version": null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "after installation, checkout: ´https://github.com/community-scripts/ProxmoxVE/discussions/272´",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
540
frontend/public/json/versions.json
generated
540
frontend/public/json/versions.json
generated
@@ -1,4 +1,239 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"name": "plexguide/Huntarr.io",
|
||||||
|
"version": "8.1.3",
|
||||||
|
"date": "2025-06-19T23:45:15Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "go-gitea/gitea",
|
||||||
|
"version": "v1.24.1",
|
||||||
|
"date": "2025-06-19T19:38:29Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "paperless-ngx/paperless-ngx",
|
||||||
|
"version": "v2.17.1",
|
||||||
|
"date": "2025-06-19T19:35:01Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pocket-id/pocket-id",
|
||||||
|
"version": "v1.4.0",
|
||||||
|
"date": "2025-06-19T18:30:11Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "immich-app/immich",
|
||||||
|
"version": "v1.135.1",
|
||||||
|
"date": "2025-06-19T17:55:06Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "rclone/rclone",
|
||||||
|
"version": "v1.70.1",
|
||||||
|
"date": "2025-06-19T13:19:02Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fallenbagel/jellyseerr",
|
||||||
|
"version": "preview-dns-cache-manager",
|
||||||
|
"date": "2025-06-19T12:05:10Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "icereed/paperless-gpt",
|
||||||
|
"version": "v0.21.0",
|
||||||
|
"date": "2025-06-19T11:54:59Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "neo4j/neo4j",
|
||||||
|
"version": "2025.05.1",
|
||||||
|
"date": "2025-06-19T11:28:36Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "mattermost/mattermost",
|
||||||
|
"version": "v9.11.17",
|
||||||
|
"date": "2025-06-18T08:12:05Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "n8n-io/n8n",
|
||||||
|
"version": "n8n@1.98.2",
|
||||||
|
"date": "2025-06-18T18:20:16Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "redis/redis",
|
||||||
|
"version": "8.2-m01-int2",
|
||||||
|
"date": "2025-06-12T08:52:10Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jackett/Jackett",
|
||||||
|
"version": "v0.22.2029",
|
||||||
|
"date": "2025-06-19T05:56:19Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "prometheus-pve/prometheus-pve-exporter",
|
||||||
|
"version": "v3.5.5",
|
||||||
|
"date": "2025-06-19T05:43:47Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "docmost/docmost",
|
||||||
|
"version": "v0.21.0",
|
||||||
|
"date": "2025-06-18T21:43:27Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ipfs/kubo",
|
||||||
|
"version": "v0.35.0",
|
||||||
|
"date": "2025-05-21T18:00:32Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "keycloak/keycloak",
|
||||||
|
"version": "26.2.5",
|
||||||
|
"date": "2025-05-28T06:49:43Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pterodactyl/panel",
|
||||||
|
"version": "v1.11.11",
|
||||||
|
"date": "2025-06-18T18:04:50Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "msgbyte/tianji",
|
||||||
|
"version": "v1.22.0",
|
||||||
|
"date": "2025-06-18T16:21:38Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ollama/ollama",
|
||||||
|
"version": "v0.9.2",
|
||||||
|
"date": "2025-06-18T14:29:39Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NodeBB/NodeBB",
|
||||||
|
"version": "v3.12.7",
|
||||||
|
"date": "2025-06-18T14:22:53Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "clusterzx/paperless-ai",
|
||||||
|
"version": "v3.0.6",
|
||||||
|
"date": "2025-06-18T14:18:13Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "openhab/openhab-core",
|
||||||
|
"version": "5.0.0.M3",
|
||||||
|
"date": "2025-06-18T14:18:12Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "zabbix/zabbix",
|
||||||
|
"version": "7.2.8",
|
||||||
|
"date": "2025-06-18T13:46:00Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Bubka/2FAuth",
|
||||||
|
"version": "v5.6.0",
|
||||||
|
"date": "2025-06-18T12:19:54Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "zwave-js/zwave-js-ui",
|
||||||
|
"version": "v10.7.0",
|
||||||
|
"date": "2025-06-18T11:57:05Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "esphome/esphome",
|
||||||
|
"version": "2025.6.0",
|
||||||
|
"date": "2025-06-18T09:41:11Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "forgejo/forgejo",
|
||||||
|
"version": "v11.0.2",
|
||||||
|
"date": "2025-06-18T09:38:19Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "evcc-io/evcc",
|
||||||
|
"version": "0.204.3",
|
||||||
|
"date": "2025-06-18T08:31:58Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "silverbulletmd/silverbullet",
|
||||||
|
"version": "2.0.0-pre3",
|
||||||
|
"date": "2025-06-18T08:01:24Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cross-seed/cross-seed",
|
||||||
|
"version": "v6.12.7",
|
||||||
|
"date": "2025-06-18T03:44:24Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "rcourtman/Pulse",
|
||||||
|
"version": "v3.30.0",
|
||||||
|
"date": "2025-06-17T16:00:01Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "grafana/grafana",
|
||||||
|
"version": "v11.5.6",
|
||||||
|
"date": "2025-06-17T22:00:40Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "jenkinsci/jenkins",
|
||||||
|
"version": "jenkins-2.515",
|
||||||
|
"date": "2025-06-17T19:17:56Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "coder/code-server",
|
||||||
|
"version": "v4.100.3",
|
||||||
|
"date": "2025-06-03T21:06:41Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "HabitRPG/habitica",
|
||||||
|
"version": "v5.36.6",
|
||||||
|
"date": "2025-06-17T18:12:31Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "project-zot/zot",
|
||||||
|
"version": "v2.1.5",
|
||||||
|
"date": "2025-06-17T18:04:11Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BookStackApp/BookStack",
|
||||||
|
"version": "v25.05.1",
|
||||||
|
"date": "2025-06-17T14:38:04Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "element-hq/synapse",
|
||||||
|
"version": "v1.132.0",
|
||||||
|
"date": "2025-06-17T13:49:30Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cloudflare/cloudflared",
|
||||||
|
"version": "2025.6.1",
|
||||||
|
"date": "2025-06-17T12:45:39Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sabnzbd/sabnzbd",
|
||||||
|
"version": "4.5.1",
|
||||||
|
"date": "2025-04-11T09:57:47Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "arunavo4/gitea-mirror",
|
||||||
|
"version": "v2.16.2",
|
||||||
|
"date": "2025-06-17T11:59:34Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "crowdsecurity/crowdsec",
|
||||||
|
"version": "v1.6.9",
|
||||||
|
"date": "2025-06-17T11:54:50Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "glpi-project/glpi",
|
||||||
|
"version": "10.0.18",
|
||||||
|
"date": "2025-02-12T11:07:02Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "morpheus65535/bazarr",
|
||||||
|
"version": "v1.5.2",
|
||||||
|
"date": "2025-05-11T16:40:55Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "donaldzou/WGDashboard",
|
||||||
|
"version": "v4.2.4",
|
||||||
|
"date": "2025-06-17T05:37:06Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "webmin/webmin",
|
||||||
|
"version": "2.402",
|
||||||
|
"date": "2025-06-17T05:20:42Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "kimai/kimai",
|
"name": "kimai/kimai",
|
||||||
"version": "2.36.1",
|
"version": "2.36.1",
|
||||||
@@ -9,26 +244,26 @@
|
|||||||
"version": "testing",
|
"version": "testing",
|
||||||
"date": "2025-06-16T18:10:42Z"
|
"date": "2025-06-16T18:10:42Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "msgbyte/tianji",
|
|
||||||
"version": "v1.21.14",
|
|
||||||
"date": "2025-06-16T17:54:48Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "goauthentik/authentik",
|
"name": "goauthentik/authentik",
|
||||||
"version": "version/2025.6.2",
|
"version": "version/2025.6.2",
|
||||||
"date": "2025-06-16T17:54:39Z"
|
"date": "2025-06-16T17:54:39Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "NodeBB/NodeBB",
|
"name": "runtipi/runtipi",
|
||||||
"version": "v2.8.20",
|
"version": "v4.2.1",
|
||||||
"date": "2025-06-16T17:03:52Z"
|
"date": "2025-06-03T20:04:28Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "emqx/emqx",
|
"name": "emqx/emqx",
|
||||||
"version": "e5.9.1-alpha.1",
|
"version": "e5.9.1-alpha.1",
|
||||||
"date": "2025-06-16T15:34:01Z"
|
"date": "2025-06-16T15:34:01Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "fuma-nama/fumadocs",
|
||||||
|
"version": "fumadocs-openapi@9.0.12",
|
||||||
|
"date": "2025-06-16T15:09:27Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "open-webui/open-webui",
|
"name": "open-webui/open-webui",
|
||||||
"version": "v0.6.15",
|
"version": "v0.6.15",
|
||||||
@@ -39,16 +274,6 @@
|
|||||||
"version": "v8.1.16",
|
"version": "v8.1.16",
|
||||||
"date": "2025-06-16T13:49:37Z"
|
"date": "2025-06-16T13:49:37Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "clusterzx/paperless-ai",
|
|
||||||
"version": "v3.0.5",
|
|
||||||
"date": "2025-06-16T13:25:55Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "n8n-io/n8n",
|
|
||||||
"version": "n8n@1.95.3",
|
|
||||||
"date": "2025-06-03T11:09:42Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Graylog2/graylog2-server",
|
"name": "Graylog2/graylog2-server",
|
||||||
"version": "6.3.0-rc.1",
|
"version": "6.3.0-rc.1",
|
||||||
@@ -64,16 +289,6 @@
|
|||||||
"version": "v1.18.3",
|
"version": "v1.18.3",
|
||||||
"date": "2025-06-16T07:03:46Z"
|
"date": "2025-06-16T07:03:46Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Jackett/Jackett",
|
|
||||||
"version": "v0.22.2020",
|
|
||||||
"date": "2025-06-16T05:56:11Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "esphome/esphome",
|
|
||||||
"version": "2025.5.2",
|
|
||||||
"date": "2025-06-03T08:45:14Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "firefly-iii/firefly-iii",
|
"name": "firefly-iii/firefly-iii",
|
||||||
"version": "v6.2.17",
|
"version": "v6.2.17",
|
||||||
@@ -149,11 +364,6 @@
|
|||||||
"version": "v25.0",
|
"version": "v25.0",
|
||||||
"date": "2025-05-12T09:12:04Z"
|
"date": "2025-05-12T09:12:04Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "ollama/ollama",
|
|
||||||
"version": "v0.9.1-rc1",
|
|
||||||
"date": "2025-06-12T21:18:54Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "theonedev/onedev",
|
"name": "theonedev/onedev",
|
||||||
"version": "v11.11.0",
|
"version": "v11.11.0",
|
||||||
@@ -164,21 +374,11 @@
|
|||||||
"version": "v2.15.0",
|
"version": "v2.15.0",
|
||||||
"date": "2025-06-14T10:48:57Z"
|
"date": "2025-06-14T10:48:57Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "runtipi/runtipi",
|
|
||||||
"version": "nightly",
|
|
||||||
"date": "2025-06-14T07:49:50Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "FlareSolverr/FlareSolverr",
|
"name": "FlareSolverr/FlareSolverr",
|
||||||
"version": "v3.3.25",
|
"version": "v3.3.25",
|
||||||
"date": "2025-06-14T02:52:44Z"
|
"date": "2025-06-14T02:52:44Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "keycloak/keycloak",
|
|
||||||
"version": "26.2.5",
|
|
||||||
"date": "2025-05-28T06:49:43Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "home-assistant/core",
|
"name": "home-assistant/core",
|
||||||
"version": "2025.6.1",
|
"version": "2025.6.1",
|
||||||
@@ -195,14 +395,9 @@
|
|||||||
"date": "2025-06-13T15:02:37Z"
|
"date": "2025-06-13T15:02:37Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "jenkinsci/jenkins",
|
"name": "wazuh/wazuh",
|
||||||
"version": "jenkins-2.514",
|
"version": "coverity-w25-4.13.0",
|
||||||
"date": "2025-06-10T14:27:57Z"
|
"date": "2025-06-13T13:58:23Z"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "grafana/grafana",
|
|
||||||
"version": "v12.0.1+security-01",
|
|
||||||
"date": "2025-06-13T04:15:18Z"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FlowiseAI/Flowise",
|
"name": "FlowiseAI/Flowise",
|
||||||
@@ -214,6 +409,11 @@
|
|||||||
"version": "v2025-06-12",
|
"version": "v2025-06-12",
|
||||||
"date": "2025-06-12T20:59:47Z"
|
"date": "2025-06-12T20:59:47Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "meilisearch/meilisearch",
|
||||||
|
"version": "latest",
|
||||||
|
"date": "2025-06-12T19:09:18Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Checkmk/checkmk",
|
"name": "Checkmk/checkmk",
|
||||||
"version": "v2.3.0p34",
|
"version": "v2.3.0p34",
|
||||||
@@ -224,21 +424,11 @@
|
|||||||
"version": "v2.37.1",
|
"version": "v2.37.1",
|
||||||
"date": "2025-06-12T09:00:21Z"
|
"date": "2025-06-12T09:00:21Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "redis/redis",
|
|
||||||
"version": "8.2-m01-int2",
|
|
||||||
"date": "2025-06-12T08:52:10Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "zitadel/zitadel",
|
"name": "zitadel/zitadel",
|
||||||
"version": "v3.3.0",
|
"version": "v3.3.0",
|
||||||
"date": "2025-06-12T06:54:48Z"
|
"date": "2025-06-12T06:54:48Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "morpheus65535/bazarr",
|
|
||||||
"version": "v1.5.2",
|
|
||||||
"date": "2025-05-11T16:40:55Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "documenso/documenso",
|
"name": "documenso/documenso",
|
||||||
"version": "v1.12.0-rc.4",
|
"version": "v1.12.0-rc.4",
|
||||||
@@ -254,51 +444,26 @@
|
|||||||
"version": "4.8.11.0",
|
"version": "4.8.11.0",
|
||||||
"date": "2025-03-10T06:39:11Z"
|
"date": "2025-03-10T06:39:11Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "crowdsecurity/crowdsec",
|
|
||||||
"version": "v1.6.8",
|
|
||||||
"date": "2025-03-25T13:33:10Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "dgtlmoon/changedetection.io",
|
"name": "dgtlmoon/changedetection.io",
|
||||||
"version": "0.50.3",
|
"version": "0.50.3",
|
||||||
"date": "2025-06-11T15:19:52Z"
|
"date": "2025-06-11T15:19:52Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "cloudflare/cloudflared",
|
|
||||||
"version": "2025.6.0",
|
|
||||||
"date": "2025-06-11T11:13:21Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "autobrr/autobrr",
|
"name": "autobrr/autobrr",
|
||||||
"version": "v1.63.1",
|
"version": "v1.63.1",
|
||||||
"date": "2025-06-11T11:05:42Z"
|
"date": "2025-06-11T11:05:42Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fallenbagel/jellyseerr",
|
"name": "steveiliop56/tinyauth",
|
||||||
"version": "preview-forceipv4-axios",
|
"version": "v3.4.1",
|
||||||
"date": "2025-06-11T09:16:40Z"
|
"date": "2025-06-11T07:53:44Z"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "wazuh/wazuh",
|
|
||||||
"version": "coverity-w24-4.13.0",
|
|
||||||
"date": "2025-06-11T04:04:55Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "zabbix/zabbix",
|
|
||||||
"version": "7.2.8rc1",
|
|
||||||
"date": "2025-06-11T06:50:19Z"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "openobserve/openobserve",
|
"name": "openobserve/openobserve",
|
||||||
"version": "v0.15.0-rc2",
|
"version": "v0.15.0-rc2",
|
||||||
"date": "2025-06-11T04:29:22Z"
|
"date": "2025-06-11T04:29:22Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "mattermost/mattermost",
|
|
||||||
"version": "server/public/v0.1.15",
|
|
||||||
"date": "2025-06-11T03:56:25Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "node-red/node-red",
|
"name": "node-red/node-red",
|
||||||
"version": "4.1.0-beta.1",
|
"version": "4.1.0-beta.1",
|
||||||
@@ -309,11 +474,6 @@
|
|||||||
"version": "v0.107.62",
|
"version": "v0.107.62",
|
||||||
"date": "2025-05-27T12:10:19Z"
|
"date": "2025-05-27T12:10:19Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "element-hq/synapse",
|
|
||||||
"version": "v1.131.0",
|
|
||||||
"date": "2025-06-03T14:13:00Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "OctoPrint/OctoPrint",
|
"name": "OctoPrint/OctoPrint",
|
||||||
"version": "1.11.2",
|
"version": "1.11.2",
|
||||||
@@ -329,31 +489,16 @@
|
|||||||
"version": "v0.8.4",
|
"version": "v0.8.4",
|
||||||
"date": "2025-06-10T07:57:14Z"
|
"date": "2025-06-10T07:57:14Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "go-gitea/gitea",
|
|
||||||
"version": "v1.24.0",
|
|
||||||
"date": "2025-06-10T02:00:38Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Sonarr/Sonarr",
|
"name": "Sonarr/Sonarr",
|
||||||
"version": "v4.0.14.2939",
|
"version": "v4.0.14.2939",
|
||||||
"date": "2025-03-17T19:12:37Z"
|
"date": "2025-03-17T19:12:37Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "cross-seed/cross-seed",
|
|
||||||
"version": "v6.12.6",
|
|
||||||
"date": "2025-05-28T00:13:19Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "tailscale/tailscale",
|
"name": "tailscale/tailscale",
|
||||||
"version": "v1.84.2",
|
"version": "v1.84.2",
|
||||||
"date": "2025-06-09T23:43:27Z"
|
"date": "2025-06-09T23:43:27Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "pocket-id/pocket-id",
|
|
||||||
"version": "v1.3.1",
|
|
||||||
"date": "2025-06-09T21:07:27Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "pocketbase/pocketbase",
|
"name": "pocketbase/pocketbase",
|
||||||
"version": "v0.28.3",
|
"version": "v0.28.3",
|
||||||
@@ -374,16 +519,6 @@
|
|||||||
"version": "v0.10.0",
|
"version": "v0.10.0",
|
||||||
"date": "2025-06-09T13:37:07Z"
|
"date": "2025-06-09T13:37:07Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "silverbulletmd/silverbullet",
|
|
||||||
"version": "0.10.4",
|
|
||||||
"date": "2025-02-25T18:13:42Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "neo4j/neo4j",
|
|
||||||
"version": "5.26.8",
|
|
||||||
"date": "2025-06-08T22:50:58Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Forceu/Gokapi",
|
"name": "Forceu/Gokapi",
|
||||||
"version": "v2.0.1",
|
"version": "v2.0.1",
|
||||||
@@ -399,11 +534,6 @@
|
|||||||
"version": "v1.5.8",
|
"version": "v1.5.8",
|
||||||
"date": "2025-06-07T11:39:10Z"
|
"date": "2025-06-07T11:39:10Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "evcc-io/evcc",
|
|
||||||
"version": "0.204.2",
|
|
||||||
"date": "2025-06-07T11:38:28Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "homebridge/homebridge",
|
"name": "homebridge/homebridge",
|
||||||
"version": "v1.10.0",
|
"version": "v1.10.0",
|
||||||
@@ -434,11 +564,6 @@
|
|||||||
"version": "10.1.42",
|
"version": "10.1.42",
|
||||||
"date": "2025-06-05T22:39:40Z"
|
"date": "2025-06-05T22:39:40Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "paperless-ngx/paperless-ngx",
|
|
||||||
"version": "v2.16.3",
|
|
||||||
"date": "2025-06-05T21:16:59Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "netbox-community/netbox",
|
"name": "netbox-community/netbox",
|
||||||
"version": "v4.3.2",
|
"version": "v4.3.2",
|
||||||
@@ -459,11 +584,6 @@
|
|||||||
"version": "mariadb-11.8.2",
|
"version": "mariadb-11.8.2",
|
||||||
"date": "2025-06-04T13:35:16Z"
|
"date": "2025-06-04T13:35:16Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "donaldzou/WGDashboard",
|
|
||||||
"version": "v4.2.3",
|
|
||||||
"date": "2025-05-07T15:35:04Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "actualbudget/actual",
|
"name": "actualbudget/actual",
|
||||||
"version": "v25.6.1",
|
"version": "v25.6.1",
|
||||||
@@ -480,25 +600,15 @@
|
|||||||
"date": "2025-06-04T16:41:44Z"
|
"date": "2025-06-04T16:41:44Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "glpi-project/glpi",
|
"name": "intri-in/manage-my-damn-life-nextjs",
|
||||||
"version": "10.0.18",
|
"version": "v0.7.1",
|
||||||
"date": "2025-02-12T11:07:02Z"
|
"date": "2025-06-04T04:39:36Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "louislam/uptime-kuma",
|
"name": "louislam/uptime-kuma",
|
||||||
"version": "2.0.0-beta.2-temp",
|
"version": "2.0.0-beta.2-temp",
|
||||||
"date": "2025-03-28T08:45:58Z"
|
"date": "2025-03-28T08:45:58Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "webmin/webmin",
|
|
||||||
"version": "2.401",
|
|
||||||
"date": "2025-06-04T02:53:03Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "coder/code-server",
|
|
||||||
"version": "v4.100.3",
|
|
||||||
"date": "2025-06-03T21:06:41Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "influxdata/influxdb",
|
"name": "influxdata/influxdb",
|
||||||
"version": "v1.12.1rc3",
|
"version": "v1.12.1rc3",
|
||||||
@@ -534,31 +644,31 @@
|
|||||||
"version": "2.4.0",
|
"version": "2.4.0",
|
||||||
"date": "2025-06-01T18:08:44Z"
|
"date": "2025-06-01T18:08:44Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "TwiN/gatus",
|
||||||
|
"version": "v5.18.1",
|
||||||
|
"date": "2025-05-31T23:06:08Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "prometheus/prometheus",
|
"name": "prometheus/prometheus",
|
||||||
"version": "v3.4.1",
|
"version": "v3.4.1",
|
||||||
"date": "2025-05-31T13:45:40Z"
|
"date": "2025-05-31T13:45:40Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "BookStackApp/BookStack",
|
|
||||||
"version": "v25.05",
|
|
||||||
"date": "2025-05-31T13:36:23Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "blakeblackshear/frigate",
|
"name": "blakeblackshear/frigate",
|
||||||
"version": "v0.14.1",
|
"version": "v0.14.1",
|
||||||
"date": "2024-08-29T22:32:51Z"
|
"date": "2024-08-29T22:32:51Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "icereed/paperless-gpt",
|
|
||||||
"version": "v0.20.0",
|
|
||||||
"date": "2025-05-30T14:39:51Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "binwiederhier/ntfy",
|
"name": "binwiederhier/ntfy",
|
||||||
"version": "v2.12.0",
|
"version": "v2.12.0",
|
||||||
"date": "2025-05-30T00:26:27Z"
|
"date": "2025-05-30T00:26:27Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "release-argus/Argus",
|
||||||
|
"version": "0.26.3",
|
||||||
|
"date": "2025-05-29T21:18:15Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "gristlabs/grist-core",
|
"name": "gristlabs/grist-core",
|
||||||
"version": "v1.6.0",
|
"version": "v1.6.0",
|
||||||
@@ -569,21 +679,11 @@
|
|||||||
"version": "v0.56.1",
|
"version": "v0.56.1",
|
||||||
"date": "2025-05-29T19:09:16Z"
|
"date": "2025-05-29T19:09:16Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "HabitRPG/habitica",
|
|
||||||
"version": "v5.36.5",
|
|
||||||
"date": "2025-05-29T17:06:01Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "readeck/readeck",
|
"name": "readeck/readeck",
|
||||||
"version": "0.19.2",
|
"version": "0.19.2",
|
||||||
"date": "2025-05-29T14:39:17Z"
|
"date": "2025-05-29T14:39:17Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "zwave-js/zwave-js-ui",
|
|
||||||
"version": "v10.6.1",
|
|
||||||
"date": "2025-05-29T13:36:09Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "duplicati/duplicati",
|
"name": "duplicati/duplicati",
|
||||||
"version": "v2.1.0.119-2.1.0.119_canary_2025-05-29",
|
"version": "v2.1.0.119-2.1.0.119_canary_2025-05-29",
|
||||||
@@ -614,11 +714,6 @@
|
|||||||
"version": "1.2.34",
|
"version": "1.2.34",
|
||||||
"date": "2025-05-27T18:18:00Z"
|
"date": "2025-05-27T18:18:00Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "immich-app/immich",
|
|
||||||
"version": "v1.134.0",
|
|
||||||
"date": "2025-05-27T17:28:27Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "traefik/traefik",
|
"name": "traefik/traefik",
|
||||||
"version": "v3.4.1",
|
"version": "v3.4.1",
|
||||||
@@ -664,16 +759,16 @@
|
|||||||
"version": "v0.26.2",
|
"version": "v0.26.2",
|
||||||
"date": "2025-05-22T05:24:42Z"
|
"date": "2025-05-22T05:24:42Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "CrazyWolf13/streamlink-webui",
|
||||||
|
"version": "0.5",
|
||||||
|
"date": "2025-05-21T20:19:14Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "apache/tika",
|
"name": "apache/tika",
|
||||||
"version": "3.2.0-rc2",
|
"version": "3.2.0-rc2",
|
||||||
"date": "2025-05-21T20:09:07Z"
|
"date": "2025-05-21T20:09:07Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "ipfs/kubo",
|
|
||||||
"version": "v0.35.0",
|
|
||||||
"date": "2025-05-21T18:00:32Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Stirling-Tools/Stirling-PDF",
|
"name": "Stirling-Tools/Stirling-PDF",
|
||||||
"version": "v0.46.2",
|
"version": "v0.46.2",
|
||||||
@@ -764,6 +859,11 @@
|
|||||||
"version": "v1.0.0-beta21",
|
"version": "v1.0.0-beta21",
|
||||||
"date": "2025-05-09T23:14:23Z"
|
"date": "2025-05-09T23:14:23Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "getumbrel/umbrel",
|
||||||
|
"version": "1.4.2",
|
||||||
|
"date": "2025-05-09T08:54:49Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "ZoeyVid/NPMplus",
|
"name": "ZoeyVid/NPMplus",
|
||||||
"version": "2025-05-07-r1",
|
"version": "2025-05-07-r1",
|
||||||
@@ -774,6 +874,11 @@
|
|||||||
"version": "v0.19.0",
|
"version": "v0.19.0",
|
||||||
"date": "2025-05-06T18:05:42Z"
|
"date": "2025-05-06T18:05:42Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "garethgeorge/backrest",
|
||||||
|
"version": "v1.8.1",
|
||||||
|
"date": "2025-05-06T04:27:00Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "linkwarden/linkwarden",
|
"name": "linkwarden/linkwarden",
|
||||||
"version": "v2.10.2",
|
"version": "v2.10.2",
|
||||||
@@ -790,30 +895,20 @@
|
|||||||
"date": "2025-05-05T16:28:24Z"
|
"date": "2025-05-05T16:28:24Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "forgejo/forgejo",
|
"name": "raydak-labs/configarr",
|
||||||
"version": "v11.0.1",
|
"version": "v1.13.5",
|
||||||
"date": "2025-05-02T17:10:30Z"
|
"date": "2025-05-03T09:48:44Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "jhuckaby/Cronicle",
|
"name": "jhuckaby/Cronicle",
|
||||||
"version": "v0.9.80",
|
"version": "v0.9.80",
|
||||||
"date": "2025-05-02T16:48:15Z"
|
"date": "2025-05-02T16:48:15Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "prometheus-pve/prometheus-pve-exporter",
|
|
||||||
"version": "v3.5.4",
|
|
||||||
"date": "2025-05-02T13:42:06Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "WordPress/WordPress",
|
"name": "WordPress/WordPress",
|
||||||
"version": "6.8.1",
|
"version": "6.8.1",
|
||||||
"date": "2025-04-30T16:44:16Z"
|
"date": "2025-04-30T16:44:16Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "docmost/docmost",
|
|
||||||
"version": "v0.20.4",
|
|
||||||
"date": "2025-04-30T14:15:16Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "hivemq/hivemq-community-edition",
|
"name": "hivemq/hivemq-community-edition",
|
||||||
"version": "2025.3",
|
"version": "2025.3",
|
||||||
@@ -834,6 +929,11 @@
|
|||||||
"version": "deluge-2.2.0",
|
"version": "deluge-2.2.0",
|
||||||
"date": "2025-04-28T21:31:06Z"
|
"date": "2025-04-28T21:31:06Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "oauth2-proxy/oauth2-proxy",
|
||||||
|
"version": "v7.9.0",
|
||||||
|
"date": "2025-04-28T16:28:42Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "gotify/server",
|
"name": "gotify/server",
|
||||||
"version": "v2.6.3",
|
"version": "v2.6.3",
|
||||||
@@ -844,11 +944,6 @@
|
|||||||
"version": "release-5.1.0",
|
"version": "release-5.1.0",
|
||||||
"date": "2025-04-27T08:53:48Z"
|
"date": "2025-04-27T08:53:48Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "openhab/openhab-core",
|
|
||||||
"version": "4.3.5",
|
|
||||||
"date": "2025-04-26T13:52:07Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "photoprism/photoprism",
|
"name": "photoprism/photoprism",
|
||||||
"version": "250426-27ec7a128",
|
"version": "250426-27ec7a128",
|
||||||
@@ -919,16 +1014,6 @@
|
|||||||
"version": "v0.2.11",
|
"version": "v0.2.11",
|
||||||
"date": "2025-04-12T21:13:08Z"
|
"date": "2025-04-12T21:13:08Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Bubka/2FAuth",
|
|
||||||
"version": "v5.5.2",
|
|
||||||
"date": "2025-04-11T22:00:06Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "sabnzbd/sabnzbd",
|
|
||||||
"version": "4.5.1",
|
|
||||||
"date": "2025-04-11T09:57:47Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "thomiceli/opengist",
|
"name": "thomiceli/opengist",
|
||||||
"version": "v1.10.0",
|
"version": "v1.10.0",
|
||||||
@@ -989,6 +1074,11 @@
|
|||||||
"version": "v1.34.0",
|
"version": "v1.34.0",
|
||||||
"date": "2025-03-26T08:48:34Z"
|
"date": "2025-03-26T08:48:34Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "LibreTranslate/LibreTranslate",
|
||||||
|
"version": "v1.6.5",
|
||||||
|
"date": "2025-03-25T20:27:29Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "nextcloud/nextcloudpi",
|
"name": "nextcloud/nextcloudpi",
|
||||||
"version": "v1.55.4",
|
"version": "v1.55.4",
|
||||||
@@ -1054,6 +1144,11 @@
|
|||||||
"version": "tc_v0.6.4",
|
"version": "tc_v0.6.4",
|
||||||
"date": "2025-03-05T15:43:40Z"
|
"date": "2025-03-05T15:43:40Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "bitmagnet-io/bitmagnet",
|
||||||
|
"version": "v0.10.0",
|
||||||
|
"date": "2025-03-02T15:13:47Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "heiher/hev-socks5-server",
|
"name": "heiher/hev-socks5-server",
|
||||||
"version": "2.8.0",
|
"version": "2.8.0",
|
||||||
@@ -1074,6 +1169,11 @@
|
|||||||
"version": "v1.1.05",
|
"version": "v1.1.05",
|
||||||
"date": "2025-02-24T11:53:12Z"
|
"date": "2025-02-24T11:53:12Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "babybuddy/babybuddy",
|
||||||
|
"version": "v2.7.1",
|
||||||
|
"date": "2025-02-22T01:14:41Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "typesense/typesense",
|
"name": "typesense/typesense",
|
||||||
"version": "v28.0",
|
"version": "v28.0",
|
||||||
@@ -1109,6 +1209,11 @@
|
|||||||
"version": "1.7.6",
|
"version": "1.7.6",
|
||||||
"date": "2025-02-01T09:50:52Z"
|
"date": "2025-02-01T09:50:52Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "AmruthPillai/Reactive-Resume",
|
||||||
|
"version": "v4.4.4",
|
||||||
|
"date": "2025-01-30T16:57:47Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "rustdesk/rustdesk-server",
|
"name": "rustdesk/rustdesk-server",
|
||||||
"version": "1.1.14",
|
"version": "1.1.14",
|
||||||
@@ -1119,6 +1224,11 @@
|
|||||||
"version": "v0.5.7",
|
"version": "v0.5.7",
|
||||||
"date": "2025-01-17T15:57:17Z"
|
"date": "2025-01-17T15:57:17Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "PCJones/UmlautAdaptarr",
|
||||||
|
"version": "0.7.2",
|
||||||
|
"date": "2025-01-13T22:17:18Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "ErsatzTV/ErsatzTV",
|
"name": "ErsatzTV/ErsatzTV",
|
||||||
"version": "v25.1.0",
|
"version": "v25.1.0",
|
||||||
@@ -1129,6 +1239,11 @@
|
|||||||
"version": "v0.24.6",
|
"version": "v0.24.6",
|
||||||
"date": "2024-12-22T20:24:35Z"
|
"date": "2024-12-22T20:24:35Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "favonia/cloudflare-ddns",
|
||||||
|
"version": "v1.15.1",
|
||||||
|
"date": "2024-12-16T13:00:05Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "ArchiveBox/ArchiveBox",
|
"name": "ArchiveBox/ArchiveBox",
|
||||||
"version": "v0.7.3",
|
"version": "v0.7.3",
|
||||||
@@ -1159,11 +1274,6 @@
|
|||||||
"version": "0.6.24",
|
"version": "0.6.24",
|
||||||
"date": "2024-11-16T06:47:56Z"
|
"date": "2024-11-16T06:47:56Z"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "pterodactyl/panel",
|
|
||||||
"version": "v1.11.10",
|
|
||||||
"date": "2024-11-15T02:29:18Z"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "sabre-io/Baikal",
|
"name": "sabre-io/Baikal",
|
||||||
"version": "0.10.1",
|
"version": "0.10.1",
|
||||||
@@ -1238,15 +1348,5 @@
|
|||||||
"name": "thelounge/thelounge-deb",
|
"name": "thelounge/thelounge-deb",
|
||||||
"version": "v4.4.3",
|
"version": "v4.4.3",
|
||||||
"date": "2024-04-06T12:24:35Z"
|
"date": "2024-04-06T12:24:35Z"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "deepch/RTSPtoWeb",
|
|
||||||
"version": "v2.4.3",
|
|
||||||
"date": "2023-03-29T12:05:02Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Shinobi-Systems/Shinobi",
|
|
||||||
"version": "furrykitten-3",
|
|
||||||
"date": "2022-07-15T05:20:17Z"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
36
frontend/public/json/wizarr.json
generated
Normal file
36
frontend/public/json/wizarr.json
generated
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"name": "Wizarr",
|
||||||
|
"slug": "wizarr",
|
||||||
|
"categories": [
|
||||||
|
14,
|
||||||
|
13
|
||||||
|
],
|
||||||
|
"date_created": "2025-06-19",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 5690,
|
||||||
|
"documentation": "https://docs.wizarr.dev/",
|
||||||
|
"website": "https://docs.wizarr.dev/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/wizarr.webp",
|
||||||
|
"config_path": "/opt/wizarr/.env",
|
||||||
|
"description": "Wizarr is an automatic user invitation system for Plex, Jellyfin and Emby. Create a unique link and share it to a user and they will automatically be invited to your media Server",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/wizarr.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 1024,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": []
|
||||||
|
}
|
||||||
@@ -19,9 +19,9 @@ $STD apt-get install -y \
|
|||||||
nginx
|
nginx
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,fpm,mysql,cli" install_php
|
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,fpm,mysql,cli" setup_php
|
||||||
install_composer
|
setup_composer
|
||||||
install_mariadb
|
setup_mariadb
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
DB_NAME=2fauth_db
|
DB_NAME=2fauth_db
|
||||||
@@ -38,7 +38,7 @@ $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUS
|
|||||||
} >>~/2FAuth.creds
|
} >>~/2FAuth.creds
|
||||||
msg_ok "Set up Database"
|
msg_ok "Set up Database"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "Bubka/2FAuth"
|
fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth"
|
||||||
|
|
||||||
msg_info "Setup 2FAuth"
|
msg_info "Setup 2FAuth"
|
||||||
cd /opt/2fauth
|
cd /opt/2fauth
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ msg_info "Installing Actual Budget"
|
|||||||
cd /opt
|
cd /opt
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
NODE_VERSION="22"
|
NODE_VERSION="22"
|
||||||
install_node_and_modules
|
setup_nodejs
|
||||||
mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config}
|
mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config}
|
||||||
chown -R root:root /opt/actualbudget-data
|
chown -R root:root /opt/actualbudget-data
|
||||||
chmod -R 755 /opt/actualbudget-data
|
chmod -R 755 /opt/actualbudget-data
|
||||||
|
|||||||
@@ -23,8 +23,8 @@ $STD apt-get install -y \
|
|||||||
python3-pip
|
python3-pip
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
|
||||||
PG_VERSION="16" PG_MODULES="postgis" install_postgresql
|
PG_VERSION="16" PG_MODULES="postgis" setup_postgresql
|
||||||
|
|
||||||
msg_info "Set up PostgreSQL Database"
|
msg_info "Set up PostgreSQL Database"
|
||||||
DB_NAME="adventurelog_db"
|
DB_NAME="adventurelog_db"
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ $STD apt-get install -y \
|
|||||||
default-jdk
|
default-jdk
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
install_mariadb
|
setup_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)
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ $STD apt-get install -y \
|
|||||||
python3-regex
|
python3-regex
|
||||||
msg_ok "Installed Python Dependencies"
|
msg_ok "Installed Python Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Playwright"
|
msg_info "Installing Playwright"
|
||||||
$STD pip install playwright
|
$STD pip install playwright
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ $STD apt-get install -y \
|
|||||||
php-{pgsql,dom}
|
php-{pgsql,dom}
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL Database"
|
msg_info "Setting up PostgreSQL Database"
|
||||||
DB_NAME=baikal
|
DB_NAME=baikal
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ $STD apt-get install -y \
|
|||||||
musl-dev
|
musl-dev
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
install_go
|
setup_go
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
|
||||||
msg_info "Installing bitmagnet v${RELEASE}"
|
msg_info "Installing bitmagnet v${RELEASE}"
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ $STD apt-get install -y \
|
|||||||
make
|
make
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
install_mariadb
|
setup_mariadb
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
DB_NAME=bookstack
|
DB_NAME=bookstack
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing ByteStash"
|
msg_info "Installing ByteStash"
|
||||||
JWT_SECRET=$(openssl rand -base64 32 | tr -d '/+=')
|
JWT_SECRET=$(openssl rand -base64 32 | tr -d '/+=')
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ msg_ok "Installed Caddy"
|
|||||||
|
|
||||||
read -r -p "${TAB3}Would you like to install xCaddy Addon? <y/N> " prompt
|
read -r -p "${TAB3}Would you like to install xCaddy Addon? <y/N> " prompt
|
||||||
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
|
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
|
||||||
install_go
|
setup_go
|
||||||
msg_info "Setup xCaddy"
|
msg_info "Setup xCaddy"
|
||||||
$STD apt-get install -y git
|
$STD apt-get install -y git
|
||||||
cd /opt
|
cd /opt
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ $STD apt-get install -y \
|
|||||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
|
||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Change Detection"
|
msg_info "Installing Change Detection"
|
||||||
mkdir /opt/changedetection
|
mkdir /opt/changedetection
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
install_go
|
setup_go
|
||||||
|
|
||||||
msg_info "Configure Application"
|
msg_info "Configure Application"
|
||||||
var_cf_api_token="default"
|
var_cf_api_token="default"
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ $STD apt-get install -y \
|
|||||||
git
|
git
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_MODULE="pnpm@latest" install_node_and_modules
|
NODE_MODULE="pnpm@latest" setup_nodejs
|
||||||
fetch_and_deploy_gh_release "raydak-labs/configarr"
|
fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr"
|
||||||
|
|
||||||
msg_info "Setup ${APPLICATION}"
|
msg_info "Setup ${APPLICATION}"
|
||||||
cat <<EOF >/opt/configarr/.env
|
cat <<EOF >/opt/configarr/.env
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Cronicle Primary Server"
|
msg_info "Installing Cronicle Primary Server"
|
||||||
LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
|
LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Setup Cross-Seed"
|
msg_info "Setup Cross-Seed"
|
||||||
$STD npm install cross-seed@latest -g
|
$STD npm install cross-seed@latest -g
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ $STD apt-get install -y \
|
|||||||
git
|
git
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
read -p "${TAB3}Install OnlyOffice components instead of CKEditor? (Y/N): " onlyoffice
|
read -p "${TAB3}Install OnlyOffice components instead of CKEditor? (Y/N): " onlyoffice
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||||
msg_info "Installing Dashy ${RELEASE} (Patience)"
|
msg_info "Installing Dashy ${RELEASE} (Patience)"
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ $STD apt-get install -y \
|
|||||||
make
|
make
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL"
|
msg_info "Setting up PostgreSQL"
|
||||||
DB_NAME="docmost_db"
|
DB_NAME="docmost_db"
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ $STD apt-get install -y \
|
|||||||
python3-bcrypt
|
python3-bcrypt
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="turbo@1.9.3" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="turbo@1.9.3" setup_nodejs
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL"
|
msg_info "Setting up PostgreSQL"
|
||||||
DB_NAME="documenso_db"
|
DB_NAME="documenso_db"
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ $STD apt-get install -y \
|
|||||||
debconf-utils
|
debconf-utils
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
install_mariadb
|
setup_mariadb
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ $STD apt-get install -y \
|
|||||||
debconf-utils
|
debconf-utils
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
|
|
||||||
read -p "${TAB3}Please enter the name for your server: " servername
|
read -p "${TAB3}Please enter the name for your server: " servername
|
||||||
|
|
||||||
@@ -57,8 +57,8 @@ cd /opt/synapse-admin
|
|||||||
$STD yarn global add serve
|
$STD yarn global add serve
|
||||||
$STD yarn install --ignore-engines
|
$STD yarn install --ignore-engines
|
||||||
$STD yarn build
|
$STD yarn build
|
||||||
mv ./dist ../ && \
|
mv ./dist ../ &&
|
||||||
rm -rf * && \
|
rm -rf * &&
|
||||||
mv ../dist ./
|
mv ../dist ./
|
||||||
msg_ok "Installed Element Synapse"
|
msg_ok "Installed Element Synapse"
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ $STD apt-get install -y \
|
|||||||
xdg-utils
|
xdg-utils
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
|
|
||||||
msg_info "Setup Excalidraw"
|
msg_info "Setup Excalidraw"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ $STD apt-get install -y \
|
|||||||
composer
|
composer
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
install_mariadb
|
setup_mariadb
|
||||||
|
|
||||||
msg_info "Setting up database"
|
msg_info "Setting up database"
|
||||||
DB_NAME=firefly
|
DB_NAME=firefly
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
NODE_VERSION="20" install_node_and_modules
|
NODE_VERSION="20" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing FlowiseAI (Patience)"
|
msg_info "Installing FlowiseAI (Patience)"
|
||||||
$STD npm install -g flowise \
|
$STD npm install -g flowise \
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ $STD apt-get install -y \
|
|||||||
libapache2-mod-php
|
libapache2-mod-php
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL"
|
msg_info "Setting up PostgreSQL"
|
||||||
DB_NAME=freshrss
|
DB_NAME=freshrss
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ $STD apt-get install -y {python3,python3-dev,python3-setuptools,python3-distutil
|
|||||||
$STD pip install --upgrade pip
|
$STD pip install --upgrade pip
|
||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing go2rtc"
|
msg_info "Installing go2rtc"
|
||||||
mkdir -p /usr/local/go2rtc/bin
|
mkdir -p /usr/local/go2rtc/bin
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ $STD apt-get install -y \
|
|||||||
ca-certificates
|
ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Fumadocs"
|
msg_info "Installing Fumadocs"
|
||||||
mkdir -p /opt/fumadocs
|
mkdir -p /opt/fumadocs
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ $STD apt-get install -y \
|
|||||||
libcap2-bin
|
libcap2-bin
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
install_go
|
setup_go
|
||||||
|
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
msg_info "Setting up gatus v${RELEASE}"
|
msg_info "Setting up gatus v${RELEASE}"
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ $STD apt-get install -y \
|
|||||||
ca-certificates
|
ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
install_mariadb
|
setup_mariadb
|
||||||
|
|
||||||
msg_info "Configuring Database"
|
msg_info "Configuring Database"
|
||||||
DB_NAME=ghost
|
DB_NAME=ghost
|
||||||
@@ -37,7 +37,7 @@ $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUS
|
|||||||
} >>~/ghost.creds
|
} >>~/ghost.creds
|
||||||
msg_ok "Configured MySQL"
|
msg_ok "Configured MySQL"
|
||||||
|
|
||||||
NODE_VERSION="20" install_node_and_modules
|
NODE_VERSION="20" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Ghost CLI"
|
msg_info "Installing Ghost CLI"
|
||||||
$STD npm install ghost-cli@latest -g
|
$STD npm install ghost-cli@latest -g
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ ln -sf /opt/bun/bin/bun /usr/local/bin/bun
|
|||||||
ln -sf /opt/bun/bin/bun /usr/local/bin/bunx
|
ln -sf /opt/bun/bin/bun /usr/local/bin/bunx
|
||||||
msg_ok "Installed Bun"
|
msg_ok "Installed Bun"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "arunavo4/gitea-mirror"
|
fetch_and_deploy_gh_release "gitea-mirror" "arunavo4/gitea-mirror"
|
||||||
|
|
||||||
msg_info "Installing gitea-mirror"
|
msg_info "Installing gitea-mirror"
|
||||||
cd /opt/gitea-mirror
|
cd /opt/gitea-mirror
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ $STD apt-get install -y \
|
|||||||
libapache2-mod-php
|
libapache2-mod-php
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
install_mariadb
|
setup_mariadb
|
||||||
|
|
||||||
msg_info "Setting up database"
|
msg_info "Setting up database"
|
||||||
DB_NAME=glpi_db
|
DB_NAME=glpi_db
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ $STD apt-get install -y \
|
|||||||
build-essential
|
build-essential
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
install_go
|
setup_go
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Setup ${APPLICATION} (Patience)"
|
msg_info "Setup ${APPLICATION} (Patience)"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
MONGO_VERSION="7.0" install_mongodb
|
MONGO_VERSION="7.0" setup_mongodb
|
||||||
|
|
||||||
msg_info "Setup Graylog Data Node"
|
msg_info "Setup Graylog Data Node"
|
||||||
PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16)
|
PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ $STD apt-get install -y \
|
|||||||
python3.11-venv
|
python3.11-venv
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Grist"
|
msg_info "Installing Grist"
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1
|
|||||||
$STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
|
$STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="20" install_node_and_modules
|
NODE_VERSION="20" setup_nodejs
|
||||||
|
|
||||||
msg_info "Setup ${APPLICATION}"
|
msg_info "Setup ${APPLICATION}"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ msg_ok "Installed Dependencies"
|
|||||||
|
|
||||||
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
|
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
|
||||||
NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')"
|
NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')"
|
||||||
install_node_and_modules
|
setup_nodejs
|
||||||
fetch_and_deploy_gh_release "homarr-labs/homarr"
|
fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr"
|
||||||
|
|
||||||
msg_info "Installing Homarr (Patience)"
|
msg_info "Installing Homarr (Patience)"
|
||||||
cd /opt
|
cd /opt
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y jq
|
$STD apt-get install -y jq
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
|
||||||
|
|
||||||
LOCAL_IP=$(hostname -I | awk '{print $1}')
|
LOCAL_IP=$(hostname -I | awk '{print $1}')
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
|||||||
49
install/huntarr-install.sh
Normal file
49
install/huntarr-install.sh
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: BiluliB
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/plexguide/Huntarr.io
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
$STD apt-get install -y jq
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
setup_uv
|
||||||
|
fetch_and_deploy_gh_release "huntarr" "plexguide/Huntarr.io"
|
||||||
|
|
||||||
|
msg_info "Configure Huntarr"
|
||||||
|
$STD uv venv /opt/huntarr/.venv
|
||||||
|
$STD uv pip install --python /opt/huntarr/.venv/bin/python -r /opt/huntarr/requirements.txt
|
||||||
|
msg_ok "Configured Huntrarr"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/huntarr.service
|
||||||
|
[Unit]
|
||||||
|
Description=Huntarr Service
|
||||||
|
After=network.target
|
||||||
|
[Service]
|
||||||
|
WorkingDirectory=/opt/huntarr
|
||||||
|
ExecStart=/opt/huntarr/.venv/bin/python /opt/huntarr/main.py
|
||||||
|
Restart=always
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now huntarr
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
||||||
@@ -13,6 +13,8 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
|
setup_uv
|
||||||
|
|
||||||
msg_info "Configuring apt and installing dependencies"
|
msg_info "Configuring apt and installing dependencies"
|
||||||
echo "deb http://deb.debian.org/debian testing main contrib" >/etc/apt/sources.list.d/immich.list
|
echo "deb http://deb.debian.org/debian testing main contrib" >/etc/apt/sources.list.d/immich.list
|
||||||
cat <<EOF >/etc/apt/preferences.d/immich
|
cat <<EOF >/etc/apt/preferences.d/immich
|
||||||
@@ -27,7 +29,6 @@ $STD apt-get install --no-install-recommends -y \
|
|||||||
redis \
|
redis \
|
||||||
autoconf \
|
autoconf \
|
||||||
build-essential \
|
build-essential \
|
||||||
python3-venv \
|
|
||||||
python3-dev \
|
python3-dev \
|
||||||
cmake \
|
cmake \
|
||||||
jq \
|
jq \
|
||||||
@@ -63,6 +64,7 @@ $STD apt-get install --no-install-recommends -y \
|
|||||||
mesa-utils \
|
mesa-utils \
|
||||||
mesa-va-drivers \
|
mesa-va-drivers \
|
||||||
mesa-vulkan-drivers \
|
mesa-vulkan-drivers \
|
||||||
|
ocl-icd-libopencl1 \
|
||||||
tini \
|
tini \
|
||||||
zlib1g
|
zlib1g
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
@@ -84,21 +86,17 @@ ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/bin/ffmpeg
|
|||||||
ln -s /usr/lib/jellyfin-ffmpeg/ffprobe /usr/bin/ffprobe
|
ln -s /usr/lib/jellyfin-ffmpeg/ffprobe /usr/bin/ffprobe
|
||||||
msg_ok "Dependencies Installed"
|
msg_ok "Dependencies Installed"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
read -r -p "Install OpenVINO dependencies for Intel HW-accelerated machine-learning? y/N " prompt
|
||||||
PG_VERSION="16" install_postgresql
|
|
||||||
|
|
||||||
read -r -p "${TAB3}Install OpenVINO dependencies for Intel HW-accelerated machine-learning? " prompt
|
|
||||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||||
msg_info "Installing OpenVINO dependencies"
|
msg_info "Installing OpenVINO dependencies"
|
||||||
touch ~/.openvino
|
touch ~/.openvino
|
||||||
$STD apt-get -y install --no-install-recommends ocl-icd-libopencl1
|
|
||||||
tmp_dir=$(mktemp -d)
|
tmp_dir=$(mktemp -d)
|
||||||
$STD pushd "$tmp_dir"
|
$STD pushd "$tmp_dir"
|
||||||
curl -fsSL https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-core_1.0.17384.11_amd64.deb -O
|
curl -fsSLO https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-core_1.0.17384.11_amd64.deb
|
||||||
curl -fsSL https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-opencl_1.0.17384.11_amd64.deb -O
|
curl -fsSLO https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-opencl_1.0.17384.11_amd64.deb
|
||||||
curl -fsSL https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/intel-opencl-icd_24.31.30508.7_amd64.deb -O
|
curl -fsSLO https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/intel-opencl-icd_24.31.30508.7_amd64.deb
|
||||||
curl -fsSL https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/libigdgmm12_22.4.1_amd64.deb -O
|
curl -fsSLO https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/libigdgmm12_22.4.1_amd64.deb
|
||||||
$STD dpkg -i ./*.deb
|
$STD apt install -y ./*.deb
|
||||||
$STD popd
|
$STD popd
|
||||||
rm -rf "$tmp_dir"
|
rm -rf "$tmp_dir"
|
||||||
dpkg -l | grep "intel-opencl-icd" | awk '{print $3}' >~/.intel_version
|
dpkg -l | grep "intel-opencl-icd" | awk '{print $3}' >~/.intel_version
|
||||||
@@ -112,11 +110,15 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
|||||||
msg_ok "Installed OpenVINO dependencies"
|
msg_ok "Installed OpenVINO dependencies"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql
|
||||||
|
|
||||||
msg_info "Setting up Postgresql Database"
|
msg_info "Setting up Postgresql Database"
|
||||||
$STD apt-get install postgresql-16-pgvector
|
VCHORD_RELEASE="$(curl -fsSL https://api.github.com/repos/tensorchord/vectorchord/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')"
|
||||||
curl -fsSL https://github.com/tensorchord/VectorChord/releases/download/0.3.0/postgresql-16-vchord_0.3.0-1_amd64.deb -o vchord.deb
|
curl -fsSL "https://github.com/tensorchord/VectorChord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb
|
||||||
$STD dpkg -i vchord.deb
|
$STD apt install -y ./vchord.deb
|
||||||
rm vchord.deb
|
rm vchord.deb
|
||||||
|
echo "$VCHORD_RELEASE" >~/.vchord_version
|
||||||
DB_NAME="immich"
|
DB_NAME="immich"
|
||||||
DB_USER="immich"
|
DB_USER="immich"
|
||||||
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c18)
|
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c18)
|
||||||
@@ -273,7 +275,7 @@ msg_ok "Custom Photo-processing Library Compiled"
|
|||||||
|
|
||||||
msg_info "Installing ${APPLICATION} (more patience please)"
|
msg_info "Installing ${APPLICATION} (more patience please)"
|
||||||
tmp_file=$(mktemp)
|
tmp_file=$(mktemp)
|
||||||
RELEASE=$(curl -s https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
curl -fsSL "https://github.com/immich-app/immich/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file"
|
curl -fsSL "https://github.com/immich-app/immich/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file"
|
||||||
unzip -q "$tmp_file"
|
unzip -q "$tmp_file"
|
||||||
INSTALL_DIR="/opt/${APPLICATION}"
|
INSTALL_DIR="/opt/${APPLICATION}"
|
||||||
@@ -304,23 +306,16 @@ cp LICENSE "$APP_DIR"
|
|||||||
msg_ok "Installed Immich Web Components"
|
msg_ok "Installed Immich Web Components"
|
||||||
|
|
||||||
cd "$SRC_DIR"/machine-learning
|
cd "$SRC_DIR"/machine-learning
|
||||||
$STD python3 -m venv "$ML_DIR/ml-venv"
|
export VIRTUAL_ENV="${ML_DIR}/ml-venv"
|
||||||
|
$STD uv venv "$VIRTUAL_ENV"
|
||||||
if [[ -f ~/.openvino ]]; then
|
if [[ -f ~/.openvino ]]; then
|
||||||
msg_info "Installing HW-accelerated machine-learning"
|
msg_info "Installing HW-accelerated machine-learning"
|
||||||
(
|
|
||||||
source "$ML_DIR"/ml-venv/bin/activate
|
|
||||||
$STD pip3 install uv
|
|
||||||
uv -q sync --extra openvino --no-cache --active
|
uv -q sync --extra openvino --no-cache --active
|
||||||
)
|
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so"
|
||||||
patchelf --clear-execstack "$ML_DIR"/ml-venv/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so
|
|
||||||
msg_ok "Installed HW-accelerated machine-learning"
|
msg_ok "Installed HW-accelerated machine-learning"
|
||||||
else
|
else
|
||||||
msg_info "Installing machine-learning"
|
msg_info "Installing machine-learning"
|
||||||
(
|
|
||||||
source "$ML_DIR"/ml-venv/bin/activate
|
|
||||||
$STD pip3 install uv
|
|
||||||
uv -q sync --extra cpu --no-cache --active
|
uv -q sync --extra cpu --no-cache --active
|
||||||
)
|
|
||||||
msg_ok "Installed machine-learning"
|
msg_ok "Installed machine-learning"
|
||||||
fi
|
fi
|
||||||
cd "$SRC_DIR"
|
cd "$SRC_DIR"
|
||||||
@@ -351,7 +346,9 @@ URL_LIST=(
|
|||||||
https://download.geonames.org/export/dump/cities500.zip
|
https://download.geonames.org/export/dump/cities500.zip
|
||||||
https://raw.githubusercontent.com/nvkelso/natural-earth-vector/v5.1.2/geojson/ne_10m_admin_0_countries.geojson
|
https://raw.githubusercontent.com/nvkelso/natural-earth-vector/v5.1.2/geojson/ne_10m_admin_0_countries.geojson
|
||||||
)
|
)
|
||||||
echo "${URL_LIST[@]}" | xargs -n1 -P 8 wget -q
|
for geo in "${URL_LIST[@]}"; do
|
||||||
|
curl -fsSLO "$geo"
|
||||||
|
done
|
||||||
unzip -q cities500.zip
|
unzip -q cities500.zip
|
||||||
date --iso-8601=seconds | tr -d "\n" >geodata-date.txt
|
date --iso-8601=seconds | tr -d "\n" >geodata-date.txt
|
||||||
rm cities500.zip
|
rm cities500.zip
|
||||||
@@ -390,13 +387,13 @@ cat <<EOF >"${ML_DIR}"/ml_start.sh
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
cd ${ML_DIR}
|
cd ${ML_DIR}
|
||||||
. ml-venv/bin/activate
|
. ${VIRTUAL_ENV}/bin/activate
|
||||||
|
|
||||||
set -a
|
set -a
|
||||||
. ${INSTALL_DIR}/.env
|
. ${INSTALL_DIR}/.env
|
||||||
set +a
|
set +a
|
||||||
|
|
||||||
python -m immich_ml
|
python3 -m immich_ml
|
||||||
EOF
|
EOF
|
||||||
chmod +x "$ML_DIR"/ml_start.sh
|
chmod +x "$ML_DIR"/ml_start.sh
|
||||||
cat <<EOF >/etc/systemd/system/"${APPLICATION}"-web.service
|
cat <<EOF >/etc/systemd/system/"${APPLICATION}"-web.service
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y ca-certificates
|
$STD apt-get install -y ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing ioBroker (Patience)"
|
msg_info "Installing ioBroker (Patience)"
|
||||||
$STD bash <(curl -fsSL https://iobroker.net/install.sh)
|
$STD bash <(curl -fsSL https://iobroker.net/install.sh)
|
||||||
|
|||||||
@@ -19,14 +19,12 @@ $STD apt-get install -y \
|
|||||||
build-essential
|
build-essential
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
git clone -q https://github.com/Fallenbagel/jellyseerr.git /opt/jellyseerr
|
git clone -q https://github.com/Fallenbagel/jellyseerr.git /opt/jellyseerr
|
||||||
cd /opt/jellyseerr
|
cd /opt/jellyseerr
|
||||||
$STD git checkout main
|
$STD git checkout main
|
||||||
|
|
||||||
pnpm_desired=$(grep -Po '"pnpm":\s*"\K[^"]+' /opt/jellyseerr/package.json)
|
pnpm_desired=$(grep -Po '"pnpm":\s*"\K[^"]+' /opt/jellyseerr/package.json)
|
||||||
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Jellyseerr (Patience)"
|
msg_info "Installing Jellyseerr (Patience)"
|
||||||
export CYPRESS_INSTALL_BINARY=0
|
export CYPRESS_INSTALL_BINARY=0
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ sed -i \
|
|||||||
/etc/meilisearch.toml
|
/etc/meilisearch.toml
|
||||||
msg_ok "Installed Meilisearch"
|
msg_ok "Installed Meilisearch"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
$STD npm install -g corepack@0.31.0
|
$STD npm install -g corepack@0.31.0
|
||||||
|
|
||||||
msg_info "Installing karakeep"
|
msg_info "Installing karakeep"
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ $STD apt-get install -y \
|
|||||||
lsb-release
|
lsb-release
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
install_mysql
|
setup_mysql
|
||||||
|
|
||||||
msg_info "Adding PHP8.4 Repository"
|
msg_info "Adding PHP8.4 Repository"
|
||||||
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ $STD apt-get install -y \
|
|||||||
lsb-release
|
lsb-release
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
|
|
||||||
msg_info "Setup PHP8.4 Repository"
|
msg_info "Setup PHP8.4 Repository"
|
||||||
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ $STD apt-get install -y \
|
|||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
setup_uv
|
setup_uv
|
||||||
fetch_and_deploy_gh_release "LibreTranslate/LibreTranslate"
|
fetch_and_deploy_gh_release "libretranslate" "LibreTranslate/LibreTranslate"
|
||||||
|
|
||||||
msg_info "Setup LibreTranslate (Patience)"
|
msg_info "Setup LibreTranslate (Patience)"
|
||||||
cd /opt/libretranslate
|
cd /opt/libretranslate
|
||||||
@@ -43,6 +43,10 @@ $STD uv pip install "numpy<2"
|
|||||||
$STD uv pip install .
|
$STD uv pip install .
|
||||||
$STD uv pip install libretranslate
|
$STD uv pip install libretranslate
|
||||||
$STD .venv/bin/python scripts/install_models.py
|
$STD .venv/bin/python scripts/install_models.py
|
||||||
|
|
||||||
|
cat <<EOF >/opt/libretranslate/.env
|
||||||
|
LT_PORT=5000
|
||||||
|
EOF
|
||||||
msg_ok "Installed LibreTranslate"
|
msg_ok "Installed LibreTranslate"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
@@ -56,6 +60,7 @@ User=root
|
|||||||
Type=idle
|
Type=idle
|
||||||
Restart=always
|
Restart=always
|
||||||
Environment="PATH=/usr/local/lib/python3.11/dist-packages/libretranslate"
|
Environment="PATH=/usr/local/lib/python3.11/dist-packages/libretranslate"
|
||||||
|
EnvironmentFile=/opt/libretranslate/.env
|
||||||
ExecStart=/opt/libretranslate/.venv/bin/python3 /opt/libretranslate/.venv/bin/libretranslate --host * --update-models
|
ExecStart=/opt/libretranslate/.venv/bin/python3 /opt/libretranslate/.venv/bin/libretranslate --host * --update-models
|
||||||
ExecReload=/bin/kill -s HUP
|
ExecReload=/bin/kill -s HUP
|
||||||
KillMode=mixed
|
KillMode=mixed
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ $STD apt-get install -y \
|
|||||||
build-essential
|
build-essential
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
RUST_CRATES="monolith" install_rust_and_crates
|
RUST_CRATES="monolith" setup_rust
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL DB"
|
msg_info "Setting up PostgreSQL DB"
|
||||||
DB_NAME=linkwardendb
|
DB_NAME=linkwardendb
|
||||||
@@ -48,7 +48,7 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Installing Linkwarden (Patience)"
|
msg_info "Installing Linkwarden (Patience)"
|
||||||
fetch_and_deploy_gh_release "linkwarden/linkwarden"
|
fetch_and_deploy_gh_release "linkwarden" "linkwarden/linkwarden"
|
||||||
cd /opt/linkwarden
|
cd /opt/linkwarden
|
||||||
$STD yarn
|
$STD yarn
|
||||||
$STD npx playwright install-deps
|
$STD npx playwright install-deps
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ $STD apt-get install -y gcc
|
|||||||
$STD apt-get install -y ca-certificates
|
$STD apt-get install -y ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
|
|
||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
msg_info "Installing Mafl v${RELEASE}"
|
msg_info "Installing Mafl v${RELEASE}"
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Setup MagicMirror"
|
msg_info "Setup MagicMirror"
|
||||||
temp_file=$(mktemp)
|
temp_file=$(mktemp)
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
NODE_VERSION="20" install_node_and_modules
|
NODE_VERSION="20" setup_nodejs
|
||||||
MYSQL_VERSION="8.0" install_mysql
|
MYSQL_VERSION="8.0" setup_mysql
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
DB_NAME="mmdl"
|
DB_NAME="mmdl"
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
install_mariadb
|
setup_mariadb
|
||||||
|
|
||||||
msg_info "Setup MariaDB"
|
msg_info "Setup MariaDB"
|
||||||
sed -i 's/^# *\(port *=.*\)/\1/' /etc/mysql/my.cnf
|
sed -i 's/^# *\(port *=.*\)/\1/' /etc/mysql/my.cnf
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ msg_info "Install Matterbridge"
|
|||||||
mkdir -p /root/Matterbridge
|
mkdir -p /root/Matterbridge
|
||||||
NODE_VERSION="22"
|
NODE_VERSION="22"
|
||||||
NODE_MODULE="matterbridge"
|
NODE_MODULE="matterbridge"
|
||||||
install_node_and_modules
|
setup_nodejs
|
||||||
msg_ok "Installed Matterbridge"
|
msg_ok "Installed Matterbridge"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
|
|
||||||
msg_info "Setting up PostgreSQL"
|
msg_info "Setting up PostgreSQL"
|
||||||
DB_NAME=mattermost
|
DB_NAME=mattermost
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ msg_ok "Setup ${APPLICATION}"
|
|||||||
|
|
||||||
read -r -p "${TAB3}Do you want add meilisearch-ui? [y/n]: " prompt
|
read -r -p "${TAB3}Do you want add meilisearch-ui? [y/n]: " prompt
|
||||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||||
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
|
||||||
|
|
||||||
msg_info "Setup ${APPLICATION}-ui"
|
msg_info "Setup ${APPLICATION}-ui"
|
||||||
tmp_file=$(mktemp)
|
tmp_file=$(mktemp)
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ $STD apt-get install -y \
|
|||||||
tzdata
|
tzdata
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
|
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
|
||||||
install_go
|
setup_go
|
||||||
|
|
||||||
msg_info "Installing Memos (Patience)"
|
msg_info "Installing Memos (Patience)"
|
||||||
mkdir -p /opt/memos_data
|
mkdir -p /opt/memos_data
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
|
|||||||
$STD apt-get install -y ca-certificates
|
$STD apt-get install -y ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing MeshCentral"
|
msg_info "Installing MeshCentral"
|
||||||
mkdir /opt/meshcentral
|
mkdir /opt/meshcentral
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ $STD apt-get install -y \
|
|||||||
python3-venv
|
python3-venv
|
||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing MeTube"
|
msg_info "Installing MeTube"
|
||||||
$STD git clone https://github.com/alexta69/metube /opt/metube
|
$STD git clone https://github.com/alexta69/metube /opt/metube
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ $STD apt-get install -y \
|
|||||||
composer
|
composer
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
install_mariadb
|
setup_mariadb
|
||||||
NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules
|
NODE_VERSION="20" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
|
|
||||||
msg_info "Setting up MariaDB"
|
msg_info "Setting up MariaDB"
|
||||||
DB_NAME=monica
|
DB_NAME=monica
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ $STD apt-get install -y \
|
|||||||
ca-certificates
|
ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing MySpeed"
|
msg_info "Installing MySpeed"
|
||||||
RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5)
|
RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5)
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ $STD apt-get install -y \
|
|||||||
ca-certificates
|
ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing n8n (Patience)"
|
msg_info "Installing n8n (Patience)"
|
||||||
$STD npm install --global patch-package
|
$STD npm install --global patch-package
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ $STD apt-get install -y \
|
|||||||
zlib1g-dev
|
zlib1g-dev
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
|
|
||||||
msg_info "Installing Python"
|
msg_info "Installing Python"
|
||||||
$STD apt-get install -y \
|
$STD apt-get install -y \
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ $STD apt-get install -y \
|
|||||||
ca-certificates
|
ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Node-Red"
|
msg_info "Installing Node-Red"
|
||||||
$STD npm install -g --unsafe-perm node-red
|
$STD npm install -g --unsafe-perm node-red
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ $STD apt-get install -y \
|
|||||||
ca-certificates
|
ca-certificates
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
install_mongodb
|
setup_mongodb
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Configure MongoDB"
|
msg_info "Configure MongoDB"
|
||||||
MONGO_ADMIN_USER="admin"
|
MONGO_ADMIN_USER="admin"
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ $STD apt-get install -y --no-install-recommends \
|
|||||||
python3-pip
|
python3-pip
|
||||||
msg_ok "Setup Python3"
|
msg_ok "Setup Python3"
|
||||||
|
|
||||||
NODE_VERSION="22" install_node_and_modules
|
NODE_VERSION="22" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Open WebUI (Patience)"
|
msg_info "Installing Open WebUI (Patience)"
|
||||||
$STD git clone https://github.com/open-webui/open-webui.git /opt/open-webui
|
$STD git clone https://github.com/open-webui/open-webui.git /opt/open-webui
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ $STD apt-get install -y \
|
|||||||
redis
|
redis
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules
|
NODE_VERSION="20" NODE_MODULE="yarn@latest" setup_nodejs
|
||||||
PG_VERSION="16" install_postgresql
|
PG_VERSION="16" setup_postgresql
|
||||||
|
|
||||||
msg_info "Set up PostgreSQL Database"
|
msg_info "Set up PostgreSQL Database"
|
||||||
DB_NAME="outline"
|
DB_NAME="outline"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user