Compare commits

...

82 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
d25a12c87e Update CHANGELOG.md (#7230)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-27 00:14:23 +00:00
community-scripts-pr-app[bot]
e24315c50b Update versions.json (#7229)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-27 02:14:00 +02:00
community-scripts-pr-app[bot]
753ed67b50 Update CHANGELOG.md (#7223)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 13:13:41 +00:00
CanbiZ
d6e498050f Refactor: Post-PBS Script (#7213) 2025-08-26 15:13:16 +02:00
community-scripts-pr-app[bot]
4a69a7b39f Update CHANGELOG.md (#7222)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 12:15:48 +00:00
community-scripts-pr-app[bot]
1dcde93b4a Update date in json (#7221)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-26 12:15:18 +00:00
push-app-to-main[bot]
663c6570f4 tracktor (#7190)
* 'Add new script'

* Update tracktor.sh

* Update tracktor.json

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-08-26 14:14:52 +02:00
community-scripts-pr-app[bot]
6a17e25871 Update CHANGELOG.md (#7220)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 12:10:28 +00:00
Slaviša Arežina
e609552cec Update docs URL (#7201) 2025-08-26 14:10:01 +02:00
community-scripts-pr-app[bot]
bd4b781c9e Update CHANGELOG.md (#7219)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 12:07:45 +00:00
CanbiZ
7eb6715a1f PBS: Upgrade Script for v4 (#7214)
* Refactor: Post-PBS Script

* PBS4-Upgrade-Script

* Remove unintended changes to post-pbs-install.sh
2025-08-26 14:07:16 +02:00
community-scripts-pr-app[bot]
aa0190978f Update versions.json (#7218)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 14:06:17 +02:00
community-scripts-pr-app[bot]
e0f5e588e0 Update CHANGELOG.md (#7217)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 12:05:55 +00:00
CanbiZ
3949e2e049 Refactor: Post-PMG-Script (#7212) 2025-08-26 14:05:30 +02:00
community-scripts-pr-app[bot]
ab4560b879 Update date in json (#7216)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-26 11:09:30 +00:00
CanbiZ
b8f854e7ad Create searxng.json 2025-08-26 13:08:56 +02:00
community-scripts-pr-app[bot]
ea1c5b4561 Update CHANGELOG.md (#7209)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 00:13:12 +00:00
community-scripts-pr-app[bot]
957eea7a0f Update versions.json (#7208)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-26 02:12:53 +02:00
community-scripts-pr-app[bot]
476fcedfe0 Update CHANGELOG.md (#7206)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 20:55:19 +00:00
community-scripts-pr-app[bot]
d590e91597 Update CHANGELOG.md (#7205)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 20:50:00 +00:00
Chris
8c796a0870 Immich: bump to v1.139.4 (#7138) 2025-08-25 22:49:38 +02:00
community-scripts-pr-app[bot]
b57efdb78a Update CHANGELOG.md (#7204)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 19:22:24 +00:00
Slaviša Arežina
2cc3ce1ea1 Update komodo.sh (#7202) 2025-08-25 21:21:59 +02:00
community-scripts-pr-app[bot]
468defcd97 Update CHANGELOG.md (#7203)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 19:08:52 +00:00
Slaviša Arežina
78398309c0 Fix website and docs URL (#7199) 2025-08-25 21:08:25 +02:00
community-scripts-pr-app[bot]
08d1d7be62 Update CHANGELOG.md (#7200)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 18:03:00 +00:00
Slaviša Arežina
05a4fcd471 Fix update (#7198) 2025-08-25 20:02:37 +02:00
community-scripts-pr-app[bot]
36acf4aaae Update CHANGELOG.md (#7197)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 17:14:25 +00:00
Paladin
4182815b4c FileBrowser Quantum: safer update (tmp download + atomic replace + arch autodetect) (#7174)
* FileBrowser Quantum: safer update (tmp download + atomic replace + arch autodetect)

**What**
Safer updater for FileBrowser Quantum addon:
- Download to temp file, then atomic `mv` into INSTALL_PATH
- Stop/start service around the swap
- CPU arch autodetect (amd64/arm64/armv7/armv6)
- Proper error handling & version verification before printing success

**Why**
Current update streams `curl` directly to `/usr/local/bin/filebrowser` and prints success even if `curl` fails.
I hit:

* fix(filebrowser-quantum): add missing `fi` before install section

Closes the conditional started with `if [[ -f "$INSTALL_PATH" ]]` so the script doesn’t hit a bash syntax error when reaching the install path.

* refactor(update): minimal fix - temp file + atomic mv; amd64 only

* style(update): remove comments/blank lines; drop restart (alpine-safe)
2025-08-25 19:14:01 +02:00
community-scripts-pr-app[bot]
73a0910239 Update CHANGELOG.md (#7196)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 17:11:00 +00:00
Slaviša Arežina
bd6626e919 Komodo: Generate admin users password (#7193)
* Fix admin login

* fix json

* Add credentials to creds file
2025-08-25 19:10:41 +02:00
community-scripts-pr-app[bot]
3ad6cdf85a Update .app files (#7195)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-25 19:10:37 +02:00
community-scripts-pr-app[bot]
732bb75e9b Update CHANGELOG.md (#7194)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 17:06:29 +00:00
Slaviša Arežina
d372b45a95 Add Alpine-RustDesk Server script (#7191)
* Add RustDesk server

* VED>VE
2025-08-25 19:06:04 +02:00
CanbiZ
df564ace13 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVE 2025-08-25 14:23:27 +02:00
community-scripts-pr-app[bot]
d2b28413eb Update CHANGELOG.md (#7187)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:22:00 +00:00
community-scripts-pr-app[bot]
b93a30ffb0 Update CHANGELOG.md (#7186)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:21:40 +00:00
community-scripts-pr-app[bot]
a4044b1cfd Update CHANGELOG.md (#7185)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:21:30 +00:00
CanbiZ
83eb2da451 [core]: uv uses now "update-shell" command (#7172)
* [core]: uv uses now "update-shell" command

* Improve uv shell integration setup process

Refactor uv shell integration setup with improved error handling.
2025-08-25 14:21:18 +02:00
community-scripts-pr-app[bot]
9fda9f34c5 Update CHANGELOG.md (#7183)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:21:12 +00:00
community-scripts-pr-app[bot]
3715ea5946 Update date in json (#7184)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:21:09 +00:00
community-scripts-pr-app[bot]
de2d8d0e75 Update CHANGELOG.md (#7182)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:20:51 +00:00
push-app-to-main[bot]
9f6abbe572 'Add new script' (#7178)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-08-25 14:20:48 +02:00
push-app-to-main[bot]
d90a071d88 healthchecks (#7177)
* 'Add new script'

* add missing source

* Update documentation URL in healthchecks.

* Update source URL in healthchecks-install.sh

* Update healthchecks.json with additional notes

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-08-25 14:20:38 +02:00
CanbiZ
69dd06b107 [core]: tools.func - better verbose for postgresql (#7173) 2025-08-25 14:20:30 +02:00
CanbiZ
2be054a004 Merge branch 'main' of https://github.com/community-scripts/ProxmoxVE 2025-08-25 14:20:07 +02:00
CanbiZ
a2fcd3992e Update create_lxc.sh 2025-08-25 14:19:58 +02:00
community-scripts-pr-app[bot]
9a92df420e Update CHANGELOG.md (#7181)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:11:45 +00:00
Slaviša Arežina
c6864c74bc Update n8n.sh (#7176) 2025-08-25 14:11:26 +02:00
community-scripts-pr-app[bot]
941457b392 Update CHANGELOG.md (#7180)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 12:11:17 +00:00
Slaviša Arežina
e84ea56a8f Update php config to 8.3 (#7171) 2025-08-25 14:10:52 +02:00
community-scripts-pr-app[bot]
0d36d64454 Update versions.json (#7179)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 14:06:41 +02:00
CanbiZ
74b2407c53 alpine: add source for tools 2025-08-25 14:05:55 +02:00
community-scripts-pr-app[bot]
b97331282f Update CHANGELOG.md (#7170)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 04:59:26 +00:00
Slaviša Arežina
fed5ebd9c8 Lidarr: Fix RELEASE variable fetching (#7162) 2025-08-25 06:59:01 +02:00
community-scripts-pr-app[bot]
be4a6f1a4f Update CHANGELOG.md (#7168)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 00:13:09 +00:00
community-scripts-pr-app[bot]
b383d43d9c Update versions.json (#7167)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-25 02:12:50 +02:00
community-scripts-pr-app[bot]
54b676b529 Update CHANGELOG.md (#7158)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-24 18:48:31 +00:00
Slaviša Arežina
d465ca87f2 Switch to v2 stable (#7150) 2025-08-24 20:48:08 +02:00
community-scripts-pr-app[bot]
e32c2b7dea Update CHANGELOG.md (#7156)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-24 16:30:00 +00:00
Slaviša Arežina
444cbc2aa1 BookLore: Fix Nginx config (#7155) 2025-08-24 18:29:40 +02:00
community-scripts-pr-app[bot]
497622832e Update versions.json (#7151)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-24 14:05:59 +02:00
community-scripts-pr-app[bot]
f36ac8831e Update CHANGELOG.md (#7145)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-24 07:32:25 +00:00
Slaviša Arežina
66049f400c Fix install log parsing (#7140) 2025-08-24 09:32:04 +02:00
CanbiZ
8daa235a88 cat improvement 2025-08-24 08:08:35 +02:00
community-scripts-pr-app[bot]
072595c8fb Update CHANGELOG.md (#7142)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-24 00:14:50 +00:00
community-scripts-pr-app[bot]
85f8e5cd73 Update versions.json (#7141)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-24 02:14:29 +02:00
community-scripts-pr-app[bot]
07fbcf57d4 Update CHANGELOG.md (#7139)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-23 20:06:23 +00:00
Slaviša Arežina
f09c5db961 Fix file names (#7136) 2025-08-23 22:05:57 +02:00
community-scripts-pr-app[bot]
c1e93d7d79 Update CHANGELOG.md (#7134)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-23 14:40:40 +00:00
Slaviša Arežina
292e48f4b4 Fix env path (#7130) 2025-08-23 16:40:16 +02:00
Slaviša Arežina
1d8b8c87bd Update prometheus-install.sh (#7126) 2025-08-23 16:39:55 +02:00
community-scripts-pr-app[bot]
acfcf98273 Update versions.json (#7132)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-23 14:04:41 +02:00
community-scripts-pr-app[bot]
5bb15dedae Update CHANGELOG.md (#7129)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-23 08:26:45 +00:00
Slaviša Arežina
07394b9a7d Refactor (#7096) 2025-08-23 10:26:30 +02:00
Slaviša Arežina
1fce2de5c1 Refactor (#7091) 2025-08-23 10:26:04 +02:00
community-scripts-pr-app[bot]
88579d4be3 Update CHANGELOG.md (#7128)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-23 08:25:47 +00:00
Slaviša Arežina
e7ccf9a512 Refactor: Radarr (#7088)
* Refactor

* Update radarr.sh
2025-08-23 10:25:28 +02:00
community-scripts-pr-app[bot]
52a9ad733d Update CHANGELOG.md (#7127)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-23 08:25:24 +00:00
Slaviša Arežina
23f65d0eb7 Refactor: Snipe-IT (#7081)
* Refactor

* Update snipeit.sh

* Update
2025-08-23 10:24:57 +02:00
community-scripts-pr-app[bot]
aece852e10 Update CHANGELOG.md (#7124)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-08-23 05:43:35 +00:00
Chris
d7dea7cc5d Immich: v1.139.2 (#7116)
* Switch to pnpm for build

- The Immich repo now uses pnpm to build the server, web/api and cli

* streamline dependency installation

- remove unnecessary duplicates
- install libaom-dev from testing repo

* Bump version to v1.139.2
2025-08-23 07:43:16 +02:00
120 changed files with 2695 additions and 1226 deletions

View File

@@ -10,8 +10,94 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-08-27
## 2025-08-26
### 🆕 New Scripts
- tracktor ([#7190](https://github.com/community-scripts/ProxmoxVE/pull/7190))
- PBS: Upgrade Script for v4 [@MickLesk](https://github.com/MickLesk) ([#7214](https://github.com/community-scripts/ProxmoxVE/pull/7214))
### 🚀 Updated Scripts
- #### ✨ New Features
- Refactor: Post-PBS-Script [@MickLesk](https://github.com/MickLesk) ([#7213](https://github.com/community-scripts/ProxmoxVE/pull/7213))
- Refactor: Post-PMG-Script [@MickLesk](https://github.com/MickLesk) ([#7212](https://github.com/community-scripts/ProxmoxVE/pull/7212))
### 🌐 Website
- #### 📝 Script Information
- [website] Update documentation URLs [@tremor021](https://github.com/tremor021) ([#7201](https://github.com/community-scripts/ProxmoxVE/pull/7201))
## 2025-08-25
### 🆕 New Scripts
- Alpine-RustDesk Server [@tremor021](https://github.com/tremor021) ([#7191](https://github.com/community-scripts/ProxmoxVE/pull/7191))
- Alpine-Redlib ([#7178](https://github.com/community-scripts/ProxmoxVE/pull/7178))
- healthchecks ([#7177](https://github.com/community-scripts/ProxmoxVE/pull/7177))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- FileBrowser Quantum: safer update (tmp download + atomic replace + arch autodetect) [@CommanderPaladin](https://github.com/CommanderPaladin) ([#7174](https://github.com/community-scripts/ProxmoxVE/pull/7174))
- Immich: bump to v1.139.4 [@vhsdream](https://github.com/vhsdream) ([#7138](https://github.com/community-scripts/ProxmoxVE/pull/7138))
- Komodo: Fix compose.env path [@tremor021](https://github.com/tremor021) ([#7202](https://github.com/community-scripts/ProxmoxVE/pull/7202))
- Komodo: Fix update procedure and missing env var [@tremor021](https://github.com/tremor021) ([#7198](https://github.com/community-scripts/ProxmoxVE/pull/7198))
- SnipeIT: Update nginx config to v8.3 [@tremor021](https://github.com/tremor021) ([#7171](https://github.com/community-scripts/ProxmoxVE/pull/7171))
- Lidarr: Fix RELEASE variable fetching [@tremor021](https://github.com/tremor021) ([#7162](https://github.com/community-scripts/ProxmoxVE/pull/7162))
- #### ✨ New Features
- Komodo: Generate admin users password [@tremor021](https://github.com/tremor021) ([#7193](https://github.com/community-scripts/ProxmoxVE/pull/7193))
- [core]: uv uses now "update-shell" command [@MickLesk](https://github.com/MickLesk) ([#7172](https://github.com/community-scripts/ProxmoxVE/pull/7172))
- [core]: tools.func - better verbose for postgresql [@MickLesk](https://github.com/MickLesk) ([#7173](https://github.com/community-scripts/ProxmoxVE/pull/7173))
- n8n: Force update to NodeJS v22 [@tremor021](https://github.com/tremor021) ([#7176](https://github.com/community-scripts/ProxmoxVE/pull/7176))
### 🌐 Website
- #### 📝 Script Information
- 2FAuth: Fix website and docs URLs [@tremor021](https://github.com/tremor021) ([#7199](https://github.com/community-scripts/ProxmoxVE/pull/7199))
## 2025-08-24
### 🚀 Updated Scripts
- Kasm: Fix install log parsing [@tremor021](https://github.com/tremor021) ([#7140](https://github.com/community-scripts/ProxmoxVE/pull/7140))
- #### 🐞 Bug Fixes
- BookLore: Fix Nginx config [@tremor021](https://github.com/tremor021) ([#7155](https://github.com/community-scripts/ProxmoxVE/pull/7155))
- #### ✨ New Features
- Syncthing: Switch to v2 stable repository [@tremor021](https://github.com/tremor021) ([#7150](https://github.com/community-scripts/ProxmoxVE/pull/7150))
## 2025-08-23
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- qBittorrent: Fix file names [@tremor021](https://github.com/tremor021) ([#7136](https://github.com/community-scripts/ProxmoxVE/pull/7136))
- Tandoor: Fix env path [@tremor021](https://github.com/tremor021) ([#7130](https://github.com/community-scripts/ProxmoxVE/pull/7130))
- #### 💥 Breaking Changes
- Immich: v1.139.2 [@vhsdream](https://github.com/vhsdream) ([#7116](https://github.com/community-scripts/ProxmoxVE/pull/7116))
- #### 🔧 Refactor
- Refactor: Pf2eTools [@tremor021](https://github.com/tremor021) ([#7096](https://github.com/community-scripts/ProxmoxVE/pull/7096))
- Refactor: Prowlarr [@tremor021](https://github.com/tremor021) ([#7091](https://github.com/community-scripts/ProxmoxVE/pull/7091))
- Refactor: Radarr [@tremor021](https://github.com/tremor021) ([#7088](https://github.com/community-scripts/ProxmoxVE/pull/7088))
- Refactor: Snipe-IT [@tremor021](https://github.com/tremor021) ([#7081](https://github.com/community-scripts/ProxmoxVE/pull/7081))
## 2025-08-22
### 🚀 Updated Scripts

56
ct/alpine-redlib.sh Normal file
View File

@@ -0,0 +1,56 @@
#!/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: andrej-kocijan (Andrej Kocijan)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/redlib-org/redlib
APP="Alpine-Redlib"
var_tags="${var_tags:-alpine;frontend}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.22}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_resources
if [[ ! -d /opt/redlib ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating Alpine Packages"
$STD apk -U upgrade
msg_ok "Updated Alpine Packages"
msg_info "Stopping ${APP} Service"
$STD rc-service redlib stop
msg_ok "Stopped ${APP} Service"
fetch_and_deploy_gh_release "redlib" "redlib-org/redlib" "prebuild" "latest" "/opt/redlib" "redlib-x86_64-unknown-linux-musl.tar.gz"
msg_info "Starting ${APP} Service"
$STD rc-service redlib start
msg_ok "Started ${APP} Service"
msg_ok "Update Successful"
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}:5252${CL}"

View File

@@ -0,0 +1,74 @@
#!/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: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/rustdesk/rustdesk-server
APP="Alpine-RustDeskServer"
var_tags="${var_tags:-alpine;monitoring}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-3}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.22}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
if [[ ! -d /opt/rustdesk-server ]]; then
msg_error "No ${APP} Installation Found!"
exit 1
fi
APIRELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
RELEASE=$(curl -s https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [ "${RELEASE}" != "$(cat ~/.rustdesk-server 2>/dev/null)" ] || [ ! -f ~/.rustdesk-server ]; then
msg_info "Updating RustDesk Server to v${RELEASE}"
$STD apk -U upgrade
$STD service rustdesk-server-hbbs stop
$STD service rustdesk-server-hbbr stop
temp_file1=$(mktemp)
curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1"
$STD unzip "$temp_file1"
cp -r amd64/* /opt/rustdesk-server/
echo "${RELEASE}" >~/.rustdesk-server
$STD service rustdesk-server-hbbs start
$STD service rustdesk-server-hbbr start
rm -rf amd64
rm -f $temp_file1
msg_ok "Updated RustDesk Server successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
if [ "${APIRELEASE}" != "$(cat ~/.rustdesk-api)" ] || [ ! -f ~/.rustdesk-api ]; then
msg_info "Updating RustDesk API to v${APIRELEASE}"
$STD service rustdesk-api stop
temp_file2=$(mktemp)
curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-amd64.tar.gz" -o "$temp_file2"
$STD tar zxvf "$temp_file2"
cp -r release/* /opt/rustdesk-api
echo "${APIRELEASE}" >~/.rustdesk-api
$STD service rustdesk-api start
rm -rf release
rm -f $temp_file2
msg_ok "Updated RustDesk API"
else
msg_ok "No update required. RustDesk API is already at v${APIRELEASE}"
fi
exit 0
}
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 IP:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:21114${CL}"

6
ct/headers/alpine-redlib Normal file
View File

@@ -0,0 +1,6 @@
___ __ _ ____ _____ __
/ | / /___ (_)___ ___ / __ \___ ____/ / (_) /_
/ /| | / / __ \/ / __ \/ _ \______/ /_/ / _ \/ __ / / / __ \
/ ___ |/ / /_/ / / / / / __/_____/ _, _/ __/ /_/ / / / /_/ /
/_/ |_/_/ .___/_/_/ /_/\___/ /_/ |_|\___/\__,_/_/_/_.___/
/_/

View File

@@ -0,0 +1,6 @@
___ __ _ ____ __ ____ __ _____
/ | / /___ (_)___ ___ / __ \__ _______/ /_/ __ \___ _____/ /__/ ___/___ ______ _____ _____
/ /| | / / __ \/ / __ \/ _ \______/ /_/ / / / / ___/ __/ / / / _ \/ ___/ //_/\__ \/ _ \/ ___/ | / / _ \/ ___/
/ ___ |/ / /_/ / / / / / __/_____/ _, _/ /_/ (__ ) /_/ /_/ / __(__ ) ,< ___/ / __/ / | |/ / __/ /
/_/ |_/_/ .___/_/_/ /_/\___/ /_/ |_|\__,_/____/\__/_____/\___/____/_/|_|/____/\___/_/ |___/\___/_/
/_/

6
ct/headers/healthchecks Normal file
View File

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

6
ct/headers/tracktor Normal file
View File

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

70
ct/healthchecks.sh Normal file
View File

@@ -0,0 +1,70 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://healthchecks.io/
APP="healthchecks"
var_tags="${var_tags:-monitoring}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-5}"
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/healthchecks ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/healthchecks/healthchecks/releases/latest | jq '.tag_name' | sed 's/^"v//;s/"$//')
if [[ "${RELEASE}" != "$(cat ~/.healthchecks 2>/dev/null)" ]] || [[ ! -f ~/.healthchecks ]]; then
msg_info "Stopping $APP"
systemctl stop healthchecks
msg_ok "Stopped $APP"
setup_uv
fetch_and_deploy_gh_release "healthchecks" "healthchecks/healthchecks"
msg_info "Updating $APP to v${RELEASE}"
cd /opt/healthchecks
mkdir -p /opt/healthchecks/static-collected/
$STD uv pip install wheel gunicorn -r requirements.txt --system
$STD uv run -- python manage.py makemigrations
$STD uv run -- python manage.py migrate --noinput
$STD uv run -- python manage.py collectstatic --noinput
$STD uv run -- python manage.py compress
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start healthchecks
systemctl restart caddy
msg_ok "Started $APP"
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}https://${IP}${CL}"

View File

@@ -29,6 +29,8 @@ function update_script() {
fi
setup_uv
PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')"
NODE_VERSION="22" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
STAGING_DIR=/opt/staging
BASE_DIR=${STAGING_DIR}/base-images
@@ -59,7 +61,7 @@ function update_script() {
done
msg_ok "Image-processing libraries up to date"
fi
RELEASE="1.138.1"
RELEASE="1.139.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 [[ -f ~/.immich && "$RELEASE" == "$(cat ~/.immich)" ]]; then
msg_ok "No update required. ${APP} is already at v${RELEASE}"
@@ -116,8 +118,12 @@ set +a
EOF
chmod +x "$INSTALL_DIR"/start.sh
fi
(
shopt -s dotglob
rm -rf "${APP_DIR:?}"/*
mkdir -p "$ML_DIR"
)
rm -rf "$SRC_DIR"
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v${RELEASE}" "$SRC_DIR"
@@ -127,30 +133,36 @@ EOF
if [[ "$RELEASE" == "1.135.1" ]]; then
rm ./src/schema/migrations/1750323941566-UnsetPrewarmDimParameter.ts
fi
$STD npm install -g node-gyp node-pre-gyp
$STD npm ci
$STD npm run build
$STD npm prune --omit=dev --omit=optional
cp -a {bin,dist,node_modules,resources,package*.json} "$APP_DIR"/
cp package.json "$APP_DIR"/bin
mv "$INSTALL_DIR"/start.sh "$APP_DIR"/bin
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
export CI=1
corepack enable
# server build
export SHARP_IGNORE_GLOBAL_LIBVIPS=true
$STD pnpm --filter immich --frozen-lockfile build
unset SHARP_IGNORE_GLOBAL_LIBVIPS
export SHARP_FORCE_GLOBAL_LIBVIPS=true
$STD pnpm --filter immich --frozen-lockfile --prod --no-optional deploy "$APP_DIR"
cp "$APP_DIR"/package.json "$APP_DIR"/bin
sed -i 's|^start|./start|' "$APP_DIR"/bin/immich-admin
cd "$SRC_DIR"/open-api/typescript-sdk
$STD npm ci
$STD npm run build
cd "$SRC_DIR"/web
$STD npm ci
$STD npm run build
# openapi & web build
cd "$SRC_DIR"
$STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install
$STD pnpm --filter @immich/sdk --filter immich-web build
cp -a web/build "$APP_DIR"/www
cp LICENSE "$APP_DIR"
# cli build
$STD pnpm --filter @immich/sdk --filter @immich/cli --frozen-lockfile install
$STD pnpm --filter @immich/sdk --filter @immich/cli build
$STD pnpm --filter @immich/cli --prod --no-optional deploy "$APP_DIR"/cli
cd "$APP_DIR"
export SHARP_FORCE_GLOBAL_LIBVIPS=true
$STD npm install sharp
rm -rf "$APP_DIR"/node_modules/@img/sharp-{libvips*,linuxmusl-x64}
mv "$INSTALL_DIR"/start.sh "$APP_DIR"/bin
msg_ok "Updated ${APP} web and microservices"
cd "$SRC_DIR"/machine-learning
mkdir -p "$ML_DIR"
export VIRTUAL_ENV="${ML_DIR}"/ml-venv
$STD /usr/local/bin/uv venv "$VIRTUAL_ENV"
if [[ -f ~/.openvino ]]; then
@@ -178,10 +190,6 @@ EOF
ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$ML_DIR"/upload
ln -s "$GEO_DIR" "$APP_DIR"
msg_info "Updating Immich CLI"
$STD npm i -g @immich/cli
msg_ok "Updated Immich CLI"
chown -R immich:immich "$INSTALL_DIR"
if [[ ! -f ~/.debian_version.bak ]]; then
cp /etc/debian_version ~/.debian_version.bak

View File

@@ -56,6 +56,9 @@ function update_script() {
mv "$BACKUP_FILE" "$COMPOSE_FILE"
exit 1
fi
if ! grep -qxF 'COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env; then
sed -i '/^COMPOSE_KOMODO_IMAGE_TAG=latest$/a COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups' /opt/komodo/compose.env
fi
$STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d
msg_ok "Updated ${APP}"
exit

View File

@@ -28,6 +28,10 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
if ! command -v jq &>/dev/null; then
$STD apt-get update
$STD apt-get install -y jq
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.lidarr)" ]] || [[ ! -f ~/.lidarr ]]; then

View File

@@ -27,13 +27,6 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..."
$STD apt-get install -y npm
echo "Installed NPM..."
fi
fi
if [ ! -f /opt/n8n.env ]; then
sed -i 's|^Environment="N8N_SECURE_COOKIE=false"$|EnvironmentFile=/opt/n8n.env|' /etc/systemd/system/n8n.service
HOST_IP=$(hostname -I | awk '{print $1}')
@@ -45,6 +38,7 @@ N8N_PROTOCOL=http
N8N_HOST=$HOST_IP
EOF
fi
NODE_VERSION="22" setup_nodejs
msg_info "Updating ${APP} LXC"
$STD npm update -g n8n

View File

@@ -29,30 +29,25 @@ function update_script() {
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/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
RELEASE=$(curl -fsSL https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat ~/.pf2etools 2>/dev/null)" ]] || [[ ! -f ~/.pf2etools ]]; then
msg_info "Updating System"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated System"
rm -rf /opt/Pf2eTools
fetch_and_deploy_gh_release "pf2etools" "Pf2eToolsOrg/Pf2eTools" "tarball" "latest" "/opt/Pf2eTools"
msg_info "Updating ${APP}"
cd /opt
curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip")
$STD unzip ${RELEASE}.zip
rm -rf "/opt/${APP}"
mv ${APP}-${RELEASE:1} /opt/${APP}
cd /opt/Pf2eTools
$STD npm install
$STD npm run build
chown -R www-data: "/opt/${APP}"
chmod -R 755 "/opt/${APP}"
echo "${RELEASE}" >"/opt/${APP}_version.txt"
msg_ok "Updated ${APP}"
msg_info "Cleaning Up"
rm -rf /opt/${RELEASE}.zip
msg_ok "Cleanup Completed"
msg_ok "Updated successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi

View File

@@ -23,25 +23,21 @@ function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /var/lib/prowlarr/ ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
temp_file="$(mktemp)"
rm -rf /opt/Prowlarr
RELEASE=$(curl -fsSL https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/Prowlarr/Prowlarr/releases/download/v${RELEASE}/Prowlarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
$STD tar -xvzf "$temp_file"
mv Prowlarr /opt
if [[ "${RELEASE}" != "$(cat ~/.prowlarr 2>/dev/null)" ]] || [[ ! -f ~/.prowlarr ]]; then
rm -rf /opt/Prowlarr
fetch_and_deploy_gh_release "prowlarr" "Prowlarr/Prowlarr" "prebuild" "latest" "/opt/Prowlarr" "Prowlarr.master*linux-core-x64.tar.gz"
chmod 775 /opt/Prowlarr
msg_ok "Updated $APP LXC"
msg_ok "Successfully updated"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
msg_info "Cleaning up"
rm -f "$temp_file"
msg_ok "Cleaned up"
exit
}

View File

@@ -38,8 +38,9 @@ function update_script() {
systemctl stop qbittorrent-nox
msg_ok "Stopped Service"
rm -f /opt/qbittorrent/qbittorrent-nox
fetch_and_deploy_gh_release "qbittorrent" "userdocs/qbittorrent-nox-static" "singlefile" "latest" "/opt/qbittorrent" "x86_64-qbittorrent-nox"
mv /opt/qbittorrent/x86_64-qbittorrent-nox /opt/qbittorrent/qbittorrent-nox
mv /opt/qbittorrent/qbittorrent /opt/qbittorrent/qbittorrent-nox
msg_info "Starting Service"
systemctl start qbittorrent-nox

View File

@@ -29,19 +29,16 @@ function update_script() {
exit
fi
msg_info "Updating $APP LXC"
temp_file="$(mktemp)"
RELEASE=$(curl -fsSL https://api.github.com/repos/Radarr/Radarr/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ ! -f ~/.radarr ]] || [[ "$RELEASE" != "$(cat ~/.radarr 2>/dev/null)" ]]; then
rm -rf /opt/Radarr
RELEASE=$(curl -fsSL https://api.github.com/repos/Radarr/Radarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/Radarr/Radarr/releases/download/v${RELEASE}/Radarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
$STD tar -xvzf "$temp_file"
mv Radarr /opt
fetch_and_deploy_gh_release "Radarr" "Radarr/Radarr" "prebuild" "latest" "/opt/Radarr" "Radarr.master*linux-core-x64.tar.gz"
chmod 775 /opt/Radarr
msg_ok "Updated $APP LXC"
msg_ok "Updated successfully"
else
msg_ok "No update required. $APP is already at v${RELEASE}"
fi
msg_info "Cleaning up"
rm -rf "$temp_file"
msg_ok "Cleaned up"
exit
}

View File

@@ -27,20 +27,25 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/snipe/snipe-it/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "v([^"]+).*/\1/')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
if [[ ! -f ~/.snipe-it ]] || [[ "${RELEASE}" != "$(cat ~/.snipe-it 2>/dev/null)" ]]; then
msg_info "Stopping Services"
systemctl stop nginx
msg_ok "Services Stopped"
msg_info "Creating backup"
mv /opt/snipe-it /opt/snipe-it-backup
msg_ok "Backup created"
fetch_and_deploy_gh_release "snipe-it" "snipe/snipe-it" "tarball"
[[ "$(php -v 2>/dev/null)" == PHP\ 8.2* ]] && PHP_VERSION="8.3" PHP_MODULE="common,ctype,ldap,fileinfo,iconv,mysql,soap,xsl" PHP_FPM="YES" setup_php
sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/snipeit.conf
setup_composer
msg_info "Updating ${APP} to v${RELEASE}"
$STD apt-get update
$STD apt-get -y upgrade
mv /opt/snipe-it /opt/snipe-it-backup
temp_file=$(mktemp)
curl -fsSL "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar zxf "$temp_file"
mv "snipe-it-${RELEASE}" /opt/snipe-it
cp /opt/snipe-it-backup/.env /opt/snipe-it/.env
cp -r /opt/snipe-it-backup/public/uploads/ /opt/snipe-it/public/uploads/
cp -r /opt/snipe-it-backup/storage/private_uploads /opt/snipe-it/storage/private_uploads
@@ -55,7 +60,6 @@ function update_script() {
$STD php artisan view:clear
chown -R www-data: /opt/snipe-it
chmod -R 755 /opt/snipe-it
rm -rf "$temp_file"
rm -rf /opt/snipe-it-backup
msg_ok "Updated ${APP}"

View File

@@ -49,7 +49,7 @@ function update_script() {
msg_info "Updating $APP to ${RELEASE}"
cp -r /opt/tandoor.bak/{config,api,mediafiles,staticfiles} /opt/tandoor/
mv /opt/.env /opt/tandoor/.env
mv /opt/tandoor.bak/.env /opt/tandoor/.env
cd /opt/tandoor
$STD uv venv .venv --python=python3
$STD uv pip install -r requirements.txt --python .venv/bin/python

72
ct/tracktor.sh Normal file
View File

@@ -0,0 +1,72 @@
#!/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: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://tracktor.bytedge.in/
APP="tracktor"
var_tags="${var_tags:-car;monitoring}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-6}"
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/tracktor ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/javedh-dev/tracktor/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ "${RELEASE}" != "$(cat ~/.tracktor 2>/dev/null)" ]] || [[ ! -f ~/.tracktor ]]; then
msg_info "Stopping Service"
systemctl stop tracktor
msg_ok "Stopped Service"
msg_info "Creating Backup"
cp /opt/tracktor/app/backend/.env /opt/tracktor.env
msg_ok "Created Backup"
setup_nodejs
fetch_and_deploy_gh_release "tracktor" "javedh-dev/tracktor" "tarball" "latest" "/opt/tracktor"
msg_info "Updating ${APP}"
cd /opt/tracktor
$STD npm install
$STD npm run build
msg_ok "Updated $APP"
msg_info "Restoring Backup"
cp /opt/tracktor.env /opt/tracktor/app/backend/.env
msg_ok "Restored Backup"
msg_info "Starting Service"
systemctl start tracktor
msg_ok "Started Service"
msg_ok "Updated Successfully"
else
msg_ok "Already up to date"
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}:3000${CL}"

View File

@@ -9,8 +9,8 @@
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": null,
"website": "https://docs.2fauth.app/",
"documentation": "https://docs.2fauth.app/",
"website": "https://2fauth.app/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/2fauth.webp",
"config_path": "cat /opt/2fauth/.env",
"description": "2FAuth is a web based self-hosted alternative to One Time Passcode (OTP) generators like Google Authenticator, designed for both mobile and desktop. It aims to ease you perform your 2FA authentication steps whatever the device you handle, with a clean and suitable interface.",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 8080,
"documentation": null,
"documentation": "https://guacamole.apache.org/doc/gug/",
"website": "https://guacamole.apache.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/apache-guacamole.webp",
"config_path": "/etc/guacamole/guacd.conf",

View File

@@ -9,10 +9,10 @@
"updateable": false,
"privileged": false,
"interface_port": 3142,
"documentation": null,
"documentation": "https://www.unix-ag.uni-kl.de/~bloch/acng/html/index.html",
"website": "https://www.unix-ag.uni-kl.de/~bloch/acng/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/linux.webp",
"config_path": "",
"config_path": "/etc/apt-cacher-ng/acng.conf",
"description": "Apt-Cacher-NG is a caching proxy. Specialized for package files from Linux distributors, primarily for Debian (and Debian based) distributions.",
"install_methods": [
{

View File

@@ -9,8 +9,8 @@
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,
"website": null,
"documentation": "https://wiki.archlinux.org/title/Main_page",
"website": "https://archlinux.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/arch-linux.webp",
"config_path": "",
"description": "Arch Linux is a highly customizable, independent Linux distribution that gives users complete control over their system. Known for its rolling release model, Arch Linux is always up-to-date with the latest software. It's favored by experienced users who appreciate its minimalist approach, demanding a hands-on installation and configuration process. This level of control and flexibility makes it a popular choice for those who want to tailor their Linux system to their exact needs.",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": null,
"documentation": "https://sabre.io/dav/",
"website": "https://sabre.io/baikal/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/baikal.webp",
"config_path": "/opt/baikal/config/baikal.yaml",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 4000,
"documentation": null,
"documentation": "https://0xerr0r.github.io/blocky/latest/configuration/",
"website": "https://0xerr0r.github.io/blocky/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/blocky.webp",
"config_path": "/opt/blocky/config.yml",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": null,
"documentation": "https://www.bookstackapp.com/docs/",
"website": "https://www.bookstackapp.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/bookstack.webp",
"config_path": "/opt/bookstack/.env",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 80,
"documentation": null,
"documentation": "https://wiki.casaos.io/en/home",
"website": "https://www.casaos.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/casaos.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8082,
"documentation": null,
"documentation": "https://athou.github.io/commafeed/documentation/",
"website": "https://www.commafeed.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/commafeed.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": null,
"documentation": "https://doc.crowdsec.net/",
"website": "https://crowdsec.net/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/crowdsec.webp",
"config_path": "",

View File

@@ -1,5 +1,4 @@
{
"name": "Dashy",
"slug": "dashy",
"categories": [
@@ -10,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 4000,
"documentation": null,
"documentation": "https://dashy.to/docs",
"website": "https://dashy.to/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/dashy.webp",
"config_path": "/opt/dashy/user-data/conf.yml",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": null,
"documentation": "https://forgejo.org/docs/latest/",
"website": "https://forgejo.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/forgejo.webp",
"config_path": "/etc/forgejo/app.ini",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": true,
"interface_port": 5000,
"documentation": null,
"documentation": "https://docs.frigate.video/",
"website": "https://frigate.video/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/frigate.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": null,
"documentation": "https://docs.gitea.com/",
"website": "https://gitea.com",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/gitea.webp",
"config_path": "/etc/gitea/app.ini",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8484,
"documentation": null,
"documentation": "https://support.getgrist.com/self-managed/#the-essentials",
"website": "https://www.getgrist.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/grist.webp",
"config_path": "/opt/grist/.env",

View File

@@ -0,0 +1,44 @@
{
"name": "Healthchecks",
"slug": "healthchecks",
"categories": [
9
],
"date_created": "2025-08-25",
"type": "ct",
"updateable": true,
"privileged": false,
"config_path": "/opt/healthchecks/hc/local_settings.py",
"interface_port": 3000,
"documentation": "https://healthchecks.io/docs/",
"website": "https://healthchecks.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/healthchecks.webp",
"description": "Healthchecks is a cron job monitoring service. It listens for HTTP requests and email messages (\"pings\") from your cron jobs and scheduled tasks (\"checks\"). When a ping does not arrive on time, Healthchecks sends out alerts. Healthchecks comes with a web dashboard, API, 25+ integrations for delivering notifications, monthly email reports, WebAuthn 2FA support, team management features: projects, team members, read-only access.",
"install_methods": [
{
"type": "default",
"script": "ct/healthchecks.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 5,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "if you change your LXC-IP, you need to update /etc/caddy/Caddyfile & /opt/healthchecks/hc/local_settings.py",
"type": "info"
},
{
"text": "Show credentials: `cat ~/healthchecks.creds`",
"type": "info"
}
]
}

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 7990,
"documentation": null,
"documentation": "https://github.com/linuxserver/Heimdall/blob/2.x/readme.md",
"website": "https://heimdall.site/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/heimdall.webp",
"config_path": "/opt/Heimdall/.env",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 1080,
"documentation": null,
"documentation": "https://github.com/heiher/hev-socks5-server/blob/main/README.md",
"website": "https://github.com/heiher/hev-socks5-server",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/hev.webp",
"config_path": "/opt/hivemq/conf/config.xml",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 7575,
"documentation": null,
"documentation": "https://homarr.dev/docs/getting-started/",
"website": "https://homarr.dev/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/homarr.webp",
"config_path": "/opt/homarr/.env",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8010,
"documentation": null,
"documentation": "https://github.com/bastienwirtz/homer/blob/main/README.md#table-of-contents",
"website": "https://github.com/bastienwirtz/homer",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/homer.webp",
"config_path": "/opt/homer/assets/config.yml",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 8086,
"documentation": null,
"documentation": "https://docs.influxdata.com/",
"website": "https://www.influxdata.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/influxdb.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 26000,
"documentation": null,
"documentation": "https://www.iventoy.com/en/doc_news.html",
"website": "https://www.iventoy.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/iventoy.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 5055,
"documentation": null,
"documentation": "https://docs.jellyseerr.dev/",
"website": "https://github.com/Fallenbagel/jellyseerr",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/jellyseerr.webp",
"config_path": "/etc/jellyseerr/jellyseerr.conf",

View File

@@ -41,7 +41,7 @@
"type": "warning"
},
{
"text": "Show password: `cat ~/kasm.creds`",
"text": "Show credentials: `cat ~/kasm.creds`",
"type": "info"
}
]

View File

@@ -44,7 +44,7 @@
},
"notes": [
{
"text": "After the initial installation: Enter your desired admin user and password and then click on Sign Up",
"text": "For admin username and password type `cat ~/komodo.creds` inside LXC.",
"type": "info"
}
]

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": null,
"documentation": "https://mafl.hywax.space/reference/configuration.html",
"website": "https://mafl.hywax.space/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mafl.webp",
"config_path": "/opt/mafl/data/config.yml",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8283,
"documentation": null,
"documentation": "https://github.com/Luligu/matterbridge/blob/main/README.md",
"website": "https://github.com/Luligu/matterbridge",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/matterbridge.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 8065,
"documentation": null,
"documentation": "https://docs.mattermost.com/",
"website": "https://mattermost.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mattermost.webp",
"config_path": "/opt/mattermost/config/config.json",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8081,
"documentation": null,
"documentation": "https://github.com/pymedusa/Medusa/wiki",
"website": "https://pymedusa.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/py-medusa.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8081,
"documentation": null,
"documentation": "https://github.com/alexta69/metube/blob/master/README.md",
"website": "https://github.com/alexta69/metube",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/metube.webp",
"config_path": "/opt/metube/.env",

View File

@@ -10,8 +10,8 @@
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,
"website": "https://help.mikrotik.com/docs/display/ROS/Cloud+Hosted+Router%2C+CHR",
"documentation": "https://help.mikrotik.com/docs/spaces/ROS/pages/18350234/Cloud+Hosted+Router+CHR",
"website": "https://mikrotik.com",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mikrotik.webp",
"config_path": "",
"description": "Mikrotik RouterOS CHR is a Linux-based operating system that transforms a computer into a router. It provides a wide range of features for network routing, firewall, bandwidth management, wireless access point, backhaul link, hotspot gateway, VPN server, and many others. RouterOS is a versatile solution that supports various network configurations, including those with multiple WAN links, hotspots, and VPNs. It is highly customizable, allowing administrators to configure and manage their networks according to their specific requirements. With RouterOS, network administrators can monitor and control the performance and security of their networks, ensuring reliable and secure communication for their users. The software is designed to be easy to use and provides a wide range of tools for network management, making it a valuable solution for small and large networks alike.",

View File

@@ -8,8 +8,8 @@
"type": "ct",
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": null,
"interface_port": 27017,
"documentation": "https://www.mongodb.com/docs/manual/",
"website": "https://www.mongodb.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mongodb.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": null,
"documentation": "https://docs.nextcloud.com/server/21/admin_manual/contents.html",
"website": "https://www.turnkeylinux.org/nextcloud",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/nextcloud.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 81,
"documentation": null,
"documentation": "https://nginxproxymanager.com/guide/",
"website": "https://nginxproxymanager.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/nginx-proxy-manager.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 5454,
"documentation": null,
"documentation": "https://notifiarr.wiki/",
"website": "https://notifiarr.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/notifiarr.webp",
"config_path": "/etc/notifiarr/notifiarr.conf",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 80,
"documentation": null,
"documentation": "https://docs.ntfy.sh/",
"website": "https://ntfy.sh/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/ntfy.webp",
"config_path": "/etc/ntfy/server.yml",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 1337,
"documentation": null,
"documentation": "https://docs.olivetin.app/",
"website": "https://www.olivetin.app/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/olivetin.webp",
"config_path": "/etc/OliveTin/config.yaml",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 80,
"documentation": null,
"documentation": "https://docs.openmediavault.org/en/stable/",
"website": "https://www.openmediavault.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/openmediavault.webp",
"config_path": "",

View File

@@ -10,7 +10,7 @@
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,
"documentation": "https://openwrt.org/docs/start",
"website": "https://openwrt.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/openwrt.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": null,
"documentation": "https://doc.owncloud.com/",
"website": "https://www.turnkeylinux.org/owncloud",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/owncloud.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": null,
"documentation": "https://github.com/clusterzx/paperless-ai/wiki/1.-Home",
"website": "https://github.com/clusterzx/paperless-ai",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/paperless-ai.webp",
"config_path": "/opt/paperless-ai/data/.env",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8080,
"documentation": null,
"documentation": "https://github.com/icereed/paperless-gpt/blob/main/README.md",
"website": "https://github.com/icereed/paperless-gpt",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/paperless-ngx-light.webp",
"config_path": "/opt/paperless-gpt-data/.env",

View File

@@ -33,7 +33,7 @@
},
"notes": [
{
"text": "Show Login Credentials, type `cat ~/paperless.creds` in the LXC console",
"text": "Show Login Credentials, type `cat ~/paperless-ngx.creds` in the LXC console",
"type": "info"
},
{

View File

@@ -0,0 +1,52 @@
{
"name": "PBS 4 Upgrade",
"slug": "pbs4-upgrade",
"categories": [
1
],
"date_created": "2025-08-26",
"type": "pve",
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": "https://pbs.proxmox.com/wiki/Upgrade_from_3_to_4",
"website": "https://www.proxmox.com/en/proxmox-backup-server",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/proxmox.webp",
"config_path": "",
"description": "This script guides you through upgrading Proxmox Backup Server from version 3.x (Debian 12 Bookworm) to version 4.0 (Debian 13 Trixie). It adjusts the Debian base sources, configures PBS 4 repositories in deb822 format, updates enterprise/no-subscription/test repos, runs a full system upgrade, and finalizes with a reboot.",
"install_methods": [
{
"type": "default",
"script": "tools/pve/pbs4-upgrade.sh",
"resources": {
"cpu": null,
"ram": null,
"hdd": null,
"os": null,
"version": null
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Execute this script directly on the PBS 3.x host as root.",
"type": "info"
},
{
"text": "Ensure you have a verified backup of /etc/proxmox-backup before starting.",
"type": "warning"
},
{
"text": "Do not run this on an already upgraded PBS 4.x system.",
"type": "warning"
},
{
"text": "A reboot is strongly recommended after upgrade to activate the new kernel and services.",
"type": "info"
}
]
}

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": null,
"documentation": "https://github.com/Brandawg93/PeaNUT/blob/main/README.md",
"website": "https://github.com/Brandawg93/PeaNUT/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/peanut.webp",
"config_path": "/etc/peanut/settings.yml",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 2342,
"documentation": null,
"documentation": "https://docs.photoprism.app/",
"website": "https://photoprism.app/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/photoprism.webp",
"config_path": "/opt/photoprism/config/.env",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": null,
"documentation": "https://github.com/leiweibau/Pi.Alert/blob/main/README.md",
"website": "https://github.com/leiweibau/Pi.Alert/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/pi-alert.webp",
"config_path": "/opt/pialert/config/pialert.conf",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": null,
"documentation": "https://podman.io/docs",
"website": "https://podman.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/podman.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 5432,
"documentation": null,
"documentation": "https://www.postgresql.org/docs/",
"website": "https://www.postgresql.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/postgresql.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 9696,
"documentation": null,
"documentation": "https://wiki.servarr.com/prowlarr",
"website": "https://github.com/Prowlarr/Prowlarr",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/prowlarr.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 7878,
"documentation": null,
"documentation": "https://wiki.servarr.com/radarr",
"website": "https://radarr.video/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/radarr.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 6500,
"documentation": null,
"documentation": "https://github.com/rogerfar/rdt-client/blob/main/README.md",
"website": "https://github.com/rogerfar/rdt-client",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/real-debrid.webp",
"config_path": "/opt/rdtc/appsettings.json",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": null,
"documentation": "https://recyclarr.dev/wiki/",
"website": "https://recyclarr.dev/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/recyclarr.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": null,
"documentation": "https://redis.io/docs/latest/",
"website": "https://redis.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/redis.webp",
"config_path": "Debian /etc/redis/redis.conf | Alpine: /etc/redis.conf",

View File

@@ -0,0 +1,35 @@
{
"name": "Redlib",
"slug": "redlib",
"categories": [
10
],
"date_created": "2025-08-25",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 5252,
"documentation": "https://github.com/redlib-org/redlib/blob/main/README.md",
"website": "https://github.com/redlib-org/redlib",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/redlib.webp",
"config_path": "/opt/redlib/redlib.conf",
"description": "An alternative private front-end to Reddit. Redlib hopes to provide an easier way to browse Reddit, without the ads, trackers, and bloat.",
"install_methods": [
{
"type": "default",
"script": "ct/alpine-redlib.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 1,
"os": "alpine",
"version": "3.22"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": null,
"documentation": "https://runtipi.io/docs/introduction",
"website": "https://runtipi.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/runtipi.webp",
"config_path": "opt/runtipi/state/settings.json",

View File

@@ -25,6 +25,17 @@
"os": "debian",
"version": "12"
}
},
{
"type": "alpine",
"script": "ct/alpine-rustdeskserver.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "alpine",
"version": "3.22"
}
}
],
"default_credentials": {

View File

@@ -0,0 +1,35 @@
{
"name": "SearXNG",
"slug": "searxng",
"categories": [
0
],
"date_created": "2025-08-26",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8888,
"documentation": "https://docs.searxng.org/",
"website": "https://github.com/searxng/searxng",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/searxng.webp",
"config_path": "/etc/searxng/settings.yml",
"description": "SearXNG is a free internet metasearch engine which aggregates results from up to 215 search services. Users are neither tracked nor profiled. Additionally, SearXNG can be used over Tor for online anonymity.",
"install_methods": [
{
"type": "default",
"script": "ct/searxng.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 7,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8080,
"documentation": null,
"documentation": "https://docs.shinobi.video/",
"website": "https://shinobi.video/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/shinobi.webp",
"config_path": "/opt/Shinobi/conf.json",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": null,
"documentation": null,
"documentation": "https://oss.oetiker.ch/smokeping/doc/index.en.html",
"website": "https://oss.oetiker.ch/smokeping/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/smokeping.webp",
"config_path": "/etc/smokeping/config.d/Targets",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8989,
"documentation": null,
"documentation": "https://wiki.servarr.com/sonarr",
"website": "https://sonarr.tv/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/sonarr.webp",
"config_path": "",

View File

@@ -10,7 +10,7 @@
"privileged": false,
"interface_port": 8080,
"documentation": null,
"website": "https://github.com/Stirling-Tools/Stirling-PDF",
"website": "https://docs.stirlingpdf.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/stirling-pdf.webp",
"config_path": "/opt/Stirling-PDF/.env",
"description": "Stirling-PDF is a powerful locally hosted web based PDF manipulation tool that allows you to perform various operations on PDF files, such as splitting merging, converting, reorganizing, adding images, rotating, compressing, and more.",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 8384,
"documentation": null,
"documentation": "https://docs.syncthing.net/",
"website": "https://syncthing.net/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/syncthing.webp",
"config_path": "/root/.local/state/syncthing/config.xml - Alpine: /var/lib/syncthing/.local/state/syncthing/config.xml",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8002,
"documentation": null,
"documentation": "https://docs.tandoor.dev/",
"website": "https://tandoor.dev/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tandoor-recipes.webp",
"config_path": "/opt/tandoor/.env",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 8181,
"documentation": null,
"documentation": "https://github.com/Tautulli/Tautulli/wiki",
"website": "https://tautulli.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tautulli.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8265,
"documentation": null,
"documentation": "https://docs.tdarr.io/docs/welcome/what",
"website": "https://tdarr.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tdarr.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 34400,
"documentation": null,
"documentation": "https://github.com/xteve-project/xTeVe-Documentation/blob/master/en/configuration.md",
"website": "https://github.com/Threadfin/Threadfin",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/threadfin.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 12345,
"documentation": null,
"documentation": "https://tianji.dev/docs/intro",
"website": "https://tianji.msgbyte.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tianji.webp",
"config_path": "/opt/tianji/src/server/.env",

View File

@@ -0,0 +1,40 @@
{
"name": "Tracktor",
"slug": "tracktor",
"categories": [
9
],
"date_created": "2025-08-26",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://tracktor.bytedge.in/introduction.html",
"config_path": "/opt/tracktor/app/server/.env",
"website": "https://tracktor.bytedge.in/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tracktor.webp",
"description": "Tracktor is an open-source web application for comprehensive vehicle management.\nEasily track fuel consumption, maintenance, insurance, and regulatory documents for all your vehicles in one place.",
"install_methods": [
{
"type": "default",
"script": "ct/tracktor.sh",
"resources": {
"cpu": 1,
"ram": 1024,
"hdd": 6,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Please check and update the '/opt/tracktor/app/backend/.env' file if using behind reverse proxy.",
"type": "info"
}
]
}

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 3002,
"documentation": null,
"documentation": "https://github.com/chrisvel/tududi#-getting-started",
"config_path": "/opt/tududi/backend/.env",
"website": "https://tududi.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/tududi.webp",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 5335,
"documentation": null,
"documentation": "https://unbound.docs.nlnetlabs.nl/en/latest/",
"website": "https://www.nlnetlabs.nl/projects/unbound/about/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/unbound.webp",
"config_path": "/etc/unbound/unbound.conf.d/unbound.conf",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": true,
"interface_port": 8888,
"documentation": null,
"documentation": "https://docs.unmanic.app/docs/",
"website": "https://docs.unmanic.app/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/unmanic.webp",
"config_path": "",

View File

@@ -1,34 +1,299 @@
[
{
"name": "Threadfin/Threadfin",
"version": "1.2.36",
"date": "2025-08-26T20:40:14Z"
},
{
"name": "influxdata/influxdb",
"version": "v3.4.0",
"date": "2025-08-26T20:10:23Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.24.23",
"date": "2025-08-26T18:02:18Z"
},
{
"name": "netbox-community/netbox",
"version": "v4.3.7",
"date": "2025-08-26T17:54:25Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.525",
"date": "2025-08-26T14:28:44Z"
},
{
"name": "meilisearch/meilisearch",
"version": "latest",
"date": "2025-08-26T14:14:42Z"
},
{
"name": "traefik/traefik",
"version": "v2.11.29",
"date": "2025-08-26T13:14:55Z"
},
{
"name": "element-hq/synapse",
"version": "v1.137.0",
"date": "2025-08-26T09:51:47Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.2",
"date": "2025-06-26T22:08:00Z"
},
{
"name": "evcc-io/evcc",
"version": "0.207.5",
"date": "2025-08-26T06:57:07Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3-beta.10",
"date": "2025-07-15T06:07:03Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.2349",
"date": "2025-08-26T05:58:15Z"
},
{
"name": "henrygd/beszel",
"version": "v0.12.4",
"date": "2025-08-26T01:45:02Z"
},
{
"name": "documenso/documenso",
"version": "v1.12.2-rc.6",
"date": "2025-08-26T01:17:43Z"
},
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
"date": "2025-06-14T17:45:06Z"
},
{
"name": "jeedom/core",
"version": "4.4.19",
"date": "2025-08-26T00:27:08Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v3.6.2",
"date": "2025-07-17T12:08:03Z"
},
{
"name": "coder/code-server",
"version": "v4.103.2",
"date": "2025-08-25T23:30:54Z"
},
{
"name": "keycloak/keycloak",
"version": "26.3.3",
"date": "2025-08-20T10:12:51Z"
},
{
"name": "advplyr/audiobookshelf",
"version": "v2.29.0",
"date": "2025-08-25T22:43:20Z"
},
{
"name": "booklore-app/booklore",
"version": "v0.38.2",
"date": "2025-08-25T22:41:41Z"
},
{
"name": "esphome/esphome",
"version": "2025.8.1",
"date": "2025-08-25T20:48:19Z"
},
{
"name": "Brandawg93/PeaNUT",
"version": "v5.13.0",
"date": "2025-08-25T19:19:51Z"
},
{
"name": "immich-app/immich",
"version": "v1.139.4",
"date": "2025-08-25T18:31:13Z"
},
{
"name": "ollama/ollama",
"version": "v0.11.7",
"date": "2025-08-25T18:04:05Z"
},
{
"name": "mealie-recipes/mealie",
"version": "v3.1.2",
"date": "2025-08-25T18:00:52Z"
},
{
"name": "linkwarden/linkwarden",
"version": "v2.11.8",
"date": "2025-08-25T16:27:12Z"
},
{
"name": "rcourtman/Pulse",
"version": "v4.7.6",
"date": "2025-08-23T22:49:00Z"
},
{
"name": "Checkmk/checkmk",
"version": "v2.3.0p36",
"date": "2025-08-25T15:32:14Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w35-4.13.0",
"date": "2025-08-25T15:17:33Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.107.4",
"date": "2025-08-20T12:23:06Z"
},
{
"name": "crowdsecurity/crowdsec",
"version": "v1.6.11",
"date": "2025-07-22T12:11:38Z"
},
{
"name": "sabnzbd/sabnzbd",
"version": "4.5.3",
"date": "2025-08-25T13:59:56Z"
},
{
"name": "zabbix/zabbix",
"version": "7.4.2",
"date": "2025-08-25T12:38:14Z"
},
{
"name": "gotson/komga",
"version": "1.23.2",
"date": "2025-08-25T09:39:42Z"
},
{
"name": "emqx/emqx",
"version": "e5.10.1-beta.2",
"date": "2025-08-25T08:51:40Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.3.2",
"date": "2025-08-19T04:08:36Z"
},
{
"name": "FlareSolverr/FlareSolverr",
"version": "v3.4.0",
"date": "2025-08-25T03:22:00Z"
},
{
"name": "plexguide/Huntarr.io",
"version": "8.2.10",
"date": "2025-08-25T01:26:55Z"
},
{
"name": "gtsteffaniak/filebrowser",
"version": "v0.8.2-beta",
"date": "2025-08-25T00:26:03Z"
},
{
"name": "crafty-controller/crafty-4",
"version": "v4.5.1",
"date": "2025-08-24T23:58:52Z"
},
{
"name": "Ombi-app/Ombi",
"version": "v4.47.1",
"date": "2025-01-05T21:14:23Z"
},
{
"name": "pocket-id/pocket-id",
"version": "v1.9.1",
"date": "2025-08-24T21:27:58Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.1",
"date": "2025-08-24T20:16:32Z"
},
{
"name": "runtipi/runtipi",
"version": "nightly",
"date": "2025-08-24T18:27:58Z"
},
{
"name": "wavelog/wavelog",
"version": "2.1",
"date": "2025-08-24T15:42:19Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.26.2.10099",
"date": "2025-06-11T20:10:39Z"
},
{
"name": "Prowlarr/Prowlarr",
"version": "v2.0.5.5160",
"date": "2025-08-23T21:23:11Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-openapi@9.2.3",
"date": "2025-08-24T12:48:14Z"
},
{
"name": "Lidarr/Lidarr",
"version": "v2.12.4.4658",
"date": "2025-06-09T17:27:45Z"
},
{
"name": "janeczku/calibre-web",
"version": "0.6.25",
"date": "2025-08-24T08:51:55Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.15.1",
"date": "2025-08-23T20:07:50Z"
},
{
"name": "sysadminsmedia/homebox",
"version": "v0.21.0",
"date": "2025-08-23T18:33:53Z"
},
{
"name": "prometheus/prometheus",
"version": "v0.306.0-rc.0",
"date": "2025-08-21T13:31:03Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "2.0.3",
"date": "2025-08-23T07:08:13Z"
},
{
"name": "pocketbase/pocketbase",
"version": "v0.29.3",
"date": "2025-08-23T06:37:44Z"
},
{
"name": "caddyserver/caddy",
"version": "v2.10.2",
"date": "2025-08-23T03:10:31Z"
},
{
"name": "paperless-ngx/paperless-ngx",
"version": "v2.18.2",
"date": "2025-08-22T23:56:41Z"
},
{
"name": "gtsteffaniak/filebrowser",
"version": "v0.8.1-beta",
"date": "2025-08-22T21:18:11Z"
},
{
"name": "rcourtman/Pulse",
"version": "v4.7.0",
"date": "2025-08-22T19:58:51Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.34.0",
"date": "2025-08-22T19:16:24Z"
},
{
"name": "immich-app/immich",
"version": "v1.139.2",
"date": "2025-08-22T18:07:48Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.24.20",
"date": "2025-08-22T18:03:58Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.86.5",
@@ -39,46 +304,21 @@
"version": "v1.71.0",
"date": "2025-08-22T16:41:23Z"
},
{
"name": "caddyserver/caddy",
"version": "v2.10.1",
"date": "2025-08-22T16:14:52Z"
},
{
"name": "goauthentik/authentik",
"version": "version/2025.8.1",
"date": "2025-08-22T14:55:30Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.2",
"date": "2025-06-26T22:08:00Z"
},
{
"name": "open-webui/open-webui",
"version": "v0.6.25",
"date": "2025-08-22T13:22:43Z"
},
{
"name": "wazuh/wazuh",
"version": "v4.10.3",
"date": "2025-08-19T18:51:00Z"
},
{
"name": "crowdsecurity/crowdsec",
"version": "v1.6.11",
"date": "2025-07-22T12:11:38Z"
},
{
"name": "theonedev/onedev",
"version": "v12.0.7",
"date": "2025-08-22T10:00:28Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-openapi@9.2.2",
"date": "2025-08-22T09:35:27Z"
},
{
"name": "syncthing/syncthing",
"version": "v2.0.3",
@@ -104,16 +344,6 @@
"version": "v3.5.5",
"date": "2025-08-22T06:57:33Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.2321",
"date": "2025-08-22T05:54:29Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.3.2",
"date": "2025-08-19T04:08:36Z"
},
{
"name": "traccar/traccar",
"version": "v6.9.1",
@@ -124,16 +354,6 @@
"version": "4.6.0",
"date": "2025-08-22T02:21:40Z"
},
{
"name": "jeedom/core",
"version": "4.4.19",
"date": "2025-08-22T00:27:23Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v3.6.2",
"date": "2025-07-17T12:08:03Z"
},
{
"name": "9001/copyparty",
"version": "v1.19.5",
@@ -144,16 +364,6 @@
"version": "v0.36.0",
"date": "2025-07-14T18:59:57Z"
},
{
"name": "runtipi/runtipi",
"version": "nightly",
"date": "2025-08-21T19:17:27Z"
},
{
"name": "keycloak/keycloak",
"version": "26.3.3",
"date": "2025-08-20T10:12:51Z"
},
{
"name": "HabitRPG/habitica",
"version": "v5.39.0",
@@ -169,11 +379,6 @@
"version": "v1.5.0",
"date": "2025-08-21T17:33:22Z"
},
{
"name": "evcc-io/evcc",
"version": "0.207.4",
"date": "2025-08-21T17:20:43Z"
},
{
"name": "kyantech/Palmr",
"version": "v3.2.0-beta",
@@ -189,61 +394,21 @@
"version": "v1.4.6",
"date": "2025-08-21T14:05:58Z"
},
{
"name": "prometheus/prometheus",
"version": "v0.306.0-rc.0",
"date": "2025-08-21T13:31:03Z"
},
{
"name": "glpi-project/glpi",
"version": "10.0.19",
"date": "2025-07-16T09:45:14Z"
},
{
"name": "emqx/emqx",
"version": "e6.0.0-M2.202508-rc.1",
"date": "2025-08-20T18:02:55Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.16.18",
"date": "2025-08-21T08:19:58Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3-beta.10",
"date": "2025-07-15T06:07:03Z"
},
{
"name": "ollama/ollama",
"version": "v0.11.6",
"date": "2025-08-20T21:00:13Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.14",
"date": "2025-08-20T20:52:44Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.516.2",
"date": "2025-08-20T17:15:26Z"
},
{
"name": "Checkmk/checkmk",
"version": "v2.4.0p10",
"date": "2025-08-20T14:05:06Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.65",
"date": "2025-08-20T14:02:28Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.107.4",
"date": "2025-08-20T12:23:06Z"
},
{
"name": "cockpit-project/cockpit",
"version": "345",
@@ -264,11 +429,6 @@
"version": "v2.1.2.0-2.1.2.0_beta_2025-08-20",
"date": "2025-08-20T08:15:46Z"
},
{
"name": "esphome/esphome",
"version": "2025.8.0",
"date": "2025-08-20T07:58:12Z"
},
{
"name": "Luligu/matterbridge",
"version": "3.2.3",
@@ -279,21 +439,11 @@
"version": "v5.23.2",
"date": "2025-08-19T21:24:45Z"
},
{
"name": "mealie-recipes/mealie",
"version": "v3.1.1",
"date": "2025-08-19T20:23:43Z"
},
{
"name": "cross-seed/cross-seed",
"version": "v6.13.2",
"date": "2025-08-19T18:18:40Z"
},
{
"name": "Threadfin/Threadfin",
"version": "1.3.0",
"date": "2025-08-19T17:37:44Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.50.10",
@@ -304,26 +454,11 @@
"version": "v5.8.0",
"date": "2025-08-19T16:46:00Z"
},
{
"name": "sabnzbd/sabnzbd",
"version": "4.5.2",
"date": "2025-07-09T19:08:28Z"
},
{
"name": "fallenbagel/jellyseerr",
"version": "preview-dns-cache-manager",
"date": "2025-08-19T11:57:00Z"
},
{
"name": "element-hq/synapse",
"version": "v1.136.0",
"date": "2025-08-12T14:26:27Z"
},
{
"name": "zabbix/zabbix",
"version": "7.2.12",
"date": "2025-08-19T11:16:17Z"
},
{
"name": "chrisvel/tududi",
"version": "v0.80",
@@ -334,11 +469,6 @@
"version": "v7.12.0",
"date": "2025-08-19T06:57:20Z"
},
{
"name": "plexguide/Huntarr.io",
"version": "8.2.6",
"date": "2025-08-18T23:31:31Z"
},
{
"name": "bunkerity/bunkerweb",
"version": "v1.6.4",
@@ -364,11 +494,6 @@
"version": "v25.2",
"date": "2025-07-04T08:21:42Z"
},
{
"name": "meilisearch/meilisearch",
"version": "prototype-arroy-becomes-hannoy-with-sharding-0",
"date": "2025-08-18T14:48:37Z"
},
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "pmm-6401-v1.124.0",
@@ -379,11 +504,6 @@
"version": "@jupyter-notebook/ui-components@7.5.0-alpha.2",
"date": "2025-08-18T07:39:41Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.0",
"date": "2025-08-18T01:22:47Z"
},
{
"name": "lldap/lldap",
"version": "v0.6.2",
@@ -409,31 +529,6 @@
"version": "3.3.0",
"date": "2025-08-17T19:57:11Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.26.2.10099",
"date": "2025-06-11T20:10:39Z"
},
{
"name": "Prowlarr/Prowlarr",
"version": "v1.37.0.5076",
"date": "2025-06-04T11:04:53Z"
},
{
"name": "Lidarr/Lidarr",
"version": "v2.12.4.4658",
"date": "2025-06-09T17:27:45Z"
},
{
"name": "Ombi-app/Ombi",
"version": "v4.47.1",
"date": "2025-01-05T21:14:23Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "2.0.2",
"date": "2025-08-17T09:24:37Z"
},
{
"name": "mylar3/mylar3",
"version": "v0.8.3",
@@ -449,16 +544,6 @@
"version": "v1.2.10",
"date": "2025-08-16T11:45:23Z"
},
{
"name": "documenso/documenso",
"version": "v1.12.2-rc.4",
"date": "2025-08-16T09:16:29Z"
},
{
"name": "coder/code-server",
"version": "v4.103.1",
"date": "2025-08-16T01:59:28Z"
},
{
"name": "mongodb/mongo",
"version": "r8.2.0",
@@ -469,11 +554,6 @@
"version": "v0.9.90",
"date": "2025-08-15T19:14:52Z"
},
{
"name": "netbox-community/netbox",
"version": "v4.3.6",
"date": "2025-08-12T17:16:42Z"
},
{
"name": "intri-in/manage-my-damn-life-nextjs",
"version": "v0.8.0-release",
@@ -484,16 +564,6 @@
"version": "v1.7.2",
"date": "2025-08-14T19:07:57Z"
},
{
"name": "linkwarden/linkwarden",
"version": "v2.11.7",
"date": "2025-08-14T17:14:33Z"
},
{
"name": "booklore-app/booklore",
"version": "v0.37.0",
"date": "2025-08-14T00:37:49Z"
},
{
"name": "jellyfin/jellyfin",
"version": "v10.10.7",
@@ -539,11 +609,6 @@
"version": "v2.5.308",
"date": "2025-08-13T07:09:29Z"
},
{
"name": "Brandawg93/PeaNUT",
"version": "v5.12.0",
"date": "2025-08-12T15:09:35Z"
},
{
"name": "bluenviron/mediamtx",
"version": "v1.14.0",
@@ -584,16 +649,6 @@
"version": "0.23.2",
"date": "2025-08-10T23:35:07Z"
},
{
"name": "advplyr/audiobookshelf",
"version": "v2.28.0",
"date": "2025-08-10T23:09:55Z"
},
{
"name": "pocket-id/pocket-id",
"version": "v1.7.0",
"date": "2025-08-10T18:10:25Z"
},
{
"name": "ioBroker/ioBroker",
"version": "1012-08-09",
@@ -624,11 +679,6 @@
"version": "v4.39.6",
"date": "2025-08-09T08:11:44Z"
},
{
"name": "pocketbase/pocketbase",
"version": "v0.29.2",
"date": "2025-08-09T07:28:08Z"
},
{
"name": "kimai/kimai",
"version": "2.38.0",
@@ -659,11 +709,6 @@
"version": "v11.1.0",
"date": "2025-08-07T14:57:29Z"
},
{
"name": "influxdata/influxdb",
"version": "v1.12.2rc2",
"date": "2025-08-06T23:12:18Z"
},
{
"name": "Athou/commafeed",
"version": "5.11.0",
@@ -729,11 +774,6 @@
"version": "10.1.44",
"date": "2025-08-04T13:17:59Z"
},
{
"name": "henrygd/beszel",
"version": "v0.12.3",
"date": "2025-08-04T02:21:16Z"
},
{
"name": "benjaminjonard/koillection",
"version": "1.6.18",
@@ -794,21 +834,11 @@
"version": "2025.07.1",
"date": "2025-08-01T14:40:28Z"
},
{
"name": "gotson/komga",
"version": "1.23.1",
"date": "2025-08-01T04:30:24Z"
},
{
"name": "Suwayomi/Suwayomi-Server",
"version": "v2.1.1867",
"date": "2025-07-31T18:08:43Z"
},
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
"date": "2025-06-14T17:45:06Z"
},
{
"name": "leiweibau/Pi.Alert",
"version": "v2025-07-30",
@@ -879,11 +909,6 @@
"version": "RELEASE.2025-07-23T15-54-02Z",
"date": "2025-07-23T20:35:39Z"
},
{
"name": "traefik/traefik",
"version": "v3.5.0",
"date": "2025-07-23T14:06:54Z"
},
{
"name": "TasmoAdmin/TasmoAdmin",
"version": "v4.3.1",
@@ -899,11 +924,6 @@
"version": "v3.2.5r2",
"date": "2025-07-21T12:52:26Z"
},
{
"name": "wavelog/wavelog",
"version": "2.0.7",
"date": "2025-07-17T15:33:14Z"
},
{
"name": "icereed/paperless-gpt",
"version": "v0.22.0",
@@ -984,11 +1004,6 @@
"version": "release-5.1.2",
"date": "2025-07-02T06:13:16Z"
},
{
"name": "sysadminsmedia/homebox",
"version": "v0.20.2",
"date": "2025-07-02T00:37:07Z"
},
{
"name": "hivemq/hivemq-community-edition",
"version": "2025.4",
@@ -1064,11 +1079,6 @@
"version": "2.402",
"date": "2025-06-17T05:20:42Z"
},
{
"name": "crafty-controller/crafty-4",
"version": "v4.4.11",
"date": "2025-06-15T21:41:02Z"
},
{
"name": "TriliumNext/Notes",
"version": "v0.95.0",
@@ -1079,11 +1089,6 @@
"version": "v2.0.0.4645",
"date": "2017-03-07T18:56:06Z"
},
{
"name": "FlareSolverr/FlareSolverr",
"version": "v3.3.25",
"date": "2025-06-14T02:52:44Z"
},
{
"name": "OctoPrint/OctoPrint",
"version": "1.11.2",
@@ -1374,11 +1379,6 @@
"version": "v1.7.3",
"date": "2024-11-27T21:26:11Z"
},
{
"name": "janeczku/calibre-web",
"version": "0.6.24",
"date": "2024-11-16T06:47:56Z"
},
{
"name": "swizzin/swizzin",
"version": "stable",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 3456,
"documentation": null,
"documentation": "https://vikunja.io/docs/",
"website": "https://vikunja.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/vikunja.webp",
"config_path": "/etc/vikunja/config.yml",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8088,
"documentation": null,
"documentation": "https://github.com/matze/wastebin/blob/a297749b932ed9ff32569f3af7ee8e4a5b499834/README.md",
"website": "https://github.com/matze/wastebin",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/wastebin.webp",
"config_path": "/opt/wastebin-data/.env",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 8840,
"documentation": null,
"documentation": "https://github.com/aceberg/WatchYourLAN/blob/main/README.md",
"website": "https://github.com/aceberg/WatchYourLAN",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/watchyourlan.webp",
"config_path": "/data/config.yaml",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 10000,
"documentation": null,
"documentation": "https://webmin.com/docs/",
"website": "https://webmin.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/webmin.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": false,
"privileged": false,
"interface_port": 6969,
"documentation": null,
"documentation": "https://wiki.servarr.com/en/whisparr",
"website": "https://github.com/Whisparr/Whisparr",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/whisparr.webp",
"config_path": "",

View File

@@ -9,7 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": null,
"documentation": "https://doc.yunohost.org/",
"website": "https://yunohost.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/yunohost.webp",
"config_path": "",

View File

@@ -0,0 +1,98 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: andrej-kocijan (Andrej Kocijan)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/redlib-org/redlib
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
fetch_and_deploy_gh_release "redlib" "redlib-org/redlib" "prebuild" "latest" "/opt/redlib" "redlib-x86_64-unknown-linux-musl.tar.gz"
msg_info "Configuring Redlib"
cat <<EOF >/opt/redlib/redlib.conf
############################################
# Redlib Instance Configuration File
# Uncomment and edit values as needed
############################################
## Instance settings
ADDRESS=0.0.0.0
PORT=5252 # Integer (0-65535) - Internal port
#REDLIB_SFW_ONLY=off # ["on", "off"] - Filter all NSFW content
#REDLIB_BANNER= # String - Displayed on instance info page
#REDLIB_ROBOTS_DISABLE_INDEXING=off # ["on", "off"] - Disable search engine indexing
#REDLIB_PUSHSHIFT_FRONTEND=undelete.pullpush.io # Pushshift frontend for removed links
#REDLIB_ENABLE_RSS=off # ["on", "off"] - Enable RSS feed generation
#REDLIB_FULL_URL= # String - Needed for proper RSS URLs
## Default user settings
#REDLIB_DEFAULT_THEME=system # Theme (system, light, dark, black, dracula, nord, laserwave, violet, gold, rosebox, gruvboxdark, gruvboxlight, tokyoNight, icebergDark, doomone, libredditBlack, libredditDark, libredditLight)
#REDLIB_DEFAULT_FRONT_PAGE=default # ["default", "popular", "all"]
#REDLIB_DEFAULT_LAYOUT=card # ["card", "clean", "compact"]
#REDLIB_DEFAULT_WIDE=off # ["on", "off"]
#REDLIB_DEFAULT_POST_SORT=hot # ["hot", "new", "top", "rising", "controversial"]
#REDLIB_DEFAULT_COMMENT_SORT=confidence # ["confidence", "top", "new", "controversial", "old"]
#REDLIB_DEFAULT_BLUR_SPOILER=off # ["on", "off"]
#REDLIB_DEFAULT_SHOW_NSFW=off # ["on", "off"]
#REDLIB_DEFAULT_BLUR_NSFW=off # ["on", "off"]
#REDLIB_DEFAULT_USE_HLS=off # ["on", "off"]
#REDLIB_DEFAULT_HIDE_HLS_NOTIFICATION=off # ["on", "off"]
#REDLIB_DEFAULT_AUTOPLAY_VIDEOS=off # ["on", "off"]
#REDLIB_DEFAULT_SUBSCRIPTIONS= # Example: sub1+sub2+sub3
#REDLIB_DEFAULT_HIDE_AWARDS=off # ["on", "off"]
#REDLIB_DEFAULT_DISABLE_VISIT_REDDIT_CONFIRMATION=off # ["on", "off"]
#REDLIB_DEFAULT_HIDE_SCORE=off # ["on", "off"]
#REDLIB_DEFAULT_HIDE_SIDEBAR_AND_SUMMARY=off # ["on", "off"]
#REDLIB_DEFAULT_FIXED_NAVBAR=on # ["on", "off"]
#REDLIB_DEFAULT_REMOVE_DEFAULT_FEEDS=off # ["on", "off"]
EOF
msg_ok "Configured Redlib"
msg_info "Creating Redlib Service"
cat <<EOF >/etc/init.d/redlib
#!/sbin/openrc-run
name="Redlib"
description="Redlib Service"
command="/opt/redlib/redlib"
pidfile="/run/redlib.pid"
supervisor="supervise-daemon"
command_background="yes"
depend() {
need net
}
start_pre() {
set -a
. /opt/redlib/redlib.conf
set +a
: ${ADDRESS:=0.0.0.0}
: ${PORT:=5252}
command_args="-a ${ADDRESS} -p ${PORT}"
}
EOF
$STD chmod +x /etc/init.d/redlib
$STD rc-update add redlib default
msg_ok "Created Redlib Service"
msg_info "Starting Redlib Service"
$STD rc-service redlib start
msg_ok "Started Redlib Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apk cache clean
msg_ok "Cleaned"

View File

@@ -0,0 +1,122 @@
#!/usr/bin/env bash
# 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/rustdesk/rustdesk-server
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
RELEASE=$(curl -s https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
msg_info "Installing RustDesk Server v${RELEASE}"
temp_file1=$(mktemp)
curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1"
$STD unzip "$temp_file1"
mv amd64 /opt/rustdesk-server
mkdir -p /root/.config/rustdesk
cd /opt/rustdesk-server
./rustdesk-utils genkeypair > /tmp/rustdesk_keys.txt
grep "Public Key" /tmp/rustdesk_keys.txt | awk '{print $3}' > /root/.config/rustdesk/id_ed25519.pub
grep "Secret Key" /tmp/rustdesk_keys.txt | awk '{print $3}' > /root/.config/rustdesk/id_ed25519
chmod 600 /root/.config/rustdesk/id_ed25519
chmod 644 /root/.config/rustdesk/id_ed25519.pub
rm /tmp/rustdesk_keys.txt
echo "${RELEASE}" >~/.rustdesk-server
msg_ok "Installed RustDesk Server v${RELEASE}"
APIRELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Installing RustDesk API v${APIRELEASE}"
temp_file2=$(mktemp)
curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-amd64.tar.gz" -o "$temp_file2"
$STD tar zxvf "$temp_file2"
mv release /opt/rustdesk-api
cd /opt/rustdesk-api
ADMINPASS=$(head -c 16 /dev/urandom | xxd -p -c 16)
$STD ./apimain reset-admin-pwd "$ADMINPASS"
{
echo "RustDesk WebUI"
echo ""
echo "Username: admin"
echo "Password: $ADMINPASS"
} >>~/rustdesk.creds
echo "${APIRELEASE}" >~/.rustdesk-api
msg_ok "Installed RustDesk API v${APIRELEASE}"
msg_info "Enabling RustDesk Server Services"
cat <<EOF >/etc/init.d/rustdesk-server-hbbs
#!/sbin/openrc-run
description="RustDesk HBBS Service"
directory="/opt/rustdesk-server"
command="/opt/rustdesk-server/hbbs"
command_args=""
command_background="true"
command_user="root"
pidfile="/var/run/rustdesk-server-hbbs.pid"
output_log="/var/log/rustdesk-hbbs.log"
error_log="/var/log/rustdesk-hbbs.err"
depend() {
use net
}
EOF
cat <<EOF >/etc/init.d/rustdesk-server-hbbr
#!/sbin/openrc-run
description="RustDesk HBBR Service"
directory="/opt/rustdesk-server"
command="/opt/rustdesk-server/hbbr"
command_args=""
command_background="true"
command_user="root"
pidfile="/var/run/rustdesk-server-hbbr.pid"
output_log="/var/log/rustdesk-hbbr.log"
error_log="/var/log/rustdesk-hbbr.err"
depend() {
use net
}
EOF
cat <<EOF >/etc/init.d/rustdesk-api
#!/sbin/openrc-run
description="RustDesk API Service"
directory="/opt/rustdesk-api"
command="/opt/rustdesk-api/apimain"
command_args=""
command_background="true"
command_user="root"
pidfile="/var/run/rustdesk-api.pid"
output_log="/var/log/rustdesk-api.log"
error_log="/var/log/rustdesk-api.err"
depend() {
use net
}
EOF
chmod +x /etc/init.d/rustdesk-server-hbbs
chmod +x /etc/init.d/rustdesk-server-hbbr
chmod +x /etc/init.d/rustdesk-api
$STD rc-update add rustdesk-server-hbbs default
$STD rc-update add rustdesk-server-hbbr default
$STD rc-update add rustdesk-api default
msg_ok "Enabled RustDesk Server Services"
msg_info "Starting RustDesk Server"
$STD service rustdesk-server-hbbs start
$STD service rustdesk-server-hbbr start
$STD service rustdesk-api start
msg_ok "Started RustDesk Server"
motd_ssh
customize
msg_info "Cleaning up"
rm -f "$temp_file1" "$temp_file2"
$STD apk cache clean
msg_ok "Cleaned"

Some files were not shown because too many files have changed in this diff Show More