Compare commits

...

20 Commits

Author SHA1 Message Date
github-actions[bot]
aa50c86c52 Update CHANGELOG.md 2025-10-18 11:33:14 +00:00
CanbiZ
b36b4258cc Refactor: Nginx Proxy Manager (#8453) 2025-10-18 13:33:00 +02:00
community-scripts-pr-app[bot]
8ab6e2d469 Update CHANGELOG.md (#8458)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 10:58:32 +00:00
community-scripts-pr-app[bot]
22e71e5a05 Update CHANGELOG.md (#8457)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 10:58:25 +00:00
Slaviša Arežina
edb105fad9 Dont copy init.d service file (#8451) 2025-10-18 12:58:12 +02:00
community-scripts-pr-app[bot]
6584d658e1 Update CHANGELOG.md (#8456)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 10:58:02 +00:00
community-scripts-pr-app[bot]
6877f53853 Update CHANGELOG.md (#8455)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 10:57:41 +00:00
community-scripts-pr-app[bot]
83ad8433bd Update date in json (#8454)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-10-18 10:57:37 +00:00
push-app-to-main[bot]
da552dcbd8 'Add new script' (#8452)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-10-18 12:57:20 +02:00
CanbiZ
77aba17771 fix libheif trixie 2025-10-18 08:24:19 +02:00
CanbiZ
3df8fadbba fix libheif trixie 2025-10-18 08:23:52 +02:00
community-scripts-pr-app[bot]
59f8e85b1c Update CHANGELOG.md (#8447)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 00:12:04 +00:00
community-scripts-pr-app[bot]
eaed744f2e Update versions.json (#8446)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-18 02:11:30 +02:00
community-scripts-pr-app[bot]
14bd66ed91 Update CHANGELOG.md (#8444)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-17 22:46:45 +00:00
Slaviša Arežina
5c0ce0959e GLPI: Bump to Debian 13 base (#8443) 2025-10-18 00:46:19 +02:00
community-scripts-pr-app[bot]
35810eb770 Update CHANGELOG.md (#8440)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-17 17:33:23 +00:00
Chris
048d468e8f replace policykit-1 with polkitd (#8439) 2025-10-17 19:32:55 +02:00
community-scripts-pr-app[bot]
a204f29f48 Update CHANGELOG.md (#8434)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-10-17 15:25:09 +00:00
Slaviša Arežina
b17257f464 Revert back to debian 12 template (#8431) 2025-10-17 17:24:40 +02:00
CanbiZ
01ccfc023a fix pip3 2025-10-17 16:07:01 +02:00
23 changed files with 378 additions and 117 deletions

View File

@@ -10,14 +10,37 @@
> [!CAUTION] > [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-10-17 ## 2025-10-18
### 🆕 New Scripts
- Open-Archiver ([#8452](https://github.com/community-scripts/ProxmoxVE/pull/8452))
### 🚀 Updated Scripts ### 🚀 Updated Scripts
- #### 🐞 Bug Fixes - #### 🐞 Bug Fixes
- Cronicle: Dont copy init.d service file [@tremor021](https://github.com/tremor021) ([#8451](https://github.com/community-scripts/ProxmoxVE/pull/8451))
- #### 🔧 Refactor
- Refactor: Nginx Proxy Manager [@MickLesk](https://github.com/MickLesk) ([#8453](https://github.com/community-scripts/ProxmoxVE/pull/8453))
## 2025-10-17
### 🚀 Updated Scripts
- Revert back to debian 12 template for various apps [@tremor021](https://github.com/tremor021) ([#8431](https://github.com/community-scripts/ProxmoxVE/pull/8431))
- #### 🐞 Bug Fixes
- [FIX]Pulse: replace policykit-1 with polkitd [@vhsdream](https://github.com/vhsdream) ([#8439](https://github.com/community-scripts/ProxmoxVE/pull/8439))
- MySpeed: Fix build step [@tremor021](https://github.com/tremor021) ([#8427](https://github.com/community-scripts/ProxmoxVE/pull/8427)) - MySpeed: Fix build step [@tremor021](https://github.com/tremor021) ([#8427](https://github.com/community-scripts/ProxmoxVE/pull/8427))
- #### ✨ New Features
- GLPI: Bump to Debian 13 base [@tremor021](https://github.com/tremor021) ([#8443](https://github.com/community-scripts/ProxmoxVE/pull/8443))
- #### 🔧 Refactor - #### 🔧 Refactor
- refactor: fix pve-scripts local install script [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#8418](https://github.com/community-scripts/ProxmoxVE/pull/8418)) - refactor: fix pve-scripts local install script [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#8418](https://github.com/community-scripts/ProxmoxVE/pull/8418))

View File

@@ -61,9 +61,6 @@ function update_script() {
$STD node bin/build.js dist $STD node bin/build.js dist
sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
$STD /opt/cronicle/bin/control.sh start $STD /opt/cronicle/bin/control.sh start
$STD cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled
chmod 775 /etc/init.d/cronicled
$STD update-rc.d cronicled defaults
msg_ok "Installed Cronicle Worker" msg_ok "Installed Cronicle Worker"
echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n" echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_disk="${var_disk:-10}" var_disk="${var_disk:-10}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"
@@ -44,4 +44,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"

6
ct/headers/open-archiver Normal file
View File

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

View File

@@ -28,13 +28,14 @@ function update_script() {
exit exit
fi fi
if ! command -v pnpm &>/dev/null; then if ! command -v yarn &>/dev/null; then
msg_info "Installing pnpm" msg_info "Installing Yarn"
#export NODE_OPTIONS=--openssl-legacy-provider $STD npm install -g yarn
$STD npm install -g pnpm@8.15 msg_ok "Installed Yarn"
msg_ok "Installed pnpm"
fi fi
export NODE_OPTIONS="--openssl-legacy-provider"
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest | RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
grep "tag_name" | grep "tag_name" |
awk '{print substr($2, 3, length($2)-4) }') awk '{print substr($2, 3, length($2)-4) }')
@@ -49,9 +50,10 @@ function update_script() {
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json
cd ./frontend || exit cd ./frontend || exit
$STD pnpm install # Replace node-sass with sass in package.json before installation
$STD pnpm upgrade sed -i 's/"node-sass".*$/"sass": "^1.92.1",/g' package.json
$STD pnpm run build $STD yarn install --network-timeout 600000
$STD yarn build
) )
msg_ok "Built Frontend" msg_ok "Built Frontend"
@@ -71,7 +73,7 @@ function update_script() {
msg_info "Setting up Environment" msg_info "Setting up Environment"
ln -sf /usr/bin/python3 /usr/bin/python ln -sf /usr/bin/python3 /usr/bin/python
ln -sf /usr/bin/certbot /opt/certbot/bin/certbot ln -sf /opt/certbot/bin/certbot /usr/local/bin/certbot
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
ln -sf /usr/local/openresty/nginx/ /etc/nginx ln -sf /usr/local/openresty/nginx/ /etc/nginx
sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf
@@ -113,7 +115,12 @@ function update_script() {
cp -r frontend/app-images/* /app/frontend/images cp -r frontend/app-images/* /app/frontend/images
cp -r backend/* /app cp -r backend/* /app
cp -r global/* /app/global cp -r global/* /app/global
$STD python3 -m pip install --no-cache-dir --break-system-packages certbot-dns-cloudflare
# Update Certbot and plugins in virtual environment
if [ -d /opt/certbot ]; then
$STD /opt/certbot/bin/pip install --upgrade pip setuptools wheel
$STD /opt/certbot/bin/pip install --upgrade certbot certbot-dns-cloudflare
fi
msg_ok "Setup Environment" msg_ok "Setup Environment"
msg_info "Initializing Backend" msg_info "Initializing Backend"
@@ -134,7 +141,8 @@ function update_script() {
EOF EOF
fi fi
cd /app || exit cd /app || exit
$STD pnpm install export NODE_OPTIONS="--openssl-legacy-provider"
$STD yarn install --network-timeout 600000
msg_ok "Initialized Backend" msg_ok "Initialized Backend"
msg_info "Starting Services" msg_info "Starting Services"

View File

@@ -11,7 +11,7 @@ var_disk="${var_disk:-6}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}" var_ram="${var_ram:-2048}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"

61
ct/open-archiver.sh Normal file
View File

@@ -0,0 +1,61 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://openarchiver.com/
APP="Open-Archiver"
var_tags="${var_tags:-os}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}"
var_disk="${var_disk:-8}"
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 /opt/openarchiver ]]; then
msg_error "No Open Archiver Installation Found!"
exit
fi
if check_for_gh_release "openarchiver" "LogicLabs-OU/OpenArchiver"; then
msg_info "Stopping Services"
systemctl stop openarchiver
msg_ok "Stopped Services"
cp /opt/openarchiver/.env /opt/openarchiver.env
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "openarchiver" "LogicLabs-OU/OpenArchiver" "tarball" "latest" "/opt/openarchiver"
mv /opt/openarchiver.env /opt/openarchiver/.env
msg_info "Updating Open Archiver"
$STD pnpm install --shamefully-hoist --frozen-lockfile --prod=false
$STD pnpm build
$STD pnpm db:migrate
msg_ok "Updated Open Archiver"
msg_info "Starting Services"
systemctl start openarchiver
msg_ok "Started Services"
msg_ok "Updated Successfully"
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

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-4}"
var_ram="${var_ram:-8192}" var_ram="${var_ram:-8192}"
var_disk="${var_disk:-25}" var_disk="${var_disk:-25}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"

View File

@@ -34,7 +34,7 @@ function update_script() {
fetch_and_deploy_gh_release "photoprism" "photoprism/photoprism" "prebuild" "latest" "/opt/photoprism" "*linux-amd64.tar.gz" fetch_and_deploy_gh_release "photoprism" "photoprism/photoprism" "prebuild" "latest" "/opt/photoprism" "*linux-amd64.tar.gz"
LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1) LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-bookworm-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1)
if [[ "${LIBHEIF_URL}" != "$(cat ~/.photoprism_libheif 2>/dev/null)" ]] || [[ ! -f ~/.photoprism_libheif ]]; then if [[ "${LIBHEIF_URL}" != "$(cat ~/.photoprism_libheif 2>/dev/null)" ]] || [[ ! -f ~/.photoprism_libheif ]]; then
msg_info "Updating PhotoPrism LibHeif" msg_info "Updating PhotoPrism LibHeif"
$STD apt install -y libvips42 $STD apt install -y libvips42

View File

@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}" var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}" var_disk="${var_disk:-4}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-13}" var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="${var_unprivileged:-1}"
header_info "$APP" header_info "$APP"

View File

@@ -23,7 +23,7 @@
"ram": 2048, "ram": 2048,
"hdd": 10, "hdd": 10,
"os": "debian", "os": "debian",
"version": "12" "version": "13"
} }
} }
], ],

View File

@@ -23,7 +23,7 @@
"ram": 2048, "ram": 2048,
"hdd": 6, "hdd": 6,
"os": "debian", "os": "debian",
"version": "13" "version": "12"
} }
} }
], ],

View File

@@ -0,0 +1,40 @@
{
"name": "Open-Archiver",
"slug": "open-archiver",
"categories": [
7
],
"date_created": "2025-10-18",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://docs.openarchiver.com/",
"config_path": "/opt/openarchiver/.env",
"website": "https://openarchiver.com/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/OpenArchiver.webp",
"description": "Open Archiver is a secure, self-hosted email archiving solution, and it's completely open source. Get an email archiver that enables full-text search across email and attachments. Create a permanent, searchable, and compliant mail archive from Google Workspace, Microsoft 35, and any IMAP server.",
"install_methods": [
{
"type": "default",
"script": "ct/open-archiver.sh",
"resources": {
"cpu": 2,
"ram": 3072,
"hdd": 8,
"os": "debian",
"version": "13"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Data directory is: `/opt/openarchiver-data`. If you have a lot of email, you might consider mounting external storage to this directory.",
"type": "info"
}
]
}

View File

@@ -23,7 +23,7 @@
"ram": 8192, "ram": 8192,
"hdd": 25, "hdd": 25,
"os": "debian", "os": "debian",
"version": "13" "version": "12"
} }
} }
], ],

View File

@@ -23,7 +23,7 @@
"ram": 1024, "ram": 1024,
"hdd": 4, "hdd": 4,
"os": "debian", "os": "debian",
"version": "13" "version": "12"
} }
} }
], ],

View File

@@ -1,4 +1,74 @@
[ [
{
"name": "gtsteffaniak/filebrowser",
"version": "v0.8.9-beta",
"date": "2025-10-17T21:51:21Z"
},
{
"name": "home-assistant/core",
"version": "2025.10.3",
"date": "2025-10-17T21:15:07Z"
},
{
"name": "coder/code-server",
"version": "v4.105.0",
"date": "2025-10-17T19:55:55Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.78.3-nightly",
"date": "2025-10-17T19:38:04Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.80",
"date": "2025-09-30T20:25:16Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.42.0",
"date": "2025-10-17T19:15:35Z"
},
{
"name": "forgejo/forgejo",
"version": "v13.0.1",
"date": "2025-10-17T18:54:16Z"
},
{
"name": "grokability/snipe-it",
"version": "v8.3.4",
"date": "2025-10-17T18:13:24Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.29.0",
"date": "2025-10-17T17:03:33Z"
},
{
"name": "chrisvel/tududi",
"version": "v0.83.2",
"date": "2025-10-07T14:30:15Z"
},
{
"name": "NodeBB/NodeBB",
"version": "v4.6.1",
"date": "2025-10-17T15:21:59Z"
},
{
"name": "docker/compose",
"version": "v2.40.1",
"date": "2025-10-17T13:42:04Z"
},
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.21",
"date": "2025-10-16T09:46:16Z"
},
{
"name": "dgtlmoon/changedetection.io",
"version": "0.50.26",
"date": "2025-10-17T12:09:59Z"
},
{ {
"name": "wazuh/wazuh", "name": "wazuh/wazuh",
"version": "coverity-w42-4.14.0", "version": "coverity-w42-4.14.0",
@@ -76,7 +146,7 @@
}, },
{ {
"name": "runtipi/runtipi", "name": "runtipi/runtipi",
"version": "v4.5.0", "version": "nightly",
"date": "2025-10-16T19:43:25Z" "date": "2025-10-16T19:43:25Z"
}, },
{ {
@@ -99,31 +169,16 @@
"version": "v0.6.34", "version": "v0.6.34",
"date": "2025-10-16T16:55:58Z" "date": "2025-10-16T16:55:58Z"
}, },
{
"name": "dgtlmoon/changedetection.io",
"version": "0.50.25",
"date": "2025-10-16T15:00:16Z"
},
{ {
"name": "tobychui/zoraxy", "name": "tobychui/zoraxy",
"version": "v3.2.8", "version": "v3.2.8",
"date": "2025-10-16T14:21:48Z" "date": "2025-10-16T14:21:48Z"
}, },
{
"name": "forgejo/forgejo",
"version": "v13.0.0",
"date": "2025-10-16T13:48:56Z"
},
{ {
"name": "esphome/esphome", "name": "esphome/esphome",
"version": "2025.10.1", "version": "2025.10.1",
"date": "2025-10-16T10:00:10Z" "date": "2025-10-16T10:00:10Z"
}, },
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.21",
"date": "2025-10-16T09:46:16Z"
},
{ {
"name": "rcourtman/Pulse", "name": "rcourtman/Pulse",
"version": "v4.24.0", "version": "v4.24.0",
@@ -144,21 +199,11 @@
"version": "4.9.2", "version": "4.9.2",
"date": "2025-10-16T03:24:44Z" "date": "2025-10-16T03:24:44Z"
}, },
{
"name": "BerriAI/litellm",
"version": "v1.78.2-nightly",
"date": "2025-10-16T01:47:06Z"
},
{ {
"name": "outline/outline", "name": "outline/outline",
"version": "v1.0.0-test8", "version": "v1.0.0-test8",
"date": "2025-10-16T01:32:14Z" "date": "2025-10-16T01:32:14Z"
}, },
{
"name": "coder/code-server",
"version": "v4.104.3",
"date": "2025-10-07T17:42:11Z"
},
{ {
"name": "inventree/InvenTree", "name": "inventree/InvenTree",
"version": "1.0.6", "version": "1.0.6",
@@ -189,11 +234,6 @@
"version": "v5.9.0", "version": "v5.9.0",
"date": "2025-10-15T18:27:56Z" "date": "2025-10-15T18:27:56Z"
}, },
{
"name": "msgbyte/tianji",
"version": "v1.28.0",
"date": "2025-10-15T16:18:36Z"
},
{ {
"name": "linkwarden/linkwarden", "name": "linkwarden/linkwarden",
"version": "v2.13.1", "version": "v2.13.1",
@@ -244,11 +284,6 @@
"version": "2.1.2", "version": "2.1.2",
"date": "2025-10-15T06:51:32Z" "date": "2025-10-15T06:51:32Z"
}, },
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.80",
"date": "2025-09-30T20:25:16Z"
},
{ {
"name": "seerr-team/seerr", "name": "seerr-team/seerr",
"version": "preview-seerr", "version": "preview-seerr",
@@ -399,21 +434,11 @@
"version": "v2.1.2.3-2.1.2.3_beta_2025-10-11", "version": "v2.1.2.3-2.1.2.3_beta_2025-10-11",
"date": "2025-10-11T06:49:43Z" "date": "2025-10-11T06:49:43Z"
}, },
{
"name": "home-assistant/core",
"version": "2025.10.2",
"date": "2025-10-10T21:20:11Z"
},
{ {
"name": "0xERR0R/blocky", "name": "0xERR0R/blocky",
"version": "v0.27.0", "version": "v0.27.0",
"date": "2025-10-10T20:11:48Z" "date": "2025-10-10T20:11:48Z"
}, },
{
"name": "homarr-labs/homarr",
"version": "v1.41.0",
"date": "2025-10-10T19:15:38Z"
},
{ {
"name": "getumbrel/umbrel", "name": "getumbrel/umbrel",
"version": "1.4.2", "version": "1.4.2",
@@ -564,11 +589,6 @@
"version": "pmm-6401-v1.127.0", "version": "pmm-6401-v1.127.0",
"date": "2025-10-07T14:31:32Z" "date": "2025-10-07T14:31:32Z"
}, },
{
"name": "chrisvel/tududi",
"version": "v0.83.2",
"date": "2025-10-07T14:30:15Z"
},
{ {
"name": "thecfu/scraparr", "name": "thecfu/scraparr",
"version": "v2.2.5", "version": "v2.2.5",
@@ -594,11 +614,6 @@
"version": "v2.2.2", "version": "v2.2.2",
"date": "2025-10-06T21:31:07Z" "date": "2025-10-06T21:31:07Z"
}, },
{
"name": "grokability/snipe-it",
"version": "v8.3.3",
"date": "2025-10-06T19:57:17Z"
},
{ {
"name": "TwiN/gatus", "name": "TwiN/gatus",
"version": "v5.26.0", "version": "v5.26.0",
@@ -654,16 +669,6 @@
"version": "2.520", "version": "2.520",
"date": "2025-10-05T00:51:34Z" "date": "2025-10-05T00:51:34Z"
}, },
{
"name": "gtsteffaniak/filebrowser",
"version": "v0.8.8-beta",
"date": "2025-10-04T15:56:29Z"
},
{
"name": "docker/compose",
"version": "v2.40.0",
"date": "2025-10-03T12:56:38Z"
},
{ {
"name": "redis/redis", "name": "redis/redis",
"version": "8.2.2", "version": "8.2.2",
@@ -679,11 +684,6 @@
"version": "v25.10.0", "version": "v25.10.0",
"date": "2025-10-02T11:34:39Z" "date": "2025-10-02T11:34:39Z"
}, },
{
"name": "NodeBB/NodeBB",
"version": "v4.6.0",
"date": "2025-10-01T18:12:07Z"
},
{ {
"name": "Koenkk/zigbee2mqtt", "name": "Koenkk/zigbee2mqtt",
"version": "2.6.2", "version": "2.6.2",

View File

@@ -24,9 +24,6 @@ $STD node bin/build.js dist
sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
$STD /opt/cronicle/bin/control.sh setup $STD /opt/cronicle/bin/control.sh setup
$STD /opt/cronicle/bin/control.sh start $STD /opt/cronicle/bin/control.sh start
$STD cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled
chmod 775 /etc/init.d/cronicled
$STD update-rc.d cronicled defaults
msg_ok "Configured Cronicle Primary Server" msg_ok "Configured Cronicle Primary Server"
motd_ssh motd_ssh

View File

@@ -14,7 +14,7 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt install -y \
git \ git \
apache2 \ apache2 \
php8.4-{apcu,cli,common,curl,gd,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2,soap} \ php8.4-{apcu,cli,common,curl,gd,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2,soap} \
@@ -156,6 +156,7 @@ customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /opt/glpi/install rm -rf /opt/glpi/install
rm -rf /opt/glpi-${RELEASE}.tgz rm -rf /opt/glpi-${RELEASE}.tgz
$STD apt-get -y autoremove $STD apt -y autoremove
$STD apt-get -y autoclean $STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -13,8 +13,6 @@ setting_up_container
network_check network_check
update_os update_os
setup_go
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt update $STD apt update
$STD apt -y install \ $STD apt -y install \
@@ -31,12 +29,16 @@ $STD apt install -y \
python3-dev \ python3-dev \
python3-pip \ python3-pip \
python3-venv \ python3-venv \
python3-cffi \ python3-cffi
python3-certbot \
python3-certbot-dns-cloudflare
$STD pip3 install --break-system-packages certbot-dns-multi
msg_ok "Installed Python Dependencies" msg_ok "Installed Python Dependencies"
msg_info "Setting up Certbot"
$STD python3 -m venv /opt/certbot
$STD /opt/certbot/bin/pip install --upgrade pip setuptools wheel
$STD /opt/certbot/bin/pip install certbot certbot-dns-cloudflare
ln -sf /opt/certbot/bin/certbot /usr/local/bin/certbot
msg_ok "Set up Certbot"
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
msg_info "Installing Openresty" msg_info "Installing Openresty"
@@ -53,7 +55,7 @@ $STD apt update
$STD apt -y install openresty $STD apt -y install openresty
msg_ok "Installed Openresty" msg_ok "Installed Openresty"
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest | RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
grep "tag_name" | grep "tag_name" |
@@ -66,7 +68,6 @@ msg_ok "Downloaded Nginx Proxy Manager v${RELEASE}"
msg_info "Setting up Environment" msg_info "Setting up Environment"
ln -sf /usr/bin/python3 /usr/bin/python ln -sf /usr/bin/python3 /usr/bin/python
ln -sf /usr/bin/certbot /usr/local/bin/certbot
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
ln -sf /usr/local/openresty/nginx/ /etc/nginx ln -sf /usr/local/openresty/nginx/ /etc/nginx
sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json
@@ -118,9 +119,11 @@ msg_ok "Set up Environment"
msg_info "Building Frontend" msg_info "Building Frontend"
cd ./frontend cd ./frontend
$STD pnpm install export NODE_OPTIONS="--openssl-legacy-provider"
$STD pnpm upgrade # Replace node-sass with sass in package.json before installation
$STD pnpm run build sed -i 's/"node-sass".*$/"sass": "^1.92.1",/g' package.json
$STD yarn install --network-timeout 600000
$STD yarn build
cp -r dist/* /app/frontend cp -r dist/* /app/frontend
cp -r app-images/* /app/frontend/images cp -r app-images/* /app/frontend/images
msg_ok "Built Frontend" msg_ok "Built Frontend"
@@ -143,7 +146,8 @@ if [ ! -f /app/config/production.json ]; then
EOF EOF
fi fi
cd /app cd /app
$STD pnpm install export NODE_OPTIONS="--openssl-legacy-provider"
$STD yarn install --network-timeout 600000
msg_ok "Initialized Backend" msg_ok "Initialized Backend"
msg_info "Creating Service" msg_info "Creating Service"

View File

@@ -0,0 +1,124 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://openarchiver.com/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing dependendencies"
$STD apt install -y valkey
msg_ok "Installed dependendencies"
NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs
PG_VERSION="17" setup_postgresql
fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary"
fetch_and_deploy_gh_release "openarchiver" "LogicLabs-OU/OpenArchiver" "tarball"
JWT_KEY="$(openssl rand -hex 32)"
SECRET_KEY="$(openssl rand -hex 32)"
IP_ADDR=$(hostname -I | awk '{print $1}')
msg_info "Setting up PostgreSQL"
DB_NAME="openarchiver_db"
DB_USER="openarchiver"
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-18)"
$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 "Open Archiver DB Credentials"
echo "Database Name: $DB_NAME"
echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS"
} >>~/openarchiver.creds
msg_ok "Set up PostgreSQL"
msg_info "Configuring MeiliSearch"
curl -fsSL https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml -o /etc/meilisearch.toml
MASTER_KEY=$(openssl rand -base64 12)
sed -i \
-e 's|^env =.*|env = "production"|' \
-e "s|^# master_key =.*|master_key = \"$MASTER_KEY\"|" \
-e 's|^db_path =.*|db_path = "/var/lib/meilisearch/data"|' \
-e 's|^dump_dir =.*|dump_dir = "/var/lib/meilisearch/dumps"|' \
-e 's|^snapshot_dir =.*|snapshot_dir = "/var/lib/meilisearch/snapshots"|' \
-e 's|^# no_analytics = true|no_analytics = true|' \
-e 's|^http_addr =.*|http_addr = "127.0.0.1:7700"|' \
/etc/meilisearch.toml
cat <<EOF >/etc/systemd/system/meilisearch.service
[Unit]
Description=Meilisearch
After=network.target
[Service]
ExecStart=/usr/bin/meilisearch --config-file-path /etc/meilisearch.toml
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now meilisearch
sleep 5
msg_ok "Configured MeiliSearch"
msg_info "Setting up Open Archiver"
mkdir -p /opt/openarchiver-data
cd /opt/openarchiver
cp .env.example .env
sed -i "s|^NODE_ENV=.*|NODE_ENV=production|g" /opt/openarchiver/.env
sed -i "s|^POSTGRES_DB=.*|POSTGRES_DB=openarchiver_db|g" /opt/openarchiver/.env
sed -i "s|^POSTGRES_USER=.*|POSTGRES_USER=openarchiver|g" /opt/openarchiver/.env
sed -i "s|^POSTGRES_PASSWORD=.*|POSTGRES_PASSWORD=$DB_PASS|g" /opt/openarchiver/.env
sed -i "s|^DATABASE_URL=.*|DATABASE_URL=\"postgresql://openarchiver:$DB_PASS@localhost:5432/openarchiver_db\"|g" /opt/openarchiver/.env
sed -i "s|^MEILI_HOST=.*|MEILI_HOST=http://localhost:7700|g" /opt/openarchiver/.env
sed -i "s|^MEILI_MASTER_KEY=.*|MEILI_MASTER_KEY=$MASTER_KEY|g" /opt/openarchiver/.env
sed -i "s|^REDIS_HOST=.*|REDIS_HOST=localhost|g" /opt/openarchiver/.env
sed -i "s|^REDIS_PASSWORD=.*|REDIS_PASSWORD=|g" /opt/openarchiver/.env
sed -i "s|^STORAGE_LOCAL_ROOT_PATH=.*|STORAGE_LOCAL_ROOT_PATH=/opt/openarchiver-data|g" /opt/openarchiver/.env
sed -i "s|^JWT_SECRET=.*|JWT_SECRET=$JWT_KEY|g" /opt/openarchiver/.env
sed -i "s|^ENCRYPTION_KEY=.*|ENCRYPTION_KEY=$SECRET_KEY|g" /opt/openarchiver/.env
sed -i "s|^TIKA_URL=.*|TIKA_URL=|g" /opt/openarchiver/.env
echo "ORIGIN=http://$IP_ADDR:3000" >> /opt/openarchiver/.env
$STD pnpm install --shamefully-hoist --frozen-lockfile --prod=false
$STD pnpm build
$STD pnpm db:migrate
msg_ok "Setup Open Archiver"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/openarchiver.service
[Unit]
Description=Open Archiver Service
After=network-online.target
[Service]
Type=simple
User=root
EnvironmentFile=/opt/openarchiver/.env
WorkingDirectory=/opt/openarchiver
ExecStart=/usr/bin/pnpm docker-start
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now openarchiver
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt -y autoremove
$STD apt -y autoclean
$STD apt -y clean
msg_ok "Cleaned"

View File

@@ -37,7 +37,7 @@ msg_info "Installing PhotoPrism (Patience)"
mkdir -p /opt/photoprism/{cache,config,photos,storage,temp} mkdir -p /opt/photoprism/{cache,config,photos,storage,temp}
mkdir -p /opt/photoprism/photos/{originals,import} mkdir -p /opt/photoprism/photos/{originals,import}
mkdir -p /opt/photoprism_backups mkdir -p /opt/photoprism_backups
LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1) LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-bookworm-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1)
curl -fsSL "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" -o /tmp/libheif.tar.gz curl -fsSL "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" -o /tmp/libheif.tar.gz
tar -xzf /tmp/libheif.tar.gz -C /usr/local tar -xzf /tmp/libheif.tar.gz -C /usr/local
ldconfig ldconfig

View File

@@ -17,7 +17,7 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt install -y \ $STD apt install -y \
diffutils \ diffutils \
policykit-1 polkitd
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Creating User" msg_info "Creating User"

View File

@@ -37,7 +37,7 @@ curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolm
$STD unzip spoolman.zip -d spoolman $STD unzip spoolman.zip -d spoolman
rm -rf spoolman.zip rm -rf spoolman.zip
cd spoolman cd spoolman
$STD pip3 install -r requirements.txt $STD pip3 install --upgrade --ignore-installed -r requirements.txt
curl -fsSL "https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example" -o ".env" curl -fsSL "https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example" -o ".env"
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed Spoolman" msg_ok "Installed Spoolman"