Compare commits

..

43 Commits

Author SHA1 Message Date
b2668bee66 switch branch to main to prevent conflicts 2025-12-10 07:36:29 +01:00
226b7ce8dc paperless: add note on website (uv usage)
Added information about using 'uv run' for Paperless-NGX commands.
2025-12-10 07:29:04 +01:00
8b858f4a65 add redis 2025-12-10 07:19:55 +01:00
96dc87ddd5 Update CHANGELOG.md (#9830)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-10 00:15:36 +00:00
f0f1708c31 Update versions.json (#9829)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-10 01:15:09 +01:00
76c4277f4b Update CHANGELOG.md (#9825)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 18:27:57 +00:00
10ee5f2eb4 Disable Palmr (#9824) 2025-12-09 19:27:30 +01:00
9611267657 Update CHANGELOG.md (#9822)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 15:05:21 +00:00
4dce90530b Update CHANGELOG.md (#9821)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 15:05:09 +00:00
cb28199964 Refactor: Zigbee2MQTT (#9803) 2025-12-09 16:04:47 +01:00
c28e404bd9 Update CHANGELOG.md (#9820)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 15:04:36 +00:00
42d1f2980a Refactor: Zerotier-One (#9804) 2025-12-09 16:04:15 +01:00
0ab80c814b Update CHANGELOG.md (#9819)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 15:04:11 +00:00
0f183d0b2f Update CHANGELOG.md (#9818)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 15:03:51 +00:00
fd75b03435 Refactor (#9807) 2025-12-09 16:03:43 +01:00
2abb7db794 Update CHANGELOG.md (#9817)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 15:03:34 +00:00
f07e6a92b0 Refactor (#9808) 2025-12-09 16:03:13 +01:00
ee3c4f843d Update CHANGELOG.md (#9816)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 15:03:00 +00:00
5ad841da76 Fixes (#9809) 2025-12-09 16:02:38 +01:00
02da3fc888 Update CHANGELOG.md (#9815)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 15:02:31 +00:00
d51c37d134 Refactor (#9810) 2025-12-09 16:02:07 +01:00
938a66a67e Update CHANGELOG.md (#9814)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 15:01:58 +00:00
bea9a62cce Feature: extend advanced settings with more options & inherit app defaults (#9776) 2025-12-09 16:01:31 +01:00
1458aade19 Update CHANGELOG.md (#9813)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 14:58:35 +00:00
cf7d32548f Refactor (#9805) 2025-12-09 15:58:13 +01:00
3be34bdac8 Update CHANGELOG.md (#9812)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 14:53:43 +00:00
6cdc26badc Refactor: Zipline (#9801)
* Refactor

* Update icon URL
2025-12-09 15:53:19 +01:00
92a26677f7 Update CHANGELOG.md (#9811)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 14:50:10 +00:00
0bcffdc8b0 fix(tools): handle repos with 30+ pre-releases in check_for_gh_release (#9786) 2025-12-09 15:49:43 +01:00
f2597f4d35 Update CHANGELOG.md (#9806)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 14:24:46 +00:00
7b139fa763 fix(json): correct updateable flags for 11 apps with working update scripts (#9777)
Changed updateable from false to true for:
- aria2 (apt-get update/upgrade)
- casaos (apt-get update/upgrade)
- daemonsync (apt-get update/upgrade)
- iobroker (apt update/upgrade)
- librenms (daily.sh update)
- meshcentral (apt update/upgrade)
- nextcloudpi (apt update/upgrade)
- podman (apt update/upgrade)
- tasmoadmin (apt update/upgrade)
- wazuh (apt-get update/upgrade)
- whisparr (apt update/upgrade)
2025-12-09 15:24:19 +01:00
f6f131efab Update CHANGELOG.md (#9800)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 13:22:50 +00:00
e4d5ce221b fixed grammar on one of the alerts (#9799) 2025-12-09 14:22:23 +01:00
4e182bd5b9 Update versions.json (#9797)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 13:06:31 +01:00
12a7ecd85d Update .app files (#9795)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-12-09 10:08:03 +01:00
b658959c7b Update CHANGELOG.md (#9796)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 09:07:33 +00:00
5eb9d2bcdf Add dokploy (ct) (#9793)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-12-09 10:07:04 +01:00
7d37743981 Update CHANGELOG.md (#9794)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 09:05:57 +00:00
b0e7cdfe13 Coolify (#9792)
* Add coolify (ct)

* Update logo URL to use WebP format

---------

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-12-09 10:05:36 +01:00
31c19bed09 Update CHANGELOG.md (#9788)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 00:13:26 +00:00
bff0650d72 Update versions.json (#9787)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-09 01:13:01 +01:00
d9b05882a3 Update CHANGELOG.md (#9782)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-08 18:36:34 +00:00
31dbf2554c Tandoor: Remove postgres17-contrib package (#9781)
* Remove contrib

* Update

* Update

* Upda
2025-12-08 19:36:06 +01:00
46 changed files with 826 additions and 349 deletions

View File

@ -10,12 +10,60 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-12-10
## 2025-12-09
### 🆕 New Scripts
- Dokploy ([#9793](https://github.com/community-scripts/ProxmoxVE/pull/9793))
- Coolify ([#9792](https://github.com/community-scripts/ProxmoxVE/pull/9792))
### 🚀 Updated Scripts
- #### ✨ New Features
- Refactor: Zerotier-One [@tremor021](https://github.com/tremor021) ([#9804](https://github.com/community-scripts/ProxmoxVE/pull/9804))
- Refactor: Zabbix [@tremor021](https://github.com/tremor021) ([#9807](https://github.com/community-scripts/ProxmoxVE/pull/9807))
- #### 🔧 Refactor
- Refactor: Zigbee2MQTT [@tremor021](https://github.com/tremor021) ([#9803](https://github.com/community-scripts/ProxmoxVE/pull/9803))
- Refactor: Wordpress [@tremor021](https://github.com/tremor021) ([#9808](https://github.com/community-scripts/ProxmoxVE/pull/9808))
- Wizarr: Various fixes [@tremor021](https://github.com/tremor021) ([#9809](https://github.com/community-scripts/ProxmoxVE/pull/9809))
- Refactor: Wiki.js [@tremor021](https://github.com/tremor021) ([#9810](https://github.com/community-scripts/ProxmoxVE/pull/9810))
- Zammad: Various fixes [@tremor021](https://github.com/tremor021) ([#9805](https://github.com/community-scripts/ProxmoxVE/pull/9805))
- Refactor: Zipline [@tremor021](https://github.com/tremor021) ([#9801](https://github.com/community-scripts/ProxmoxVE/pull/9801))
### 💾 Core
- #### 🐞 Bug Fixes
- fix(tools): handle repos with 30+ pre-releases in check_for_gh_release [@vidonnus](https://github.com/vidonnus) ([#9786](https://github.com/community-scripts/ProxmoxVE/pull/9786))
- #### ✨ New Features
- Feature: extend advanced settings with more options & inherit app defaults [@MickLesk](https://github.com/MickLesk) ([#9776](https://github.com/community-scripts/ProxmoxVE/pull/9776))
### 📚 Documentation
- website: fix/check updateable flags [@MickLesk](https://github.com/MickLesk) ([#9777](https://github.com/community-scripts/ProxmoxVE/pull/9777))
- fixed grammar on alert that pops up when you copy the curl command [@Sarthak-Sidhant](https://github.com/Sarthak-Sidhant) ([#9799](https://github.com/community-scripts/ProxmoxVE/pull/9799))
### ❔ Uncategorized
- Website: Remove Palmr script [@tremor021](https://github.com/tremor021) ([#9824](https://github.com/community-scripts/ProxmoxVE/pull/9824))
## 2025-12-08
### 🚀 Updated Scripts
- typo: tandoor instead of trandoor [@Neonize](https://github.com/Neonize) ([#9771](https://github.com/community-scripts/ProxmoxVE/pull/9771))
- #### 🐞 Bug Fixes
- Tandoor: Remove postgres17-contrib package [@tremor021](https://github.com/tremor021) ([#9781](https://github.com/community-scripts/ProxmoxVE/pull/9781))
- #### ✨ New Features
- feat: Add var_gpu flag for GPU passthrough configuration [@MickLesk](https://github.com/MickLesk) ([#9764](https://github.com/community-scripts/ProxmoxVE/pull/9764))

46
ct/coolify.sh Normal file
View File

@ -0,0 +1,46 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://coolify.io/
APP="Coolify"
var_tags="${var_tags:-docker;paas}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-30}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
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 /data/coolify ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating Coolify"
$STD bash <(curl -fsSL https://cdn.coollabs.io/coolify/install.sh)
msg_ok "Updated Coolify"
msg_ok "Updated successfully!"
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}:8000${CL}"

46
ct/dokploy.sh Normal file
View File

@ -0,0 +1,46 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://dokploy.com/
APP="Dokploy"
var_tags="${var_tags:-docker;paas}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
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 /etc/dokploy ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating Dokploy"
$STD bash <(curl -sSL https://dokploy.com/install.sh)
msg_ok "Updated Dokploy"
msg_ok "Updated successfully!"
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}"

6
ct/headers/coolify Normal file
View File

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

6
ct/headers/dokploy Normal file
View File

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

View File

@ -55,7 +55,7 @@ function update_script() {
cd /opt/tandoor/vue3
$STD yarn install
$STD yarn build
TANDOOR_VERSION="$(curl -fsSL https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | jq -r .tag_name)"
TANDOOR_VERSION=$(get_latest_github_release "TandoorRecipes/recipes")
cat <<EOF >/opt/tandoor/cookbook/version_info.py
TANDOOR_VERSION = "$TANDOOR_VERSION"
TANDOOR_REF = "bare-metal"

View File

@ -27,21 +27,22 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Stopping Service"
systemctl stop zammad
msg_ok "Stopped Service"
msg_info "Updating ${APP}"
msg_info "Updating Zammad"
$STD apt update
$STD apt-mark hold zammad
$STD apt -y upgrade
$STD apt upgrade -y
$STD apt-mark unhold zammad
$STD apt -y upgrade
msg_ok "Updated ${APP}"
$STD apt upgrade -y
msg_ok "Updated Zammad"
msg_info "Starting Service"
systemctl start zammad
msg_ok "Updated ${APP} LXC"
msg_ok "Started Service"
msg_ok "Updated successfully!"
exit
}

View File

@ -33,10 +33,10 @@ function update_script() {
systemctl stop zerotier-one
msg_ok "Stopping Service"
msg_info "Updating ${APP}"
msg_info "Updating Zerotier-One"
$STD apt update
$STD apt -y upgrade
msg_ok "Updated ${APP}"
$STD apt upgrade -y
msg_ok "Updated Zerotier-One"
msg_info "Starting Service"
systemctl start zerotier-one

View File

@ -43,7 +43,7 @@ function update_script() {
fetch_and_deploy_gh_release "Zigbee2MQTT" "Koenkk/zigbee2mqtt" "tarball" "latest" "/opt/zigbee2mqtt"
msg_info "Updating ${APP}"
msg_info "Updating Zigbee2MQTT"
rm -rf /opt/zigbee2mqtt/data
mv /opt/z2m_backup/data /opt/zigbee2mqtt
cd /opt/zigbee2mqtt

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 6880,
"documentation": "https://aria2.github.io/manual/en/html/index.html",

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": "https://wiki.casaos.io/en/home",

View File

@ -0,0 +1,52 @@
{
"name": "Coolify",
"slug": "coolify",
"categories": [
6
],
"date_created": "2025-12-09",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8000,
"documentation": "https://coolify.io/docs",
"config_path": "/data/coolify",
"website": "https://coolify.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/coolify.webp",
"description": "Coolify is an open-source & self-hostable alternative to Heroku, Netlify, and Vercel. It helps you manage your servers, applications, and databases on your own hardware with Docker. Deploy any application from Git repositories, Docker images, or use pre-built templates.",
"install_methods": [
{
"type": "default",
"script": "ct/coolify.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 30,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Initial setup will be done via the web interface on first access.",
"type": "info"
},
{
"text": "Coolify has built-in auto-updates. You can configure update frequency in Settings.",
"type": "info"
},
{
"text": "Coolify requires SSH access to manage deployments. SSH is enabled automatically.",
"type": "info"
},
{
"text": "This container uses Docker-in-Docker (nesting) for application deployments.",
"type": "warning"
}
]
}

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 8084,
"documentation": null,

View File

@ -0,0 +1,48 @@
{
"name": "Dokploy",
"slug": "dokploy",
"categories": [
6
],
"date_created": "2025-12-09",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://docs.dokploy.com/",
"config_path": "/etc/dokploy",
"website": "https://dokploy.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/dokploy.png",
"description": "Dokploy is a free, self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases. Built with Docker and Traefik, it offers features like automatic SSL, Docker Compose support, database backups, and a real-time monitoring dashboard.",
"install_methods": [
{
"type": "default",
"script": "ct/dokploy.sh",
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 10,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Initial setup will be done via the web interface on first access.",
"type": "info"
},
{
"text": "Dokploy has built-in auto-updates via the web interface.",
"type": "info"
},
{
"text": "This container uses Docker-in-Docker (nesting) for application deployments.",
"type": "warning"
}
]
}

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 8081,
"documentation": "https://www.iobroker.net/#en/documentation",

View File

@ -6,7 +6,7 @@
],
"date_created": "2025-11-14",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": "https://docs.librenms.org/",

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": "https://ylianst.github.io/MeshCentral/",

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 4443,
"documentation": "https://docs.nextcloudpi.com/",

View File

@ -9,6 +9,7 @@
"updateable": true,
"privileged": false,
"interface_port": 3000,
"disable": true,
"documentation": "https://palmr.kyantech.com.br/docs/3.1-beta",
"config_path": "/opt/palmr/apps/server/.env, /opt/palmr/apps/web/.env",
"website": "https://palmr.kyantech.com.br/",

View File

@ -11,7 +11,7 @@
"interface_port": 8000,
"documentation": "https://docs.paperless-ngx.com/",
"website": "https://docs.paperless-ngx.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@master/webp/paperless-ngx.webp",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/paperless-ngx.webp",
"config_path": "/opt/paperless/paperless.conf",
"description": "Paperless-ngx is a software tool designed for digitizing and organizing paper documents. It provides a web-based interface for scanning, uploading, and organizing paper documents, making it easier to manage, search, and access important information. Paperless-ngx uses the OCR (Optical Character Recognition) technology to extract text from scanned images and makes it searchable, thus increasing the efficiency of document management.",
"install_methods": [
@ -39,6 +39,10 @@
{
"text": "Script installs English as default OCR language. To install additional languages, use `apt-get install tesseract-ocr-[lang]`, where [lang] is the language code (e.g. `apt-get install tesseract-ocr-deu`).",
"type": "info"
},
{
"text": "Paperless-NGX use uv, so all calls need to start with `uv run` f.e. `uv run python3 manage.py document_exporter $path` instead `python3 manage.py`",
"type": "info"
}
]
}

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": "https://podman.io/docs",

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 9999,
"documentation": null,

View File

@ -1,8 +1,253 @@
[
{
"name": "pelican-dev/panel",
"version": "v1.0.0-beta29",
"date": "2025-12-09T23:07:15Z"
},
{
"name": "pelican-dev/wings",
"version": "v1.0.0-beta20",
"date": "2025-12-09T22:59:09Z"
},
{
"name": "BookStackApp/BookStack",
"version": "v25.11.6",
"date": "2025-12-09T21:08:17Z"
},
{
"name": "fccview/jotty",
"version": "1.12.2",
"date": "2025-12-09T20:39:50Z"
},
{
"name": "mayanayza/netvisor",
"version": "v0.11.4",
"date": "2025-12-09T20:10:45Z"
},
{
"name": "metabase/metabase",
"version": "v0.56.x",
"date": "2025-12-09T18:34:00Z"
},
{
"name": "valkey-io/valkey",
"version": "9.0.1",
"date": "2025-12-09T18:13:25Z"
},
{
"name": "esphome/esphome",
"version": "2025.11.5",
"date": "2025-12-09T17:54:33Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.90",
"date": "2025-11-11T01:00:32Z"
},
{
"name": "Infisical/infisical",
"version": "v0.154.6",
"date": "2025-12-09T16:36:25Z"
},
{
"name": "netbox-community/netbox",
"version": "v4.4.8",
"date": "2025-12-09T16:29:50Z"
},
{
"name": "element-hq/synapse",
"version": "v1.144.0",
"date": "2025-12-09T16:29:00Z"
},
{
"name": "readeck/readeck",
"version": "0.21.4",
"date": "2025-12-09T15:25:28Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.4",
"date": "2025-10-09T10:27:01Z"
},
{
"name": "gelbphoenix/autocaliweb",
"version": "v0.11.3",
"date": "2025-12-09T14:41:10Z"
},
{
"name": "release-argus/Argus",
"version": "0.27.0",
"date": "2025-12-09T14:33:38Z"
},
{
"name": "wizarrrr/wizarr",
"version": "v2025.12.0",
"date": "2025-12-09T14:30:23Z"
},
{
"name": "zabbix/zabbix",
"version": "7.0.22rc1",
"date": "2025-12-09T14:23:34Z"
},
{
"name": "home-assistant/operating-system",
"version": "16.3",
"date": "2025-11-04T12:28:47Z"
},
{
"name": "LimeSurvey/LimeSurvey",
"version": "6.16.1+251125",
"date": "2025-12-09T12:27:31Z"
},
{
"name": "joaovitoriasilva/endurain",
"version": "v0.16.0",
"date": "2025-12-09T12:26:46Z"
},
{
"name": "Paymenter/Paymenter",
"version": "v1.4.7",
"date": "2025-12-09T11:44:49Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-typescript@4.0.14",
"date": "2025-12-09T11:11:49Z"
},
{
"name": "documenso/documenso",
"version": "v2.2.6",
"date": "2025-12-09T10:11:01Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.425",
"date": "2025-12-09T05:59:35Z"
},
{
"name": "mongodb/mongo",
"version": "r7.0.27-rc0",
"date": "2025-12-09T04:34:48Z"
},
{
"name": "ollama/ollama",
"version": "v0.13.2",
"date": "2025-12-08T05:49:52Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.80.9.dev1",
"date": "2025-12-09T01:38:18Z"
},
{
"name": "jeedom/core",
"version": "4.5",
"date": "2025-12-09T00:27:10Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.1.0",
"date": "2025-11-23T12:13:34Z"
},
{
"name": "alexta69/metube",
"version": "2025.12.09",
"date": "2025-12-09T00:16:11Z"
},
{
"name": "Dispatcharr/Dispatcharr",
"version": "v0.14.0",
"date": "2025-12-09T00:04:09Z"
},
{
"name": "seerr-team/seerr",
"version": "preview-test-fix-subscriptions",
"date": "2025-12-08T23:15:30Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.7",
"date": "2025-12-01T08:14:11Z"
},
{
"name": "sabnzbd/sabnzbd",
"version": "4.5.5",
"date": "2025-10-24T11:12:22Z"
},
{
"name": "home-assistant/core",
"version": "2025.12.2",
"date": "2025-12-08T21:36:42Z"
},
{
"name": "fosrl/pangolin",
"version": "1.13.0-rc.0",
"date": "2025-12-08T21:17:44Z"
},
{
"name": "Dokploy/dokploy",
"version": "v0.26.0",
"date": "2025-12-08T20:44:09Z"
},
{
"name": "hansmi/prometheus-paperless-exporter",
"version": "v0.0.9",
"date": "2025-12-08T20:37:45Z"
},
{
"name": "influxdata/telegraf",
"version": "v1.37.0",
"date": "2025-12-08T20:36:16Z"
},
{
"name": "pommee/goaway",
"version": "v0.62.23",
"date": "2025-12-08T20:30:54Z"
},
{
"name": "TuroYT/snowshare",
"version": "v1.1.2",
"date": "2025-12-08T20:29:51Z"
},
{
"name": "coollabsio/coolify",
"version": "v4.0.0-beta.453",
"date": "2025-12-08T20:23:48Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.123.4",
"date": "2025-12-08T13:30:40Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.45.3",
"date": "2025-12-08T16:11:16Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.71",
"date": "2025-12-08T14:34:55Z"
},
{
"name": "chrisbenincasa/tunarr",
"version": "v0.22.18",
"date": "2025-12-08T14:26:24Z"
},
{
"name": "openobserve/openobserve",
"version": "v0.30.0-rc1",
"date": "2025-12-08T11:46:24Z"
"date": "2025-12-08T13:29:14Z"
},
{
"name": "wavelog/wavelog",
"version": "2.2.1",
"date": "2025-12-08T12:01:34Z"
},
{
"name": "ventoy/Ventoy",
@ -29,51 +274,21 @@
"version": "v10.11.8",
"date": "2025-11-21T17:06:07Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.4",
"date": "2025-10-09T10:27:01Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.420",
"date": "2025-12-08T05:55:34Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.9",
"date": "2025-11-28T20:36:20Z"
},
{
"name": "documenso/documenso",
"version": "v2.2.0",
"date": "2025-12-08T03:33:34Z"
},
{
"name": "chrisbenincasa/tunarr",
"version": "v0.23.0-alpha.31",
"date": "2025-12-08T02:39:59Z"
},
{
"name": "jeedom/core",
"version": "4.5",
"date": "2025-12-08T00:27:05Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.1.0",
"date": "2025-11-23T12:13:34Z"
},
{
"name": "maxdorninger/MediaManager",
"version": "v1.10.0",
"date": "2025-12-07T23:41:51Z"
},
{
"name": "nickheyer/discopanel",
"version": "v1.0.12-dev",
"date": "2025-12-07T22:56:11Z"
},
{
"name": "Part-DB/Part-DB-server",
"version": "v2.3.0",
@ -84,25 +299,20 @@
"version": "v6.11.1",
"date": "2025-12-07T19:19:08Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.7",
"date": "2025-12-01T08:14:11Z"
},
{
"name": "seerr-team/seerr",
"version": "preview-test-fix-subscriptions",
"date": "2025-12-07T14:31:55Z"
},
{
"name": "bluenviron/mediamtx",
"version": "v1.15.5",
"date": "2025-12-07T12:24:21Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.80.8.rc.1",
"date": "2025-12-07T01:36:40Z"
"name": "livebook-dev/livebook",
"version": "v0.18.1",
"date": "2025-12-07T11:35:51Z"
},
{
"name": "ghostfolio/ghostfolio",
"version": "2.222.0",
"date": "2025-12-07T09:09:47Z"
},
{
"name": "umami-software/umami",
@ -140,9 +350,9 @@
"date": "2025-12-06T14:31:36Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-openapi@10.1.1",
"date": "2025-12-06T11:27:58Z"
"name": "prometheus/blackbox_exporter",
"version": "v0.28.0",
"date": "2025-12-06T13:32:18Z"
},
{
"name": "YunoHost/yunohost",
@ -174,30 +384,15 @@
"version": "v13.1.3",
"date": "2025-12-06T04:40:09Z"
},
{
"name": "ollama/ollama",
"version": "v0.13.2-rc1",
"date": "2025-12-04T23:19:06Z"
},
{
"name": "Stirling-Tools/Stirling-PDF",
"version": "v2.1.1",
"date": "2025-12-05T23:48:08Z"
},
{
"name": "home-assistant/core",
"version": "2025.12.1",
"date": "2025-12-05T21:10:31Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.122.5",
"date": "2025-12-04T14:09:39Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.45.2",
"date": "2025-12-05T19:17:09Z"
"name": "HydroshieldMKII/Guardian",
"version": "v1.3.1",
"date": "2025-12-05T19:12:48Z"
},
{
"name": "booklore-app/booklore",
@ -209,6 +404,11 @@
"version": "v1.92.1",
"date": "2025-12-05T15:53:22Z"
},
{
"name": "community-scripts/ProxmoxVE-Local",
"version": "v0.5.2",
"date": "2025-12-05T15:13:46Z"
},
{
"name": "FlowiseAI/Flowise",
"version": "flowise@3.0.12",
@ -235,14 +435,9 @@
"date": "2025-12-05T09:58:17Z"
},
{
"name": "alexta69/metube",
"version": "2025.12.05",
"date": "2025-12-05T09:45:02Z"
},
{
"name": "esphome/esphome",
"version": "2025.11.4",
"date": "2025-12-05T03:54:58Z"
"name": "alam00000/bentopdf",
"version": "v1.10.5",
"date": "2025-12-05T09:28:50Z"
},
{
"name": "transmission/transmission",
@ -264,11 +459,6 @@
"version": "v1.30.20",
"date": "2025-12-04T18:17:47Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.70",
"date": "2025-12-03T16:12:15Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w49-4.14.2",
@ -284,6 +474,11 @@
"version": "v0.34.2",
"date": "2025-12-04T13:08:18Z"
},
{
"name": "qdrant/qdrant",
"version": "v1.16.2",
"date": "2025-12-04T11:03:49Z"
},
{
"name": "glpi-project/glpi",
"version": "11.0.4",
@ -319,11 +514,6 @@
"version": "v5.5",
"date": "2025-12-03T21:20:30Z"
},
{
"name": "gelbphoenix/autocaliweb",
"version": "v0.11.1",
"date": "2025-12-03T18:24:51Z"
},
{
"name": "actualbudget/actual",
"version": "v25.12.0",
@ -334,11 +524,6 @@
"version": "v0.29.1",
"date": "2025-12-03T16:56:18Z"
},
{
"name": "BookStackApp/BookStack",
"version": "v25.11.5",
"date": "2025-12-03T14:51:03Z"
},
{
"name": "Graylog2/graylog2-server",
"version": "6.2.10",
@ -354,6 +539,11 @@
"version": "v0.104.0",
"date": "2025-12-03T06:48:38Z"
},
{
"name": "comfyanonymous/ComfyUI",
"version": "v0.3.77",
"date": "2025-12-03T05:02:09Z"
},
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
@ -367,7 +557,7 @@
{
"name": "mealie-recipes/mealie",
"version": "v3.6.1",
"date": "2025-12-02T22:54:10Z"
"date": "2025-12-02T23:08:41Z"
},
{
"name": "apache/tomcat",
@ -379,11 +569,6 @@
"version": "v0.6.41",
"date": "2025-12-02T22:28:58Z"
},
{
"name": "element-hq/synapse",
"version": "v1.143.0",
"date": "2025-11-25T16:49:54Z"
},
{
"name": "9001/copyparty",
"version": "v1.19.21",
@ -459,6 +644,11 @@
"version": "v0.16.0",
"date": "2025-12-01T21:35:19Z"
},
{
"name": "martabal/qbittorrent-exporter",
"version": "v1.13.0",
"date": "2025-12-01T21:06:38Z"
},
{
"name": "slskd/slskd",
"version": "0.24.1",
@ -484,6 +674,11 @@
"version": "0.211.0",
"date": "2025-12-01T11:22:11Z"
},
{
"name": "opencloud-eu/opencloud",
"version": "v4.0.0",
"date": "2025-12-01T09:33:08Z"
},
{
"name": "cockpit-project/cockpit",
"version": "310.6",
@ -539,16 +734,6 @@
"version": "v11.8.2",
"date": "2025-11-30T08:39:28Z"
},
{
"name": "pommee/goaway",
"version": "v0.62.20",
"date": "2025-11-30T06:51:31Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.90",
"date": "2025-11-11T01:00:32Z"
},
{
"name": "ErsatzTV/ErsatzTV",
"version": "v25.9.0",
@ -574,11 +759,6 @@
"version": "v3.4.6",
"date": "2025-11-29T02:43:00Z"
},
{
"name": "Paymenter/Paymenter",
"version": "v1.4.6",
"date": "2025-11-28T15:12:24Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.51.4",
@ -624,11 +804,6 @@
"version": "v4.7.0",
"date": "2025-11-26T16:59:45Z"
},
{
"name": "readeck/readeck",
"version": "0.21.3",
"date": "2025-11-26T16:08:17Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.2.0.2-2.2.0.2_beta_2025-11-26",
@ -644,16 +819,6 @@
"version": "release-1.24.2",
"date": "2025-11-26T11:22:30Z"
},
{
"name": "wizarrrr/wizarr",
"version": "v2025.11.3",
"date": "2025-11-25T20:20:38Z"
},
{
"name": "netbox-community/netbox",
"version": "v4.4.7",
"date": "2025-11-25T19:58:16Z"
},
{
"name": "karlomikus/bar-assistant",
"version": "v5.9.3",
@ -699,16 +864,16 @@
"version": "v1.18.0",
"date": "2025-11-23T17:42:53Z"
},
{
"name": "wavelog/wavelog",
"version": "2.2",
"date": "2025-11-23T17:32:38Z"
},
{
"name": "crafty-controller/crafty-4",
"version": "v4.6.1",
"date": "2025-11-23T16:42:50Z"
},
{
"name": "dedicatedcode/reitti",
"version": "v2.5.0",
"date": "2025-11-23T12:49:50Z"
},
{
"name": "go-gitea/gitea",
"version": "v1.25.2",
@ -744,11 +909,6 @@
"version": "5.2.4",
"date": "2025-11-21T10:25:05Z"
},
{
"name": "sabnzbd/sabnzbd",
"version": "4.5.5",
"date": "2025-10-24T11:12:22Z"
},
{
"name": "MariaDB/server",
"version": "mariadb-12.1.2",
@ -819,6 +979,11 @@
"version": "v7.5.0",
"date": "2025-11-19T08:36:29Z"
},
{
"name": "PatchMon/PatchMon",
"version": "v1.3.6",
"date": "2025-11-18T22:01:02Z"
},
{
"name": "redis/redis",
"version": "8.4.0",
@ -829,6 +994,11 @@
"version": "v2.13.5",
"date": "2025-11-18T11:47:48Z"
},
{
"name": "Hosteroid/domain-monitor",
"version": "v1.1.1",
"date": "2025-11-18T11:32:30Z"
},
{
"name": "PCJones/UmlautAdaptarr",
"version": "v0.7.5",
@ -840,9 +1010,14 @@
"date": "2025-11-18T05:51:46Z"
},
{
"name": "influxdata/telegraf",
"version": "v1.36.4",
"date": "2025-11-17T17:15:29Z"
"name": "passbolt/passbolt_api",
"version": "v5.7.2",
"date": "2025-11-17T15:17:55Z"
},
{
"name": "librenms/librenms",
"version": "25.11.0",
"date": "2025-11-17T13:29:57Z"
},
{
"name": "rabbitmq/rabbitmq-server",
@ -889,6 +1064,11 @@
"version": "4.10.1",
"date": "2025-11-15T04:36:48Z"
},
{
"name": "Lissy93/domain-locker",
"version": "v0.1.2",
"date": "2025-11-14T22:08:23Z"
},
{
"name": "runtipi/runtipi",
"version": "v4.6.5",
@ -904,6 +1084,11 @@
"version": "v1.0.25",
"date": "2025-11-12T16:57:54Z"
},
{
"name": "jason5ng32/MyIP",
"version": "v5.1.0",
"date": "2025-11-12T10:44:24Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.5",
@ -924,16 +1109,6 @@
"version": "REL_13_23",
"date": "2025-11-10T21:59:18Z"
},
{
"name": "pelican-dev/panel",
"version": "v1.0.0-beta28",
"date": "2025-11-09T17:36:07Z"
},
{
"name": "pelican-dev/wings",
"version": "v1.0.0-beta19",
"date": "2025-11-09T17:26:30Z"
},
{
"name": "apache/couchdb",
"version": "3.5.1",
@ -959,6 +1134,11 @@
"version": "v4.52.0",
"date": "2025-11-06T22:39:26Z"
},
{
"name": "deuxfleurs-org/garage",
"version": "v1.99.3-internal",
"date": "2025-11-06T17:27:21Z"
},
{
"name": "Notifiarr/notifiarr",
"version": "v0.9.1",
@ -984,6 +1164,11 @@
"version": "1.5.0",
"date": "2025-11-05T11:10:20Z"
},
{
"name": "SonarSource/sonarqube",
"version": "25.11.0.114957",
"date": "2025-11-05T10:26:59Z"
},
{
"name": "nicolargo/glances",
"version": "v4.4.1",
@ -1004,11 +1189,6 @@
"version": "v6.13.6",
"date": "2025-11-04T13:35:35Z"
},
{
"name": "home-assistant/operating-system",
"version": "16.3",
"date": "2025-11-04T12:28:47Z"
},
{
"name": "clusterzx/paperless-ai",
"version": "v3.0.9",
@ -1020,9 +1200,9 @@
"date": "2020-06-07T07:27:04Z"
},
{
"name": "zabbix/zabbix",
"version": "7.4.5",
"date": "2025-10-31T14:39:13Z"
"name": "wanetty/upgopher",
"version": "v1.12.0",
"date": "2025-11-01T14:32:38Z"
},
{
"name": "plankanban/planka",
@ -1034,16 +1214,16 @@
"version": "v1.10.1",
"date": "2025-10-31T08:25:57Z"
},
{
"name": "mongodb/mongo",
"version": "r7.0.26",
"date": "2025-10-30T18:44:14Z"
},
{
"name": "sassanix/Warracker",
"version": "1.0.2",
"date": "2025-10-30T18:23:23Z"
},
{
"name": "LogicLabs-OU/OpenArchiver",
"version": "v0.4.0",
"date": "2025-10-30T16:35:23Z"
},
{
"name": "homebridge/homebridge",
"version": "v1.11.1",
@ -1064,6 +1244,11 @@
"version": "v3.0.0-beta.2",
"date": "2025-10-28T10:16:29Z"
},
{
"name": "bakito/adguardhome-sync",
"version": "v0.8.2",
"date": "2025-10-24T17:13:47Z"
},
{
"name": "drakkan/sftpgo",
"version": "v2.7.0",
@ -1074,6 +1259,11 @@
"version": "v0.8.8.3",
"date": "2025-10-23T12:31:49Z"
},
{
"name": "miniflux/v2",
"version": "2.2.14",
"date": "2025-10-23T02:12:05Z"
},
{
"name": "louislam/uptime-kuma",
"version": "2.0.2",
@ -1129,6 +1319,11 @@
"version": "v1.5.9",
"date": "2025-10-06T08:34:01Z"
},
{
"name": "donetick/donetick",
"version": "v0.1.64",
"date": "2025-10-03T05:18:24Z"
},
{
"name": "MagicMirrorOrg/MagicMirror",
"version": "v2.33.0",
@ -1174,6 +1369,11 @@
"version": "v0.17.0",
"date": "2025-09-19T22:23:28Z"
},
{
"name": "Flomp/wanderer",
"version": "v0.18.3",
"date": "2025-09-19T16:16:11Z"
},
{
"name": "docmost/docmost",
"version": "v0.23.2",
@ -1209,6 +1409,11 @@
"version": "v0.8.1",
"date": "2025-09-14T06:45:23Z"
},
{
"name": "ThePhaseless/Byparr",
"version": "v2.0.1",
"date": "2025-09-11T20:29:38Z"
},
{
"name": "zerotier/ZeroTierOne",
"version": "1.16.0",
@ -1309,6 +1514,11 @@
"version": "1.34.3",
"date": "2025-07-30T09:10:59Z"
},
{
"name": "eko/pihole-exporter",
"version": "v1.2.0",
"date": "2025-07-29T19:15:37Z"
},
{
"name": "caddyserver/xcaddy",
"version": "v0.4.5",
@ -1354,21 +1564,11 @@
"version": "v0.8.4",
"date": "2025-06-10T07:57:14Z"
},
{
"name": "release-argus/Argus",
"version": "0.26.3",
"date": "2025-05-29T21:18:15Z"
},
{
"name": "stonith404/pingvin-share",
"version": "v1.13.0",
"date": "2025-05-25T20:21:13Z"
},
{
"name": "hansmi/prometheus-paperless-exporter",
"version": "v0.0.8",
"date": "2025-05-18T11:37:31Z"
},
{
"name": "stackblitz-labs/bolt.diy",
"version": "1.0.0",
@ -1384,6 +1584,11 @@
"version": "2025-05-07-r1",
"date": "2025-05-07T12:18:42Z"
},
{
"name": "CyferShepard/Jellystat",
"version": "1.1.6",
"date": "2025-05-01T17:11:00Z"
},
{
"name": "dotnetfactory/fluid-calendar",
"version": "v1.4.0",
@ -1543,10 +1748,5 @@
"name": "thelounge/thelounge-deb",
"version": "v4.4.3",
"date": "2024-04-06T12:24:35Z"
},
{
"name": "deepch/RTSPtoWeb",
"version": "v2.4.3",
"date": "2023-03-29T12:05:02Z"
}
]

View File

@ -6,7 +6,7 @@
],
"date_created": "2025-03-24",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 443,
"documentation": "https://documentation.wazuh.com/",

View File

@ -6,7 +6,7 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 6969,
"documentation": "https://wiki.servarr.com/en/whisparr",

View File

@ -11,7 +11,7 @@
"interface_port": 3000,
"documentation": "https://docs.requarks.io/",
"website": "https://js.wiki/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@master/webp/wiki-js.webp",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wiki-js.webp",
"config_path": "/opt/wikijs/config.yml",
"description": "Wiki.js is a free, open-source, and modern wiki application built using Node.js. It is designed to be fast, easy to use, and flexible, with a range of features for collaboration, knowledge management, and content creation. Wiki.js supports Markdown syntax for editing pages, and includes features such as version control, page history, and access control, making it easy to manage content and collaborate with others. The software is fully customizable, with a range of themes and extensions available, and can be deployed on a local server or in the cloud, making it an ideal choice for small teams and organizations looking to create and manage a wiki. Wiki.js provides a modern, user-friendly interface, and supports a range of data sources, including local file systems, databases, and cloud storage services.",
"install_methods": [

View File

@ -12,7 +12,7 @@
"interface_port": 5690,
"documentation": "https://docs.wizarr.dev/",
"website": "https://docs.wizarr.dev/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@master/webp/wizarr.webp",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/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": [

View File

@ -11,7 +11,7 @@
"interface_port": 80,
"documentation": "https://wordpress.org/documentation/",
"website": "https://wordpress.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@master/webp/wordpress.webp",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wordpress.webp",
"config_path": "/var/www/html/wordpress/wp-config.php",
"description": "WordPress is the simplest, most popular way to create your own website or blog. In fact, WordPress powers over 43.6% of all the websites on the Internet. Yes more than one in four websites that you visit are likely powered by WordPress.\n\nOn a slightly more technical level, WordPress is an open-source content management system licensed under GPLv2, which means that anyone can use or modify the WordPress software for free.",
"install_methods": [

View File

@ -11,7 +11,7 @@
"interface_port": null,
"documentation": "https://www.zabbix.com/documentation/current/en/manual",
"website": "https://www.zabbix.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@master/webp/zabbix.webp",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zabbix.webp",
"config_path": "/etc/zabbix/zabbix_server.conf",
"description": "Zabbix is an all-in-one monitoring solution with a variety of enterprise-grade features available right out of the box.",
"install_methods": [

View File

@ -11,7 +11,7 @@
"interface_port": null,
"documentation": "https://docs.zammad.org/en/latest/",
"website": "https://zammad.org/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@master/webp/zammad.webp",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zammad.webp",
"config_path": "/etc/nginx/sites-available/zammad.conf",
"description": "Zammad is a web based open source helpdesk/customer support system with many features to manage customer communication via several channels like telephone, facebook, twitter, chat and emails. It is distributed under version 3 of the GNU AFFERO General Public License (GNU AGPLv3).",
"install_methods": [

View File

@ -11,7 +11,7 @@
"interface_port": 3443,
"documentation": "https://docs.zerotier.com/",
"website": "https://www.zerotier.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@master/webp/zerotier.webp",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zerotier.webp",
"config_path": "/opt/key-networks/ztncui/.env",
"description": "ZeroTier is a secure network overlay that allows you to manage all of your network resources as if they were on the same LAN. The software-defined solution can be deployed in minutes from anywhere. No matter how many devices you need to connect, or where they are in the world, ZeroTier makes global networking simple.",
"install_methods": [

View File

@ -11,7 +11,7 @@
"interface_port": 9442,
"documentation": "https://www.zigbee2mqtt.io/guide/getting-started/",
"website": "https://www.zigbee2mqtt.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@master/webp/zigbee2mqtt.webp",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zigbee2mqtt.webp",
"config_path": "debian: /opt/zigbee2mqtt/data/configuration.yaml | alpine: /var/lib/zigbee2mqtt/configuration.yaml",
"description": "Zigbee2MQTT is an open-source software project that allows you to use Zigbee-based smart home devices (such as those sold under the Philips Hue and Ikea Tradfri brands) with MQTT-based home automation systems, like Home Assistant, Node-RED, and others. The software acts as a bridge between your Zigbee devices and MQTT, allowing you to control and monitor these devices from your home automation system.",
"install_methods": [

View File

@ -11,7 +11,7 @@
"interface_port": 3000,
"documentation": "https://zipline.diced.sh/docs/get-started",
"website": "https://zipline.diced.sh/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@master/webp/zipline.webp",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zipline.webp",
"config_path": "/opt/zipline/.env",
"description": "Zipline is a file-sharing and URL-shortening server designed for easy setup and extensive features. It allows users to upload files, organize them into folders, create shortened URLs, and manage uploads through a user-friendly dashboard. Additional features include image compression, video thumbnails, password protection, 2FA, OAuth2 registration, and API access for custom control. It supports integrations with platforms like Discord.",
"install_methods": [

View File

@ -34,7 +34,7 @@ export default function CodeCopyButton({
localStorage.setItem("warning", "1");
setTimeout(() => {
toast.error(
"Be careful when copying scripts from the internet. Always remember check the source!",
"Be careful when copying scripts from the internet. Always remember to check the source!",
{ duration: 8000 },
);
}, 500);

View File

@ -0,0 +1,39 @@
#!/bin/bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://coolify.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 install -y \
git \
openssl
msg_ok "Installed Dependencies"
msg_warn "WARNING: This script will run an external installer from a third-party source (https://coolify.io/)."
msg_warn "The following code is NOT maintained or audited by our repository."
msg_warn "If you have any doubts or concerns, please review the installer code before proceeding:"
msg_custom "${TAB3}${GATEWAY}${BGN}${CL}" "\e[1;34m" "→ https://cdn.coollabs.io/coolify/install.sh"
echo
read -r -p "${TAB3}Do you want to continue? [y/N]: " CONFIRM
if [[ ! "$CONFIRM" =~ ^([yY][eE][sS]|[yY])$ ]]; then
msg_error "Aborted by user. No changes have been made."
exit 10
fi
msg_info "Installing Coolify (Patience - this installs Docker and pulls containers)"
$STD bash <(curl -fsSL https://cdn.coollabs.io/coolify/install.sh)
msg_ok "Installed Coolify"
motd_ssh
customize
cleanup_lxc

View File

@ -0,0 +1,40 @@
#!/bin/bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://dokploy.com/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y \
git \
openssl \
redis
msg_ok "Installed Dependencies"
msg_warn "WARNING: This script will run an external installer from a third-party source (https://dokploy.com/)."
msg_warn "The following code is NOT maintained or audited by our repository."
msg_warn "If you have any doubts or concerns, please review the installer code before proceeding:"
msg_custom "${TAB3}${GATEWAY}${BGN}${CL}" "\e[1;34m" "→ https://dokploy.com/install.sh"
echo
read -r -p "${TAB3}Do you want to continue? [y/N]: " CONFIRM
if [[ ! "$CONFIRM" =~ ^([yY][eE][sS]|[yY])$ ]]; then
msg_error "Aborted by user. No changes have been made."
exit 10
fi
msg_info "Installing Dokploy (Patience - this installs Docker and pulls containers)"
$STD bash <(curl -sSL https://dokploy.com/install.sh)
msg_ok "Installed Dokploy"
motd_ssh
customize
cleanup_lxc

View File

@ -32,28 +32,10 @@ msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor"
PG_VERSION="17" PG_MODULES="contrib" setup_postgresql
PG_VERSION="17" setup_postgresql
PYTHON_VERSION="3.13" setup_uv
msg_info "Set up PostgreSQL Database"
DB_NAME=db_recipes
DB_USER=tandoor
PG_DB_USER="tandoor" PG_DB_NAME="db_recipes" PG_DB_EXTENSIONS="unaccent,pg_trgm" setup_postgresql_db
SECRET_KEY=$(openssl rand -base64 45 | sed 's/\//\\\//g')
DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMPLATE template0;"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
$STD sudo -u postgres psql -d "$DB_NAME" -c "CREATE EXTENSION IF NOT EXISTS unaccent;"
$STD sudo -u postgres psql -d "$DB_NAME" -c "CREATE EXTENSION IF NOT EXISTS pg_trgm;"
{
echo "Tandoor-Credentials"
echo "Tandoor Database Name: $DB_NAME"
echo "Tandoor Database User: $DB_USER"
echo "Tandoor Database Password: $DB_PASS"
} >>~/tandoor.creds
msg_ok "Set up PostgreSQL Database"
msg_info "Setup Tandoor"
mkdir -p /opt/tandoor/{config,api,mediafiles,staticfiles}
@ -69,16 +51,16 @@ TZ=Europe/Berlin
DB_ENGINE=django.db.backends.postgresql
POSTGRES_HOST=localhost
POSTGRES_DB=$DB_NAME
POSTGRES_DB=$PG_DB_NAME
POSTGRES_PORT=5432
POSTGRES_USER=$DB_USER
POSTGRES_PASSWORD=$DB_PASS
POSTGRES_USER=$PG_DB_USER
POSTGRES_PASSWORD=$PG_DB_PASS
STATIC_URL=/staticfiles/
MEDIA_URL=/media/
EOF
TANDOOR_VERSION="$(curl -s https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | jq -r .tag_name)"
TANDOOR_VERSION=$(get_latest_github_release "TandoorRecipes/recipes")
cat <<EOF >/opt/tandoor/cookbook/version_info.py
TANDOOR_VERSION = "$TANDOOR_VERSION"
TANDOOR_REF = "bare-metal"

View File

@ -14,36 +14,18 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y \
git
$STD apt install -y git
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn,node-gyp" setup_nodejs
PG_VERSION="17" setup_postgresql
PG_DB_NAME="wiki" PG_DB_USER="wikijs_user" PG_DB_EXTENSIONS="pg_trgm" setup_postgresql_db
fetch_and_deploy_gh_release "wikijs" "requarks/wiki" "prebuild" "latest" "/opt/wikijs" "wiki-js.tar.gz"
msg_info "Set up PostgreSQL"
DB_NAME="wiki"
DB_USER="wikijs_user"
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
$STD sudo -u postgres psql -c "CREATE EXTENSION IF NOT EXISTS pg_trgm;" $DB_NAME
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
{
echo "WikiJS-Credentials"
echo "WikiJS Database User: $DB_USER"
echo "WikiJS Database Password: $DB_PASS"
echo "WikiJS Database Name: $DB_NAME"
} >>~/wikijs.creds
msg_ok "Set up PostgreSQL"
msg_info "Configuring Wiki.js"
mv /opt/wikijs/config.sample.yml /opt/wikijs/config.yml
sed -i -E 's|^( *user: ).*|\1'"$DB_USER"'|' /opt/wikijs/config.yml
sed -i -E 's|^( *pass: ).*|\1'"$DB_PASS"'|' /opt/wikijs/config.yml
sed -i -E 's|^( *user: ).*|\1'"$PG_DB_USER"'|' /opt/wikijs/config.yml
sed -i -E 's|^( *pass: ).*|\1'"$PG_DB_PASS"'|' /opt/wikijs/config.yml
msg_ok "Configured Wiki.js"
msg_info "Creating Service"

View File

@ -19,25 +19,23 @@ msg_ok "Installed Dependencies"
setup_uv
NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "wizarr" "wizarrrr/wizarr"
fetch_and_deploy_gh_release "wizarr" "wizarrrr/wizarr" "tarball"
import_local_ip
msg_info "Configure Wizarr"
cd /opt/wizarr || exit
cd /opt/wizarr
$STD /usr/local/bin/uv sync --frozen
$STD /usr/local/bin/uv run --frozen pybabel compile -d app/translations
$STD npm --prefix app/static install
$STD npm --prefix app/static run build:css
mkdir -p ./.cache
LOCAL_IP="$(hostname -I | awk '{print $1}')"
VERSION="$(sed 's/^20/v&/' ~/.wizarr)"
cat <<EOF >/opt/wizarr/.env
FLASK_ENV=production
GUNICORN_WORKERS=4
APP_URL=http://${LOCAL_IP}
DISABLE_BUILTIN_AUTH=false
LOG_LEVEL=INFO
APP_VERSION=${VERSION}
APP_VERSION=v$(get_latest_github_release "wizarrrr/wizarr")
EOF
cat <<EOF >/opt/wizarr/start.sh

View File

@ -15,34 +15,20 @@ update_os
PHP_VERSION="8.4" PHP_FPM="YES" PHP_MODULE="common,snmp,imap,mysql" PHP_APACHE="YES" setup_php
setup_mariadb
msg_info "Setting up Database"
DB_NAME=wordpress_db
DB_USER=wordpress
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;"
$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
$STD mariadb -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{
echo "WordPress Credentials"
echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS"
echo "Database Name: $DB_NAME"
} >>~/wordpress.creds
msg_ok "Set up Database"
MARIADB_DB_NAME="wordpress_db" MARIADB_DB_USER="wordpress" setup_mariadb_db
msg_info "Installing Wordpress (Patience)"
cd /var/www/html || exit
cd /var/www/html
curl -fsSL "https://wordpress.org/latest.zip" -o "latest.zip"
$STD unzip latest.zip
chown -R www-data:www-data wordpress/
cd /var/www/html/wordpress || exit
cd /var/www/html/wordpress
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
mv wp-config-sample.php wp-config.php
sed -i -e "s|^define( 'DB_NAME', '.*' );|define( 'DB_NAME', '$DB_NAME' );|" \
-e "s|^define( 'DB_USER', '.*' );|define( 'DB_USER', '$DB_USER' );|" \
-e "s|^define( 'DB_PASSWORD', '.*' );|define( 'DB_PASSWORD', '$DB_PASS' );|" \
sed -i -e "s|^define( 'DB_NAME', '.*' );|define( 'DB_NAME', '$MARIADB_DB_NAME' );|" \
-e "s|^define( 'DB_USER', '.*' );|define( 'DB_USER', '$MARIADB_DB_USER' );|" \
-e "s|^define( 'DB_PASSWORD', '.*' );|define( 'DB_PASSWORD', '$MARIADB_DB_PASS' );|" \
/var/www/html/wordpress/wp-config.php
rm -rf /var/www/html/latest.zip
msg_ok "Installed Wordpress"

View File

@ -14,6 +14,7 @@ network_check
update_os
PG_VERSION="17" setup_postgresql
PG_DB_NAME="zabbixdb" PG_DB_USER="zabbix" setup_postgresql_db
read -rp "Choose Zabbix version [1] 7.0 LTS [2] 7.4 (Latest Stable) [3] Latest available (default: 2): " ZABBIX_CHOICE
ZABBIX_CHOICE=${ZABBIX_CHOICE:-2}
@ -35,6 +36,10 @@ curl -fsSL "$ZABBIX_DEB_URL" -o /tmp/zabbix-release_latest+debian13_all.deb
$STD dpkg -i /tmp/zabbix-release_latest+debian13_all.deb
$STD apt update
$STD apt install -y zabbix-server-pgsql zabbix-frontend-php php8.4-pgsql zabbix-apache-conf zabbix-sql-scripts
zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u "$PG_DB_USER" psql "$PG_DB_NAME" &>/dev/null
sed -i "s/^DBName=.*/DBName=$PG_DB_NAME/" /etc/zabbix/zabbix_server.conf
sed -i "s/^DBUser=.*/DBUser=$PG_DB_USER/" /etc/zabbix/zabbix_server.conf
sed -i "s/^# DBPassword=.*/DBPassword=$PG_DB_PASS/" /etc/zabbix/zabbix_server.conf
msg_ok "Installed Zabbix $ZABBIX_VERSION"
while true; do
@ -78,28 +83,6 @@ else
$STD apt install -y zabbix-agent
fi
msg_info "Setting up PostgreSQL"
DB_NAME=zabbixdb
DB_USER=zabbix
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
{
echo "Zabbix-Credentials"
echo "Zabbix Database User: $DB_USER"
echo "Zabbix Database Password: $DB_PASS"
echo "Zabbix Database Name: $DB_NAME"
} >>~/zabbix.creds
zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u $DB_USER psql $DB_NAME &>/dev/null
sed -i "s/^DBName=.*/DBName=$DB_NAME/" /etc/zabbix/zabbix_server.conf
sed -i "s/^DBUser=.*/DBUser=$DB_USER/" /etc/zabbix/zabbix_server.conf
sed -i "s/^# DBPassword=.*/DBPassword=$DB_PASS/" /etc/zabbix/zabbix_server.conf
msg_ok "Set up PostgreSQL"
msg_info "Configuring Fping"
if command -v fping >/dev/null 2>&1; then
FPING_PATH=$(command -v fping)

View File

@ -20,6 +20,8 @@ $STD apt install -y \
apt-transport-https
msg_ok "Installed Dependencies"
import_local_ip
msg_info "Setting up Elasticsearch"
setup_deb822_repo \
"elasticsearch" \
@ -27,7 +29,7 @@ setup_deb822_repo \
"https://artifacts.elastic.co/packages/7.x/apt" \
"stable" \
"main"
$STD apt -y install elasticsearch
$STD apt install -y elasticsearch
echo "-Xms2g" >>/etc/elasticsearch/jvm.options
echo "-Xmx2g" >>/etc/elasticsearch/jvm.options
$STD /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment -b
@ -42,15 +44,14 @@ setup_deb822_repo \
"https://dl.packager.io/srv/deb/zammad/zammad/stable/debian" \
"$(get_os_info version_id)" \
"main"
$STD apt -y install zammad
$STD apt install -y zammad
$STD zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
$STD zammad run rake zammad:searchindex:rebuild
msg_ok "Installed Zammad"
msg_info "Setup Services"
cp /opt/zammad/contrib/nginx/zammad.conf /etc/nginx/sites-available/zammad.conf
IPADDRESS=$(hostname -I | awk '{print $1}')
sed -i "s/server_name localhost;/server_name $IPADDRESS;/g" /etc/nginx/sites-available/zammad.conf
sed -i "s/server_name localhost;/server_name $LOCAL_IP;/g" /etc/nginx/sites-available/zammad.conf
$STD systemctl reload nginx
msg_ok "Created Service"

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
#Copyright (c) 2021-2025 community-scripts ORG
# Copyright (c) 2021-2025 community-scripts ORG
# Author: tremor021
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.zerotier.com/
@ -13,6 +13,17 @@ setting_up_container
network_check
update_os
msg_warn "WARNING: This script will run an external installer from a third-party source (https://install.zerotier.com)."
msg_warn "The following code is NOT maintained or audited by our repository."
msg_warn "If you have any doubts or concerns, please review the installer code before proceeding:"
msg_custom "${TAB3}${GATEWAY}${BGN}${CL}" "\e[1;34m" "→ https://install.zerotier.com"
echo
read -r -p "${TAB3}Do you want to continue? [y/N]: " CONFIRM
if [[ ! $CONFIRM =~ ^([yY][eE][sS]|[yY])$ ]]; then
msg_error "Aborted by user. No changes have been made."
exit 10
fi
msg_info "Setting up Zerotier-One"
curl -fsSL https://raw.githubusercontent.com/zerotier/ZeroTierOne/main/doc/contact%40zerotier.com.gpg | gpg --import >/dev/null 2>&1
curl -fsSL https://install.zerotier.com -o /tmp/zerotier-install.sh
@ -33,7 +44,7 @@ echo NODE_ENV=production >>/opt/key-networks/ztncui/.env
chmod 400 /opt/key-networks/ztncui/.env
chown ztncui:ztncui /opt/key-networks/ztncui/.env
systemctl restart ztncui
msg_ok "Done setting up UI."
msg_ok "Setup UI."
motd_ssh
customize

View File

@ -16,31 +16,26 @@ update_os
msg_info "Installing Dependencies"
$STD apt install -y \
git \
make \
g++ \
gcc \
ca-certificates \
jq
build-essential
msg_ok "Installed Dependencies"
NODE_VERSION="24" NODE_MODULE="pnpm@$(curl -fsSL https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/master/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
fetch_and_deploy_gh_release "Zigbee2MQTT" "Koenkk/zigbee2mqtt" "tarball" "latest" "/opt/zigbee2mqtt"
msg_info "Setting up Zigbee2MQTT"
cd /opt/zigbee2mqtt/data || exit
mv configuration.example.yaml configuration.yaml
cd /opt/zigbee2mqtt || exit
mv /opt/zigbee2mqtt/data/configuration.example.yaml /opt/zigbee2mqtt/data/configuration.yaml
cd /opt/zigbee2mqtt
echo "packageImportMethod: hardlink" >>./pnpm-workspace.yaml
$STD pnpm install --no-frozen-lockfile
$STD pnpm build
msg_ok "Installed Zigbee2MQTT"
msg_ok "Setup Zigbee2MQTT"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/zigbee2mqtt.service
[Unit]
Description=zigbee2mqtt
After=network.target
[Service]
Environment=NODE_ENV=production
ExecStart=/usr/bin/pnpm start
@ -49,6 +44,7 @@ StandardOutput=inherit
StandardError=inherit
Restart=always
User=root
[Install]
WantedBy=multi-user.target
EOF

View File

@ -16,31 +16,15 @@ update_os
NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs
PG_VERSION="17" setup_postgresql
PG_DB_NAME="ziplinedb" PG_DB_USER="zipline" setup_postgresql_db
fetch_and_deploy_gh_release "zipline" "diced/zipline" "tarball"
msg_info "Setting up PostgreSQL"
DB_NAME=ziplinedb
DB_USER=zipline
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
SECRET_KEY="$(openssl rand -base64 42 | tr -dc 'a-zA-Z0-9')"
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
{
echo "Zipline-Credentials"
echo "Zipline Database User: $DB_USER"
echo "Zipline Database Password: $DB_PASS"
echo "Zipline Database Name: $DB_NAME"
echo "Zipline Secret Key: $SECRET_KEY"
} >>~/zipline.creds
msg_ok "Set up PostgreSQL"
echo "Zipline Secret Key: ${SECRET_KEY}" >>~/zipline.creds
msg_info "Installing Zipline (Patience)"
cd /opt/zipline || exit
cat <<EOF >/opt/zipline/.env
DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME
DATABASE_URL=postgres://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME
CORE_SECRET=$SECRET_KEY
CORE_HOSTNAME=0.0.0.0
CORE_PORT=3000

View File

@ -1453,15 +1453,32 @@ check_for_gh_release() {
ensure_dependencies jq
# Fetch releases and exclude drafts/prereleases
local releases_json
releases_json=$(curl -fsSL --max-time 20 \
-H 'Accept: application/vnd.github+json' \
-H 'X-GitHub-Api-Version: 2022-11-28' \
"https://api.github.com/repos/${source}/releases") || {
msg_error "Unable to fetch releases for ${app}"
return 1
}
# Try /latest endpoint for non-pinned versions (most efficient)
local releases_json=""
if [[ -z "$pinned_version_in" ]]; then
releases_json=$(curl -fsSL --max-time 20 \
-H 'Accept: application/vnd.github+json' \
-H 'X-GitHub-Api-Version: 2022-11-28' \
"https://api.github.com/repos/${source}/releases/latest" 2>/dev/null)
if [[ $? -eq 0 ]] && [[ -n "$releases_json" ]]; then
# Wrap single release in array for consistent processing
releases_json="[$releases_json]"
fi
fi
# If no releases yet (pinned version OR /latest failed), fetch up to 100
if [[ -z "$releases_json" ]]; then
# Fetch releases and exclude drafts/prereleases
releases_json=$(curl -fsSL --max-time 20 \
-H 'Accept: application/vnd.github+json' \
-H 'X-GitHub-Api-Version: 2022-11-28' \
"https://api.github.com/repos/${source}/releases?per_page=100") || {
msg_error "Unable to fetch releases for ${app}"
return 1
}
fi
mapfile -t raw_tags < <(jq -r '.[] | select(.draft==false and .prerelease==false) | .tag_name' <<<"$releases_json")
if ((${#raw_tags[@]} == 0)); then