Compare commits

...

13 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
46ca78abc8 Update CHANGELOG.md (#3984)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-22 19:57:02 +02:00
community-scripts-pr-app[bot]
933539ca7c Update .app files (#3985)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-04-22 19:56:13 +02:00
push-app-to-main[bot]
2c46695b72 reactive-resume (#3980)
* 'Add new script'

* Update reactive-resume.sh

* Update reactive-resume-install.sh

* fssl

* fssl

* date

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-04-22 19:48:13 +02:00
community-scripts-pr-app[bot]
f46c3005b3 Update versions.json (#3963)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-22 18:29:21 +02:00
community-scripts-pr-app[bot]
bad84322ee Update CHANGELOG.md (#3982)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-22 16:21:12 +02:00
Michel Roegl-Brunner
3b12c0ca62 Create close-ttek-issues.yaml (#3981) 2025-04-22 15:48:01 +02:00
community-scripts-pr-app[bot]
2583c110d2 Update CHANGELOG.md (#3979)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-22 15:35:40 +02:00
Michel Roegl-Brunner
22c960c99c Fix Turnkey Source Link (#3978) 2025-04-22 14:41:17 +02:00
community-scripts-pr-app[bot]
fcb674b755 Update CHANGELOG.md (#3976)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-22 11:56:30 +02:00
Slaviša Arežina
0373324653 FIx a bug in update procedure and general code maintenance (#3974) 2025-04-22 11:51:50 +02:00
community-scripts-pr-app[bot]
3297df1d50 Update CHANGELOG.md (#3970)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-22 09:53:33 +02:00
Slaviša Arežina
80f1330a75 qBittorrent: Update web page (#3969)
* Set updateable to true

* Update documentation link
2025-04-22 09:30:29 +02:00
community-scripts-pr-app[bot]
05fda7e56a Update versions.json (#3956)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-20 20:59:26 +02:00
11 changed files with 784 additions and 368 deletions

View File

@@ -0,0 +1,51 @@
name: Auto-Close tteck Issues
on:
issues:
types: [opened]
jobs:
close_tteck_issues:
runs-on: ubuntu-latest
steps:
- name: Auto-close if tteck script detected
uses: actions/github-script@v7
with:
script: |
const issue = context.payload.issue;
const content = `${issue.title}\n${issue.body}`;
const issueNumber = issue.number;
// Check for tteck script mention
if (content.includes("tteck") || content.includes("tteck/Proxmox")) {
const message = `Hello, it looks like you are referencing the **old tteck repo**.
This repository is no longer used for active scripts.
**Please update your bookmarks** and use: [https://helper-scripts.com](https://helper-scripts.com)
Also make sure your Bash command starts with:
\`\`\`bash
bash <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/...)
\`\`\`
This issue is being closed automatically.`;
await github.rest.issues.createComment({
...context.repo,
issue_number: issueNumber,
body: message
});
// Optionally apply a label like "not planned"
await github.rest.issues.addLabels({
...context.repo,
issue_number: issueNumber,
labels: ["not planned"]
});
// Close the issue
await github.rest.issues.update({
...context.repo,
issue_number: issueNumber,
state: "closed"
});
}

View File

@@ -14,6 +14,34 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
## 2025-04-22
### 🆕 New Scripts
- reactive-resume ([#3980](https://github.com/community-scripts/ProxmoxVE/pull/3980))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- wger: Fix a bug in update procedure and general code maintenance [@tremor021](https://github.com/tremor021) ([#3974](https://github.com/community-scripts/ProxmoxVE/pull/3974))
### 🧰 Maintenance
- #### 📂 Github
- Add workflow to close ttek Repo relatate issues [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#3981](https://github.com/community-scripts/ProxmoxVE/pull/3981))
### 🌐 Website
- #### 🐞 Bug Fixes
- Fix Turnkey Source Link in Button Component [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#3978](https://github.com/community-scripts/ProxmoxVE/pull/3978))
- #### 📝 Script Information
- qBittorrent: Update web page [@tremor021](https://github.com/tremor021) ([#3969](https://github.com/community-scripts/ProxmoxVE/pull/3969))
## 2025-04-19
### 🆕 New Scripts

View File

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

106
ct/reactive-resume.sh Normal file
View File

@@ -0,0 +1,106 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: vhsdream
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://rxresu.me
APP="Reactive-Resume"
var_tags="${var_tags:-documents}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/Reactive-Resume.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/AmruthPillai/Reactive-Resume/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping services"
systemctl stop Reactive-Resume
msg_ok "Stopped services"
msg_info "Updating $APP to v${RELEASE}"
cp /opt/${APP}/.env /opt/rxresume.env
res_tmp=$(mktemp)
rm -rf /opt/${APP}
curl -fsSL "https://github.com/AmruthPillai/Reactive-Resume/archive/refs/tags/v${RELEASE}.zip" -O $res_tmp
unzip -q $res_tmp
mv ${APP}-${RELEASE}/ /opt/${APP}
cd /opt/${APP}
export PUPPETEER_SKIP_DOWNLOAD="true"
export NEXT_TELEMETRY_DISABLED=1
export CI="true"
export NODE_ENV="production"
$STD pnpm install --frozen-lockfile
$STD pnpm run build
$STD pnpm run prisma:generate
mv /opt/rxresume.env /opt/${APP}/.env
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Updating Minio"
systemctl stop minio
cd /tmp
curl -fsSL https://dl.min.io/server/minio/release/linux-amd64/minio.deb -o minio.deb
$STD dpkg -i minio.deb
msg_ok "Updated Minio"
msg_info "Updating Browserless (Patience)"
systemctl stop browserless
cp /opt/browserless/.env /opt/browserless.env
rm -rf browserless
brwsr_tmp=$(mktemp)
TAG=$(curl -fsSL https://api.github.com/repos/browserless/browserless/tags?per_page=1 | grep "name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL https://github.com/browserless/browserless/archive/refs/tags/v${TAG}.zip -O $brwsr_tmp
unzip -q $brwsr_tmp
mv browserless-${TAG}/ /opt/browserless
cd /opt/browserless
$STD npm install
rm -rf src/routes/{chrome,edge,firefox,webkit}
$STD node_modules/playwright-core/cli.js install --with-deps chromium
$STD npm run build
$STD npm run build:function
$STD npm prune production
mv /opt/browserless.env /opt/browserless/.env
msg_ok "Updated Browserless"
msg_info "Restarting services"
systemctl start minio Reactive-Resume browserless
msg_ok "Restarted services"
msg_info "Cleaning Up"
rm -f /tmp/minio.deb
rm -f $brwsr_tmp
rm -f $res_tmp
msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

View File

@@ -35,10 +35,9 @@ function update_script() {
msg_info "Updating $APP to v${RELEASE}"
temp_file=$(mktemp)
cd $temp_file
curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -o "$temp_file"
tar xzf $temp_file
cp -rf wger-$RELEASE/* /home/wger/src
curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -o "$temp_file"
tar xzf "$temp_file"
cp -rf wger-"$RELEASE"/* /home/wger/src
cd /home/wger/src
python3 manage.py migrate &>/dev/null
yarn install &>/dev/null
@@ -52,7 +51,7 @@ curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.
msg_ok "Started $APP"
msg_info "Cleaning Up"
rm -rf $temp_file
rm -rf "$temp_file"
msg_ok "Cleanup Completed"
msg_ok "Update Successful"

View File

@@ -6,10 +6,10 @@
],
"date_created": "2024-05-02",
"type": "ct",
"updateable": false,
"updateable": true,
"privileged": false,
"interface_port": 8090,
"documentation": null,
"documentation": "https://github.com/qbittorrent/qBittorrent/wiki/",
"website": "https://www.qbittorrent.org/",
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/qbittorrent.svg",
"description": "qBittorrent offers a user-friendly interface that allows users to search for and download torrent files easily. It also supports magnet links, which allow users to start downloading files without the need for a torrent file.",

View File

@@ -0,0 +1,34 @@
{
"name": "Reactive Resume",
"slug": "reactive-resume",
"categories": [
12
],
"date_created": "2025-04-22",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://docs.rxresu.me/",
"website": "https://rxresu.me",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/reactive-resume-light.png",
"description": "A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever.",
"install_methods": [
{
"type": "default",
"script": "ct/reactive-resume.sh",
"resources": {
"cpu": 2,
"ram": 3072,
"hdd": 8,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -1,98 +1,28 @@
[
{
"name": "runtipi/runtipi",
"version": "v3.10.0-beta.9",
"date": "2025-04-17T11:46:08Z"
},
{
"name": "prometheus-pve/prometheus-pve-exporter",
"version": "v3.5.3",
"date": "2025-04-17T10:40:47Z"
},
{
"name": "fhem/fhem-mirror",
"version": "6.2",
"date": "2025-04-17T10:34:25Z"
"date": "2025-04-22T10:34:10Z"
},
{
"name": "karakeep-app/karakeep",
"version": "mcp/v0.23.6",
"date": "2025-04-17T10:33:10Z"
"name": "OctoPrint/OctoPrint",
"version": "1.11.0",
"date": "2025-04-22T09:33:46Z"
},
{
"name": "traefik/traefik",
"version": "v2.11.23",
"date": "2025-04-17T10:14:21Z"
"name": "n8n-io/n8n",
"version": "n8n@1.86.1",
"date": "2025-04-09T09:20:55Z"
},
{
"name": "IceWhaleTech/CasaOS",
"version": "v0.4.15",
"date": "2024-12-19T03:19:49Z"
"name": "zabbix/zabbix",
"version": "6.0.40",
"date": "2025-04-22T08:43:35Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.1",
"date": "2025-01-01T16:15:52Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.1788",
"date": "2025-04-17T05:53:12Z"
},
{
"name": "ollama/ollama",
"version": "v0.6.6-rc1",
"date": "2025-04-17T01:56:29Z"
},
{
"name": "esphome/esphome",
"version": "2025.4.0",
"date": "2025-04-17T00:55:34Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.49.14",
"date": "2025-04-16T21:32:22Z"
},
{
"name": "influxdata/influxdb",
"version": "v3.0.0",
"date": "2025-04-16T21:21:04Z"
},
{
"name": "moghtech/komodo",
"version": "v1.17.1",
"date": "2025-04-14T22:35:13Z"
},
{
"name": "docmost/docmost",
"version": "v0.10.2",
"date": "2025-04-16T20:43:40Z"
},
{
"name": "keycloak/keycloak",
"version": "26.2.0",
"date": "2025-04-11T12:48:27Z"
},
{
"name": "ellite/Wallos",
"version": "v2.50.1",
"date": "2025-04-16T19:31:56Z"
},
{
"name": "forgejo/forgejo",
"version": "v11.0.0",
"date": "2025-04-16T19:25:53Z"
},
{
"name": "openobserve/openobserve",
"version": "v0.14.6-rc4",
"date": "2025-04-16T18:28:51Z"
},
{
"name": "element-hq/synapse",
"version": "v1.129.0rc1",
"date": "2025-04-16T15:18:13Z"
"name": "Checkmk/checkmk",
"version": "v2.4.0b6-rc1",
"date": "2025-04-22T08:12:24Z"
},
{
"name": "nzbgetcom/nzbget",
@@ -100,14 +30,284 @@
"date": "2025-03-18T07:33:51Z"
},
{
"name": "pocket-id/pocket-id",
"version": "v0.47.0",
"date": "2025-04-16T14:32:31Z"
"name": "openobserve/openobserve",
"version": "v0.14.6-rc5",
"date": "2025-04-22T06:50:13Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.86.1",
"date": "2025-04-09T09:20:55Z"
"name": "mattermost/mattermost",
"version": "v10.6.2",
"date": "2025-04-15T08:14:23Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.1",
"date": "2025-01-01T16:15:52Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.12",
"date": "2025-04-20T19:22:17Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.1809",
"date": "2025-04-22T05:55:35Z"
},
{
"name": "monicahq/monica",
"version": "v4.1.2",
"date": "2024-05-04T08:06:50Z"
},
{
"name": "OliveTin/OliveTin",
"version": "2025.4.21",
"date": "2025-04-21T19:16:09Z"
},
{
"name": "Suwayomi/Suwayomi-Server",
"version": "v2.0.1727",
"date": "2025-04-21T17:53:05Z"
},
{
"name": "TasmoAdmin/TasmoAdmin",
"version": "v4.3.0",
"date": "2025-04-21T17:44:40Z"
},
{
"name": "emqx/emqx",
"version": "e5.9.0-beta.4",
"date": "2025-04-21T17:08:59Z"
},
{
"name": "runtipi/runtipi",
"version": "v3.10.0-beta.9",
"date": "2025-04-17T11:46:08Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.60",
"date": "2025-04-14T11:46:19Z"
},
{
"name": "keycloak/keycloak",
"version": "26.2.0",
"date": "2025-04-11T12:48:27Z"
},
{
"name": "cross-seed/cross-seed",
"version": "v6.11.2",
"date": "2025-02-26T14:54:49Z"
},
{
"name": "Prowlarr/Prowlarr",
"version": "v1.34.1.5021",
"date": "2025-04-20T19:29:50Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.13.14",
"date": "2025-04-19T20:39:23Z"
},
{
"name": "pocket-id/pocket-id",
"version": "v0.49.0",
"date": "2025-04-20T18:03:03Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.0.14",
"date": "2025-04-09T10:09:00Z"
},
{
"name": "Kareadita/Kavita",
"version": "v0.8.6.2",
"date": "2025-04-20T16:55:38Z"
},
{
"name": "openhab/openhab-core",
"version": "5.0.0.M2",
"date": "2025-04-20T13:16:29Z"
},
{
"name": "pocketbase/pocketbase",
"version": "v0.27.1",
"date": "2025-04-20T11:26:50Z"
},
{
"name": "karakeep-app/karakeep",
"version": "extension/v1.2.5",
"date": "2025-04-20T10:19:06Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.8.11.0",
"date": "2025-03-10T06:39:11Z"
},
{
"name": "Readarr/Readarr",
"version": "v2.0.0.4645",
"date": "2017-03-07T18:56:06Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.21.1.9799",
"date": "2025-03-24T15:52:12Z"
},
{
"name": "paperless-ngx/paperless-ngx",
"version": "v2.15.3",
"date": "2025-04-19T23:02:17Z"
},
{
"name": "ellite/Wallos",
"version": "v2.52.0",
"date": "2025-04-19T20:36:50Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.20.7",
"date": "2025-04-19T20:35:09Z"
},
{
"name": "theonedev/onedev",
"version": "v11.8.7",
"date": "2025-04-19T11:19:29Z"
},
{
"name": "home-assistant/core",
"version": "2025.4.3",
"date": "2025-04-19T10:23:38Z"
},
{
"name": "moghtech/komodo",
"version": "v1.17.2",
"date": "2025-04-19T06:56:25Z"
},
{
"name": "ollama/ollama",
"version": "v0.6.6-rc1",
"date": "2025-04-17T01:56:29Z"
},
{
"name": "caddyserver/caddy",
"version": "v2.10.0",
"date": "2025-04-18T20:46:28Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.17.0",
"date": "2025-04-18T19:14:57Z"
},
{
"name": "Paymenter/Paymenter",
"version": "v1.0.4",
"date": "2025-04-18T16:08:02Z"
},
{
"name": "prometheus/prometheus",
"version": "v3.3.0",
"date": "2025-04-18T13:46:38Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.49.15",
"date": "2025-04-18T12:58:26Z"
},
{
"name": "traefik/traefik",
"version": "v3.3.6",
"date": "2025-04-18T09:28:22Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "1.5.34",
"date": "2025-03-27T16:17:38Z"
},
{
"name": "Luligu/matterbridge",
"version": "2.2.9",
"date": "2025-04-18T10:05:52Z"
},
{
"name": "HabitRPG/habitica",
"version": "v5.35.4",
"date": "2025-04-17T21:18:55Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.82.5",
"date": "2025-04-17T20:59:15Z"
},
{
"name": "TriliumNext/Notes",
"version": "v0.93.0",
"date": "2025-04-17T20:05:25Z"
},
{
"name": "coder/code-server",
"version": "v4.99.3",
"date": "2025-04-17T18:33:11Z"
},
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "v1.19.0-victorialogs",
"date": "2025-04-17T18:26:31Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.1.0.116-2.1.0.116_canary_2025-04-17",
"date": "2025-04-17T17:52:31Z"
},
{
"name": "benzino77/tasmocompiler",
"version": "v12.6.1",
"date": "2025-04-17T17:35:02Z"
},
{
"name": "docker/compose",
"version": "v2.35.1",
"date": "2025-04-17T14:29:11Z"
},
{
"name": "influxdata/influxdb",
"version": "v3.0.1",
"date": "2025-04-17T14:06:09Z"
},
{
"name": "documenso/documenso",
"version": "v1.10.0-rc.5",
"date": "2025-04-17T13:01:43Z"
},
{
"name": "prometheus-pve/prometheus-pve-exporter",
"version": "v3.5.3",
"date": "2025-04-17T10:40:47Z"
},
{
"name": "IceWhaleTech/CasaOS",
"version": "v0.4.15",
"date": "2024-12-19T03:19:49Z"
},
{
"name": "esphome/esphome",
"version": "2025.4.0",
"date": "2025-04-17T00:55:34Z"
},
{
"name": "docmost/docmost",
"version": "v0.10.2",
"date": "2025-04-16T20:43:40Z"
},
{
"name": "forgejo/forgejo",
"version": "v11.0.0",
"date": "2025-04-16T19:25:53Z"
},
{
"name": "element-hq/synapse",
"version": "v1.129.0rc1",
"date": "2025-04-16T15:18:13Z"
},
{
"name": "jenkinsci/jenkins",
@@ -116,34 +316,14 @@
},
{
"name": "wazuh/wazuh",
"version": "coverity-w16-4.12.0",
"date": "2025-04-15T08:25:08Z"
},
{
"name": "pocketbase/pocketbase",
"version": "v0.27.0",
"date": "2025-04-16T04:54:37Z"
"version": "coverity-w17-4.12.0",
"date": "2025-04-16T11:20:57Z"
},
{
"name": "icereed/paperless-gpt",
"version": "v0.15.0",
"date": "2025-04-16T03:58:02Z"
},
{
"name": "HabitRPG/habitica",
"version": "v5.35.3",
"date": "2025-04-15T19:32:17Z"
},
{
"name": "Checkmk/checkmk",
"version": "v2.4.0b5",
"date": "2025-04-15T17:59:06Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.8.11.0",
"date": "2025-03-10T06:39:11Z"
},
{
"name": "rabbitmq/rabbitmq-server",
"version": "v4.1.0",
@@ -164,21 +344,6 @@
"version": "v0.45.6",
"date": "2025-04-15T14:16:52Z"
},
{
"name": "prometheus/prometheus",
"version": "v0.303.0",
"date": "2025-04-15T13:30:05Z"
},
{
"name": "mattermost/mattermost",
"version": "v10.6.2",
"date": "2025-04-15T08:14:23Z"
},
{
"name": "zabbix/zabbix",
"version": "7.0.12rc1",
"date": "2025-04-15T08:00:11Z"
},
{
"name": "slskd/slskd",
"version": "0.22.5",
@@ -189,41 +354,11 @@
"version": "v0.14.1",
"date": "2024-08-29T22:32:51Z"
},
{
"name": "Kareadita/Kavita",
"version": "v0.8.6",
"date": "2025-04-14T22:09:30Z"
},
{
"name": "paperless-ngx/paperless-ngx",
"version": "v2.15.2",
"date": "2025-04-14T20:48:52Z"
},
{
"name": "semaphoreui/semaphore",
"version": "v2.13.13",
"date": "2025-04-11T10:15:13Z"
},
{
"name": "netbox-community/netbox",
"version": "v4.2.7",
"date": "2025-04-10T20:08:13Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.1.0.115-2.1.0.115_canary_2025-04-14",
"date": "2025-04-14T18:03:36Z"
},
{
"name": "OliveTin/OliveTin",
"version": "2025.4.14",
"date": "2025-04-14T16:53:53Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.20.0",
"date": "2025-04-14T16:19:23Z"
},
{
"name": "home-assistant/operating-system",
"version": "15.2",
@@ -234,11 +369,6 @@
"version": "v0.0.7-hf1",
"date": "2025-03-10T20:49:39Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.60",
"date": "2025-04-14T11:46:19Z"
},
{
"name": "Graylog2/graylog2-server",
"version": "6.2.0-rc.1",
@@ -264,11 +394,6 @@
"version": "0.203.1",
"date": "2025-04-14T07:23:02Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.10",
"date": "2025-03-22T13:02:26Z"
},
{
"name": "glanceapp/glance",
"version": "v0.7.12",
@@ -304,21 +429,6 @@
"version": "v2.10.3.4602",
"date": "2025-03-23T11:00:37Z"
},
{
"name": "Readarr/Readarr",
"version": "v2.0.0.4645",
"date": "2017-03-07T18:56:06Z"
},
{
"name": "Prowlarr/Prowlarr",
"version": "v1.33.3.5008",
"date": "2025-04-09T17:58:37Z"
},
{
"name": "Radarr/Radarr",
"version": "v5.21.1.9799",
"date": "2025-03-24T15:52:12Z"
},
{
"name": "Tautulli/Tautulli",
"version": "v2.15.2",
@@ -329,11 +439,6 @@
"version": "v0.2.11",
"date": "2025-04-12T21:13:08Z"
},
{
"name": "home-assistant/core",
"version": "2025.4.2",
"date": "2025-04-12T09:46:22Z"
},
{
"name": "readeck/readeck",
"version": "0.18.0",
@@ -344,31 +449,6 @@
"version": "v5.5.2",
"date": "2025-04-11T22:00:06Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.16.0",
"date": "2025-04-11T19:15:24Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.82.4",
"date": "2025-04-11T17:58:09Z"
},
{
"name": "coder/code-server",
"version": "v4.99.2",
"date": "2025-04-11T17:57:47Z"
},
{
"name": "TriliumNext/Notes",
"version": "v0.0.0",
"date": "2025-04-11T14:18:00Z"
},
{
"name": "emqx/emqx",
"version": "e5.9.0-beta.3",
"date": "2025-04-11T14:17:53Z"
},
{
"name": "NLnetLabs/unbound",
"version": "release-1.23.0rc2",
@@ -384,11 +464,6 @@
"version": "v0.83.0",
"date": "2025-04-11T03:53:10Z"
},
{
"name": "Luligu/matterbridge",
"version": "2.2.8",
"date": "2025-04-10T20:30:49Z"
},
{
"name": "gristlabs/grist-core",
"version": "v1.5.1",
@@ -399,26 +474,11 @@
"version": "cassandra-5.0.4",
"date": "2025-04-10T16:32:00Z"
},
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "v1.18.0-victorialogs",
"date": "2025-04-10T15:05:20Z"
},
{
"name": "NodeBB/NodeBB",
"version": "v4.2.1",
"date": "2025-04-10T14:03:47Z"
},
{
"name": "Paymenter/Paymenter",
"version": "v1.0.3",
"date": "2025-04-10T13:57:39Z"
},
{
"name": "docker/compose",
"version": "v2.35.0",
"date": "2025-04-10T13:45:22Z"
},
{
"name": "mongodb/mongo",
"version": "r8.0.5-rc2",
@@ -439,11 +499,6 @@
"version": "v2.69.10",
"date": "2025-04-09T12:16:51Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.0.14",
"date": "2025-04-09T10:09:00Z"
},
{
"name": "minio/minio",
"version": "RELEASE.2025-04-08T15-41-24Z",
@@ -509,11 +564,6 @@
"version": "2.0.3",
"date": "2025-04-06T17:35:41Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "1.5.34",
"date": "2025-03-27T16:17:38Z"
},
{
"name": "TechnitiumSoftware/DnsServer",
"version": "v13.5.0",
@@ -579,11 +629,6 @@
"version": "9.0.104",
"date": "2025-04-04T12:58:11Z"
},
{
"name": "OctoPrint/OctoPrint",
"version": "1.10.3",
"date": "2024-11-05T09:20:50Z"
},
{
"name": "BookStackApp/BookStack",
"version": "v25.02.2",
@@ -609,11 +654,6 @@
"version": "v2.31.0",
"date": "2025-04-01T18:12:45Z"
},
{
"name": "theonedev/onedev",
"version": "v11.8.6",
"date": "2025-04-01T13:52:03Z"
},
{
"name": "neo4j/neo4j",
"version": "5.26.5",
@@ -629,11 +669,6 @@
"version": "v2.2.0",
"date": "2025-03-31T21:31:48Z"
},
{
"name": "documenso/documenso",
"version": "v1.10.0-rc.4",
"date": "2025-03-31T09:02:22Z"
},
{
"name": "mysql/mysql-server",
"version": "mysql-cluster-9.3.0",
@@ -654,11 +689,6 @@
"version": "v1.17.0",
"date": "2025-03-30T14:21:53Z"
},
{
"name": "openhab/openhab-core",
"version": "4.3.4",
"date": "2025-03-30T13:32:38Z"
},
{
"name": "aceberg/WatchYourLAN",
"version": "2.1.2-alpine",
@@ -679,11 +709,6 @@
"version": "v1.6.1",
"date": "2025-03-15T17:29:17Z"
},
{
"name": "TasmoAdmin/TasmoAdmin",
"version": "v4.2.3",
"date": "2025-02-09T23:07:48Z"
},
{
"name": "grocy/grocy",
"version": "v4.5.0",
@@ -744,11 +769,6 @@
"version": "v1.6.8",
"date": "2025-03-25T13:33:10Z"
},
{
"name": "caddyserver/caddy",
"version": "v2.9.1",
"date": "2025-01-08T15:22:53Z"
},
{
"name": "ZoeyVid/NPMplus",
"version": "2025-03-24-r2",
@@ -929,11 +949,6 @@
"version": "v1.5.7",
"date": "2025-02-27T20:04:08Z"
},
{
"name": "cross-seed/cross-seed",
"version": "v6.11.2",
"date": "2025-02-26T14:54:49Z"
},
{
"name": "silverbulletmd/silverbullet",
"version": "0.10.4",
@@ -944,11 +959,6 @@
"version": "v0.25.1",
"date": "2025-02-25T17:30:48Z"
},
{
"name": "benzino77/tasmocompiler",
"version": "v12.5.0",
"date": "2025-02-25T14:55:50Z"
},
{
"name": "schlagmichdoch/PairDrop",
"version": "v1.11.2",
@@ -1184,11 +1194,6 @@
"version": "v3.3.21",
"date": "2024-06-26T01:14:46Z"
},
{
"name": "Suwayomi/Suwayomi-Server",
"version": "v1.1.1",
"date": "2024-06-15T17:23:48Z"
},
{
"name": "Forceu/barcodebuddy",
"version": "v1.8.1.8",
@@ -1224,11 +1229,6 @@
"version": "1.0.0",
"date": "2024-05-05T02:01:51Z"
},
{
"name": "monicahq/monica",
"version": "v4.1.2",
"date": "2024-05-04T08:06:50Z"
},
{
"name": "thelounge/thelounge-deb",
"version": "v4.4.3",

View File

@@ -24,6 +24,8 @@ const generateSourceUrl = (slug: string, type: string) => {
return `${baseUrl}/tools/pve/${slug}.sh`;
case "addon":
return `${baseUrl}/tools/addon/${slug}.sh`;
case "turnkey":
return `${baseUrl}/turnkey/${slug}.sh`;
default:
return `${baseUrl}/ct/${slug}.sh`; // fallback for "ct"
}

View File

@@ -0,0 +1,190 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: vhsdream
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://rxresu.me
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
gnupg \
unzip \
postgresql-common
msg_ok "Installed Dependencies"
msg_info "Installing Additional Dependencies"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
echo "YES" | /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh &>/dev/null
$STD apt-get install -y postgresql-16 nodejs
cd /tmp
curl -fsSL https://dl.min.io/server/minio/release/linux-amd64/minio.deb -o minio.deb
$STD dpkg -i minio.deb
msg_info "Setting up Database"
DB_USER="rxresume"
DB_NAME="rxresume"
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH ENCRYPTED 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 "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME to $DB_USER;"
$STD sudo -u postgres psql -c "ALTER USER $DB_USER WITH SUPERUSER;"
msg_ok "Set up Database"
msg_info "Installing ${APPLICATION}"
MINIO_PASS=$(openssl rand -base64 48)
ACCESS_TOKEN=$(openssl rand -base64 48)
REFRESH_TOKEN=$(openssl rand -base64 48)
CHROME_TOKEN=$(openssl rand -hex 32)
LOCAL_IP=$(hostname -I | awk '{print $1}')
TAG=$(curl -fsSL https://api.github.com/repos/browserless/browserless/tags?per_page=1 | grep "name" | awk '{print substr($2, 3, length($2)-4) }')
RELEASE=$(curl -fsSL https://api.github.com/repos/AmruthPillai/Reactive-Resume/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/AmruthPillai/Reactive-Resume/archive/refs/tags/v${RELEASE}.zip" -o v${RELEASE}.zip
unzip -q v${RELEASE}.zip
mv ${APPLICATION}-${RELEASE}/ /opt/${APPLICATION}
cd /opt/${APPLICATION}
corepack enable
export CI="true"
export PUPPETEER_SKIP_DOWNLOAD="true"
export NODE_ENV="production"
export NEXT_TELEMETRY_DISABLED=1
$STD pnpm install --frozen-lockfile
$STD pnpm run build
$STD pnpm install --prod --frozen-lockfile
$STD pnpm run prisma:generate
msg_ok "Installed ${APPLICATION}"
msg_info "Installing Browserless (Patience)"
cd /tmp
curl -fsSL https://github.com/browserless/browserless/archive/refs/tags/v${TAG}.zip -o v${TAG}.zip
unzip -q v${TAG}.zip
mv browserless-${TAG} /opt/browserless
cd /opt/browserless
$STD npm install
rm -rf src/routes/{chrome,edge,firefox,webkit}
$STD node_modules/playwright-core/cli.js install --with-deps chromium
$STD npm run build
$STD npm run build:function
$STD npm prune production
msg_ok "Installed Browserless"
msg_info "Configuring applications"
mkdir -p /opt/minio
cat <<EOF >/opt/minio/.env
MINIO_ROOT_USER="storageadmin"
MINIO_ROOT_PASSWORD="${MINIO_PASS}"
MINIO_VOLUMES=/opt/minio
MINIO_OPTS="--address :9000 --console-address 127.0.0.1:9001"
EOF
cat <<EOF >/opt/${APPLICATION}/.env
NODE_ENV=production
PORT=3000
PUBLIC_URL=http://${LOCAL_IP}:3000
STORAGE_URL=http://${LOCAL_IP}:9000/rxresume
DATABASE_URL=postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}?schema=public
ACCESS_TOKEN_SECRET=${ACCESS_TOKEN}
REFRESH_TOKEN_SECRET=${REFRESH_TOKEN}
CHROME_PORT=8080
CHROME_TOKEN=${CHROME_TOKEN}
CHROME_URL=ws://localhost:8080
CHROME_IGNORE_HTTPS_ERRORS=true
MAIL_FROM=noreply@locahost
# SMTP_URL=smtp://username:password@smtp.server.mail:587 #
STORAGE_ENDPOINT=localhost
STORAGE_PORT=9000
STORAGE_REGION=us-east-1
STORAGE_BUCKET=rxresume
STORAGE_ACCESS_KEY=storageadmin
STORAGE_SECRET_KEY=${MINIO_PASS}
STORAGE_USE_SSL=false
STORAGE_SKIP_BUCKET_CHECK=false
# GitHub (OAuth, Optional)
# GITHUB_CLIENT_ID=
# GITHUB_CLIENT_SECRET=
# GITHUB_CALLBACK_URL=http://localhost:5173/api/auth/github/callback
# Google (OAuth, Optional)
# GOOGLE_CLIENT_ID=
# GOOGLE_CLIENT_SECRET=
# GOOGLE_CALLBACK_URL=http://localhost:5173/api/auth/google/callback
EOF
cat <<EOF >/opt/browserless/.env
DEBUG=browserless*,-**:verbose
HOST=localhost
PORT=8080
TOKEN=${CHROME_TOKEN}
EOF
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
{
echo "${APPLICATION} Credentials"
echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS"
echo "Database Name: $DB_NAME"
echo "Minio Root Password: ${MINIO_PASS}"
} >>~/${APPLICATION}.creds
msg_ok "Configured applications"
msg_info "Creating Services"
mkdir -p /etc/systemd/system/minio.service.d/
cat <<EOF >/etc/systemd/system/minio.service.d/override.conf
[Service]
User=root
Group=root
WorkingDirectory=/usr/local/bin
EnvironmentFile=/opt/minio/.env
EOF
cat <<EOF >/etc/systemd/system/${APPLICATION}.service
[Unit]
Description=${APPLICATION} Service
After=network.target postgresql.service minio.service
Wants=postgresql.service minio.service
[Service]
WorkingDirectory=/opt/${APPLICATION}
EnvironmentFile=/opt/${APPLICATION}/.env
ExecStart=/usr/bin/pnpm run start
Restart=always
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/systemd/system/browserless.service
[Unit]
Description=Browserless service
After=network.target ${APPLICATION}.service
[Service]
WorkingDirectory=/opt/browserless
EnvironmentFile=/opt/browserless/.env
ExecStart=/usr/bin/npm run start
Restart=unless-stopped
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable -q --now minio.service ${APPLICATION}.service browserless.service
msg_ok "Created Services"
motd_ssh
customize
msg_info "Cleaning up"
rm -f /tmp/v${RELEASE}.zip
rm -f /tmp/v${TAG}.zip
rm -f /tmp/minio.deb
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"