Compare commits

...

33 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
784e4171ce Update CHANGELOG.md (#10423)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-30 00:14:18 +00:00
community-scripts-pr-app[bot]
cb4ab231b9 Update versions.json (#10422)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-30 01:13:53 +01:00
community-scripts-pr-app[bot]
95cb440b2e Update CHANGELOG.md (#10420)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-29 19:40:56 +00:00
CanbiZ (MickLesk)
e4eea7a6ae syncthing: check for deb822 source (#10414) 2025-12-29 20:40:33 +01:00
CanbiZ (MickLesk)
2cc54fdbdf speedtest-tracker: add external IP URL and internet check hostname in .env (#10078) 2025-12-29 20:40:20 +01:00
community-scripts-pr-app[bot]
86069a1663 Update CHANGELOG.md (#10419)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-29 19:38:36 +00:00
CanbiZ (MickLesk)
78b4f44447 fix(pelican-panel): prevent composer superuser prompt (#10418) 2025-12-29 20:38:10 +01:00
CanbiZ
62ca1552a8 fix cleanup &>/dev/null 2025-12-29 16:10:33 +01:00
CanbiZ
eba6fd8c6d linkwarden: use npx for Playwright install command
Replaces 'yarn playwright install' with 'npx playwright install' in both update and install scripts to ensure consistent Playwright installation regardless of local yarn configuration.
2025-12-29 15:50:10 +01:00
community-scripts-pr-app[bot]
0cefe4c5c5 Update versions.json (#10410)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-29 13:07:02 +01:00
community-scripts-pr-app[bot]
57295c31ab Update CHANGELOG.md (#10408)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-29 08:35:59 +00:00
Casey Jones
5a43b901b5 add libmfx-gen1.2 for intel gpu hwaccel (#10400)
Co-authored-by: Casey Jones <jonescaseyb@gmail.com>
2025-12-29 09:35:35 +01:00
community-scripts-pr-app[bot]
f7d013287b Update CHANGELOG.md (#10405)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-29 00:16:26 +00:00
community-scripts-pr-app[bot]
6b1a7228d3 Update versions.json (#10404)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-29 01:16:02 +01:00
community-scripts-pr-app[bot]
9667c7a17e Update CHANGELOG.md (#10403)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-28 23:39:13 +00:00
CanbiZ (MickLesk)
b4a25160e4 Linkwarden: enable Corepack and prepare Yarn v4 before running yarn (#10390) 2025-12-29 00:38:46 +01:00
community-scripts-pr-app[bot]
547043e842 Update CHANGELOG.md (#10402)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-28 23:38:27 +00:00
CanbiZ (MickLesk)
1d278f53f6 fix(metube): use pnpm + corepack for frontend build (#10392) 2025-12-29 00:38:05 +01:00
community-scripts-pr-app[bot]
a471006c3d Update .app files (#10396)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-12-28 21:34:07 +01:00
community-scripts-pr-app[bot]
7b08f8d8a2 Update CHANGELOG.md (#10397)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-28 20:30:27 +00:00
community-scripts-pr-app[bot]
cc8bb3ec9f Update CHANGELOG.md (#10395)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-28 20:30:11 +00:00
community-scripts-pr-app[bot]
8c02a1023f Update date in json (#10394)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-12-28 20:30:06 +00:00
push-app-to-main[bot]
e17a42f905 Add mail-archiver (ct) (#10393)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2025-12-28 21:29:51 +01:00
community-scripts-pr-app[bot]
bef77dde87 Update CHANGELOG.md (#10389)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-28 19:21:38 +00:00
durzo
59a752a6ab Fix mongodb update logic (#10388)
* Fix mongodb update logic

* Simplify MongoDB installation check

---------

Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
2025-12-28 20:21:16 +01:00
community-scripts-pr-app[bot]
99a7f30b06 Update .app files (#10386)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-12-28 18:30:20 +01:00
community-scripts-pr-app[bot]
a1586a748d Update CHANGELOG.md (#10385)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-28 17:02:09 +00:00
durzo
9a5d121910 fix pulse downloading incorrect tarball (#10383) 2025-12-28 18:01:46 +01:00
community-scripts-pr-app[bot]
dfb4e00550 Update versions.json (#10382)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-28 13:06:22 +01:00
community-scripts-pr-app[bot]
d095da7949 Update CHANGELOG.md (#10381)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-28 09:33:35 +00:00
michaelb
73c626bd3c Updated Frontend Debian and Ubuntu VM notes so links can be copied quickly. (#10379)
* Refactor code structure for improved readability and maintainability

* Revert "Refactor code structure for improved readability and maintainability"

This reverts commit 17389aeb34.

* Changed Frontend Debian and Ubuntu VM discusson links so they can be copied quickly.
2025-12-28 10:33:14 +01:00
community-scripts-pr-app[bot]
7bfb9447b2 Update CHANGELOG.md (#10380)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-28 08:04:28 +00:00
James Polley
8526a25541 Set default LANG in locale configuration (#9440) (#10378)
Ensures LANG is set to en_US.UTF-8 by default if not already defined before updating /etc/locale.gen.

Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-12-28 09:04:05 +01:00
26 changed files with 451 additions and 193 deletions

View File

@@ -10,8 +10,52 @@
> [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-12-30
## 2025-12-29
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- syncthing: check for deb822 source [@MickLesk](https://github.com/MickLesk) ([#10414](https://github.com/community-scripts/ProxmoxVE/pull/10414))
- speedtest-tracker: add external IP URL and internet check hostname in .env [@MickLesk](https://github.com/MickLesk) ([#10078](https://github.com/community-scripts/ProxmoxVE/pull/10078))
- Pelican-panel: prevent composer superuser prompt [@MickLesk](https://github.com/MickLesk) ([#10418](https://github.com/community-scripts/ProxmoxVE/pull/10418))
### 💾 Core
- #### 🐞 Bug Fixes
- add libmfx-gen1.2 for intel gpu hwaccel [@jcnix](https://github.com/jcnix) ([#10400](https://github.com/community-scripts/ProxmoxVE/pull/10400))
## 2025-12-28
### 🆕 New Scripts
- Mail-Archiver ([#10393](https://github.com/community-scripts/ProxmoxVE/pull/10393))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Fix mongodb update logic [@durzo](https://github.com/durzo) ([#10388](https://github.com/community-scripts/ProxmoxVE/pull/10388))
- fix pulse downloading incorrect tarball [@durzo](https://github.com/durzo) ([#10383](https://github.com/community-scripts/ProxmoxVE/pull/10383))
- #### 🔧 Refactor
- Linkwarden: enable Corepack and prepare Yarn v4 before running yarn [@MickLesk](https://github.com/MickLesk) ([#10390](https://github.com/community-scripts/ProxmoxVE/pull/10390))
- metube: use pnpm + corepack for frontend build [@MickLesk](https://github.com/MickLesk) ([#10392](https://github.com/community-scripts/ProxmoxVE/pull/10392))
### 💾 Core
- #### 🐞 Bug Fixes
- Set default LANG in locale configuration [@jamezpolley](https://github.com/jamezpolley) ([#10378](https://github.com/community-scripts/ProxmoxVE/pull/10378))
### ❔ Uncategorized
- Updated Frontend Debian and Ubuntu VM notes so links can be copied quickly. [@mzb2xeo](https://github.com/mzb2xeo) ([#10379](https://github.com/community-scripts/ProxmoxVE/pull/10379))
## 2025-12-27
### 🆕 New Scripts

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

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

View File

@@ -42,11 +42,23 @@ function update_script() {
fetch_and_deploy_gh_release "linkwarden" "linkwarden/linkwarden"
msg_info "Updating ${APP}"
msg_info "Updating Linkwarden"
cd /opt/linkwarden
yarn_ver="4.12.0"
if [[ -f package.json ]]; then
pkg_manager=$(jq -r '.packageManager // empty' package.json 2>/dev/null || true)
if [[ -n "$pkg_manager" && "$pkg_manager" == yarn@* ]]; then
yarn_spec="${pkg_manager#yarn@}"
yarn_ver="${yarn_spec%%+*}"
fi
fi
if command -v corepack >/dev/null 2>&1; then
$STD corepack enable
$STD corepack prepare "yarn@${yarn_ver}" --activate || true
fi
$STD yarn
$STD npx playwright install-deps
$STD yarn playwright install
$STD npx playwright install
mv /opt/.env /opt/linkwarden/.env
$STD yarn prisma:generate
$STD yarn web:build
@@ -55,7 +67,7 @@ function update_script() {
rm -rf ~/.cargo/registry ~/.cargo/git ~/.cargo/.package-cache
rm -rf /root/.cache/yarn
rm -rf /opt/linkwarden/.next/cache
msg_ok "Updated ${APP}"
msg_ok "Updated Linkwarden"
msg_info "Starting Service"
systemctl start linkwarden

71
ct/mail-archiver.sh Normal file
View File

@@ -0,0 +1,71 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/s1t5/mail-archiver
APP="Mail-Archiver"
var_tags="${var_tags:-mail-archiver}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-2048}"
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/mail-archiver ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "mail-archiver" "s1t5/mail-archiver"; then
msg_info "Stopping Mail-Archiver"
systemctl stop mail-archiver
msg_ok "Stopped Mail-Archiver"
msg_info "Creating Backup"
cp /opt/mail-archiver/appsettings.json /opt/mail-archiver/.env /opt/
[[ -d /opt/mail-archiver/DataProtection-Keys ]] && cp -r /opt/mail-archiver/DataProtection-Keys /opt
msg_ok "Created Backup"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "mail-archiver" "s1t5/mail-archiver" "tarball"
msg_info "Updating Mail-Archiver"
mv /opt/mail-archiver /opt/mail-archiver-build
cd /opt/mail-archiver-build
$STD dotnet restore
$STD dotnet publish -c Release -o /opt/mail-archiver
rm -rf /opt/mail-archiver-build
msg_ok "Updated Mail-Archiver"
msg_info "Restoring Backup"
cp /opt/appsettings.json /opt/.env /opt/mail-archiver
[[ -d /opt/DataProtection-Keys ]] && cp -r /opt/DataProtection-Keys /opt/mail-archiver/
msg_ok "Restored Backup"
msg_info "Starting Mail-Archiver"
systemctl start mail-archiver
msg_ok "Started Mail-Archiver"
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}:5000${CL}"

View File

@@ -40,6 +40,8 @@ function update_script() {
fi
fi
NODE_VERSION="24" NODE_MODULE="pnpm" setup_nodejs
if check_for_gh_release "metube" "alexta69/metube"; then
msg_info "Stopping Service"
systemctl stop metube
@@ -56,8 +58,12 @@ function update_script() {
msg_info "Building Frontend"
cd /opt/metube/ui
$STD npm install
$STD node_modules/.bin/ng build
if command -v corepack >/dev/null 2>&1; then
$STD corepack enable
$STD corepack prepare pnpm --activate || true
fi
$STD pnpm install --frozen-lockfile
$STD pnpm run build
msg_ok "Built Frontend"
PYTHON_VERSION="3.13" setup_uv

View File

@@ -23,13 +23,14 @@ function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/apt/sources.list.d/mongodb-org-7.0.list && ! -f /etc/apt/sources.list.d/mongodb-org-8.0.list ]]; then
msg_error "No ${APP} Installation Found!"
exit
if ! command -v mongod &>/dev/null; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP} LXC"
msg_info "Updating MongoDB LXC"
$STD apt update
$STD apt -y upgrade
$STD apt upgrade -y
msg_ok "Updated successfully!"
exit
}

View File

@@ -38,7 +38,7 @@ function update_script() {
rm -f /opt/pulse/pulse
fi
fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "pulse-v*-linux-amd64.tar.gz"
ln -sf /opt/pulse/bin/pulse /usr/local/bin/pulse
mkdir -p /etc/pulse
chown pulse:pulse /etc/pulse

View File

@@ -33,6 +33,7 @@ function update_script() {
PHP_VERSION="8.4" PHP_FPM="YES" PHP_MODULE="common,sqlite3,redis" setup_php
setup_composer
NODE_VERSION="22" setup_nodejs
setcap cap_net_raw+ep /bin/ping
msg_info "Stopping Service"
systemctl stop speedtest-tracker

View File

@@ -23,7 +23,7 @@ function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/apt/sources.list.d/syncthing.list ]]; then
if [[ ! -f /etc/apt/sources.list.d/syncthing.list && ! -f /etc/apt/sources.list.d/syncthing.sources ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi

View File

@@ -37,11 +37,11 @@
"type": "info"
},
{
"text": "After installation, checkout: ´https://github.com/community-scripts/ProxmoxVE/discussions/836´ for useful Debian commands",
"text": "For additional Debian commands and tips after installation, checkout: `https://github.com/community-scripts/ProxmoxVE/discussions/836`",
"type": "info"
},
{
"text": "If you use Cloud-init, checkout after installation: ´https://github.com/community-scripts/ProxmoxVE/discussions/272´",
"text": "If you use Cloud-init, checkout cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`",
"type": "info"
}
]

View File

@@ -37,7 +37,7 @@
"type": "info"
},
{
"text": "After installation, checkout: ´https://github.com/community-scripts/ProxmoxVE/discussions/836´ for useful Debian commands",
"text": "For additional Debian commands and tips after installation, checkout: `https://github.com/community-scripts/ProxmoxVE/discussions/836`",
"type": "info"
}
]

View File

@@ -0,0 +1,35 @@
{
"name": "Mail-Archiver",
"slug": "mail-archiver",
"categories": [
7
],
"date_created": "2025-12-28",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 5000,
"documentation": "https://github.com/s1t5/mail-archiver/blob/main/doc/Index.md",
"config_path": "/opt/mail-archiver/.env, /opt/mail-archiver/appsettings.json",
"website": "https://github.com/s1t5/mail-archiver",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mail-archiver.webp",
"description": "Mail-Archiver is a web application for archiving, searching, and exporting emails from multiple accounts. Featuring folder sync, attachment support, mailbox migration and a dashboard.",
"install_methods": [
{
"type": "default",
"script": "ct/mail-archiver.sh",
"resources": {
"cpu": 1,
"ram": 2048,
"hdd": 8,
"os": "Debian",
"version": "13"
}
}
],
"default_credentials": {
"username": "admin",
"password": "secure123!"
},
"notes": []
}

View File

@@ -33,7 +33,7 @@
},
"notes": [
{
"text": "after installation, checkout: ´https://github.com/community-scripts/ProxmoxVE/discussions/272´",
"text": "This VM uses Cloud-init, for more information see cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`",
"type": "info"
}
]

View File

@@ -33,7 +33,7 @@
},
"notes": [
{
"text": "after installation, checkout: ´https://github.com/community-scripts/ProxmoxVE/discussions/272´",
"text": "This VM uses Cloud-init, for more information see cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`",
"type": "info"
}
]

View File

@@ -33,7 +33,7 @@
},
"notes": [
{
"text": "after installation, checkout: ´https://github.com/community-scripts/ProxmoxVE/discussions/272´",
"text": "This VM uses Cloud-init, for more information see cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`",
"type": "info"
}
]

View File

@@ -1,4 +1,144 @@
[
{
"name": "karlomikus/bar-assistant",
"version": "v5.11.2",
"date": "2025-12-29T21:09:41Z"
},
{
"name": "outline/outline",
"version": "v1.2.0-0",
"date": "2025-12-29T20:53:30Z"
},
{
"name": "mealie-recipes/mealie",
"version": "v3.9.0",
"date": "2025-12-29T20:46:08Z"
},
{
"name": "livebook-dev/livebook",
"version": "nightly",
"date": "2025-12-29T20:41:56Z"
},
{
"name": "scanopy/scanopy",
"version": "v0.12.8",
"date": "2025-12-29T19:43:21Z"
},
{
"name": "home-assistant/core",
"version": "2025.12.5",
"date": "2025-12-29T12:55:22Z"
},
{
"name": "metabase/metabase",
"version": "v0.58.x",
"date": "2025-12-29T19:09:12Z"
},
{
"name": "openobserve/openobserve",
"version": "v0.40.0-rc4",
"date": "2025-12-29T16:54:07Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.31.1",
"date": "2025-12-29T16:50:03Z"
},
{
"name": "traefik/traefik",
"version": "v3.6.6",
"date": "2025-12-29T15:56:09Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "develop-20251228",
"date": "2025-12-28T05:59:54Z"
},
{
"name": "emqx/emqx",
"version": "6.1.0",
"date": "2025-12-29T13:59:25Z"
},
{
"name": "ArchiveBox/ArchiveBox",
"version": "v0.8.6rc1",
"date": "2025-12-29T10:58:49Z"
},
{
"name": "rcourtman/Pulse",
"version": "v5.0.6",
"date": "2025-12-29T10:39:08Z"
},
{
"name": "alam00000/bentopdf",
"version": "v1.15.3",
"date": "2025-12-29T09:33:00Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.16.1",
"date": "2025-12-29T06:08:46Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.612",
"date": "2025-12-29T05:55:22Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.1.0",
"date": "2025-11-23T12:13:34Z"
},
{
"name": "jeedom/core",
"version": "4.5.1",
"date": "2025-12-29T00:27:07Z"
},
{
"name": "chrisbenincasa/tunarr",
"version": "v1.0.11",
"date": "2025-12-28T23:39:20Z"
},
{
"name": "Lidarr/Lidarr",
"version": "v3.1.0.4875",
"date": "2025-11-16T22:40:18Z"
},
{
"name": "Radarr/Radarr",
"version": "v6.0.4.10291",
"date": "2025-11-16T22:39:01Z"
},
{
"name": "bluenviron/mediamtx",
"version": "v1.15.6",
"date": "2025-12-28T16:38:35Z"
},
{
"name": "release-argus/Argus",
"version": "0.29.0",
"date": "2025-12-28T14:32:36Z"
},
{
"name": "pommee/goaway",
"version": "v0.63.3",
"date": "2025-12-28T10:17:20Z"
},
{
"name": "linkwarden/linkwarden",
"version": "v2.13.5",
"date": "2025-12-28T09:15:51Z"
},
{
"name": "kimai/kimai",
"version": "2.45.0",
"date": "2025-12-28T06:32:47Z"
},
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
"date": "2025-06-14T17:45:06Z"
},
{
"name": "dani-garcia/vaultwarden",
"version": "1.35.0",
@@ -25,50 +165,20 @@
"date": "2025-12-27T19:40:14Z"
},
{
"name": "alam00000/bentopdf",
"version": "v1.15.1",
"date": "2025-12-27T16:29:08Z"
},
{
"name": "rcourtman/Pulse",
"version": "v5.0.5",
"date": "2025-12-27T11:47:48Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.4.14",
"date": "2025-12-16T05:42:34Z"
"name": "keycloak/keycloak",
"version": "26.4.7",
"date": "2025-12-01T08:14:11Z"
},
{
"name": "alexta69/metube",
"version": "2025.12.27",
"date": "2025-12-27T10:24:02Z"
},
{
"name": "karlomikus/bar-assistant",
"version": "v5.11.1",
"date": "2025-12-27T09:55:49Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-ui@16.4.1",
"date": "2025-12-27T09:40:37Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.569",
"date": "2025-12-27T05:55:57Z"
},
{
"name": "jeedom/core",
"version": "4.5.1",
"date": "2025-12-27T00:27:04Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.1.0",
"date": "2025-11-23T12:13:34Z"
},
{
"name": "sysadminsmedia/homebox",
"version": "v0.22.3",
@@ -79,11 +189,6 @@
"version": "preview-music-support",
"date": "2025-12-26T22:24:19Z"
},
{
"name": "metabase/metabase",
"version": "v0.58.x",
"date": "2025-12-26T19:49:03Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.48.0",
@@ -94,11 +199,6 @@
"version": "tc_v0.6.6",
"date": "2025-12-26T18:45:22Z"
},
{
"name": "openobserve/openobserve",
"version": "v0.40.0-rc3",
"date": "2025-12-26T16:06:54Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w52-4.14.2",
@@ -109,11 +209,6 @@
"version": "v13.1.7",
"date": "2025-12-26T07:59:41Z"
},
{
"name": "linkwarden/linkwarden",
"version": "v2.13.4",
"date": "2025-12-25T21:38:43Z"
},
{
"name": "HydroshieldMKII/Guardian",
"version": "v1.3.3",
@@ -149,11 +244,6 @@
"version": "1.14.1",
"date": "2025-12-24T21:33:56Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.16.0",
"date": "2025-12-24T19:57:11Z"
},
{
"name": "FreshRSS/FreshRSS",
"version": "1.28.0",
@@ -179,21 +269,11 @@
"version": "v25.12",
"date": "2025-12-24T12:19:42Z"
},
{
"name": "emqx/emqx",
"version": "6.1.0-rc.1",
"date": "2025-12-24T09:46:02Z"
},
{
"name": "comfyanonymous/ComfyUI",
"version": "v0.6.0",
"date": "2025-12-24T03:32:16Z"
},
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
"date": "2025-06-14T17:45:06Z"
},
{
"name": "advplyr/audiobookshelf",
"version": "v2.32.1",
@@ -204,11 +284,6 @@
"version": "n8n@2.1.4",
"date": "2025-12-23T20:53:07Z"
},
{
"name": "scanopy/scanopy",
"version": "v0.12.6",
"date": "2025-12-23T19:24:15Z"
},
{
"name": "prometheus-pve/prometheus-pve-exporter",
"version": "v3.8.0",
@@ -249,11 +324,6 @@
"version": "v3.8.1",
"date": "2025-12-16T09:59:22Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.7",
"date": "2025-12-01T08:14:11Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.543",
@@ -279,11 +349,6 @@
"version": "v2.1.13",
"date": "2025-12-23T10:14:48Z"
},
{
"name": "pommee/goaway",
"version": "v0.63.2",
"date": "2025-12-23T09:32:55Z"
},
{
"name": "syncthing/syncthing",
"version": "v2.0.12",
@@ -324,16 +389,6 @@
"version": "latest",
"date": "2025-12-22T16:21:19Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.30.25",
"date": "2025-12-22T16:03:19Z"
},
{
"name": "chrisbenincasa/tunarr",
"version": "v1.0.9",
"date": "2025-12-22T15:55:49Z"
},
{
"name": "openhab/openhab-core",
"version": "5.1.0",
@@ -429,11 +484,6 @@
"version": "debian/12.1.37",
"date": "2025-12-18T16:43:23Z"
},
{
"name": "home-assistant/core",
"version": "2025.12.4",
"date": "2025-12-19T17:55:13Z"
},
{
"name": "qdrant/qdrant",
"version": "v1.16.3",
@@ -464,11 +514,6 @@
"version": "v15.0.0-dev",
"date": "2025-12-19T11:43:47Z"
},
{
"name": "release-argus/Argus",
"version": "0.28.3",
"date": "2025-12-19T11:05:10Z"
},
{
"name": "mattermost/mattermost",
"version": "v11.1.2",
@@ -484,11 +529,6 @@
"version": "1.0.2",
"date": "2025-12-19T02:43:42Z"
},
{
"name": "mealie-recipes/mealie",
"version": "v3.8.0",
"date": "2025-12-19T01:37:16Z"
},
{
"name": "moghtech/komodo",
"version": "v1.19.5",
@@ -574,11 +614,6 @@
"version": "testing",
"date": "2025-12-16T11:13:20Z"
},
{
"name": "traefik/traefik",
"version": "v2.11.33",
"date": "2025-12-17T10:10:19Z"
},
{
"name": "zitadel/zitadel",
"version": "v4.7.6",
@@ -619,11 +654,6 @@
"version": "v0.19.0",
"date": "2025-12-15T19:43:03Z"
},
{
"name": "livebook-dev/livebook",
"version": "v0.18.2",
"date": "2025-12-15T19:17:42Z"
},
{
"name": "opencloud-eu/opencloud",
"version": "v4.1.0",
@@ -669,16 +699,6 @@
"version": "v2.3.0.5236",
"date": "2025-11-16T22:41:22Z"
},
{
"name": "Lidarr/Lidarr",
"version": "v3.1.0.4875",
"date": "2025-11-16T22:40:18Z"
},
{
"name": "Radarr/Radarr",
"version": "v6.0.4.10291",
"date": "2025-11-16T22:39:01Z"
},
{
"name": "jellyfin/jellyfin",
"version": "v10.11.5",
@@ -869,11 +889,6 @@
"version": "v6.11.1",
"date": "2025-12-07T19:19:08Z"
},
{
"name": "bluenviron/mediamtx",
"version": "v1.15.5",
"date": "2025-12-07T12:24:21Z"
},
{
"name": "Koenkk/zigbee2mqtt",
"version": "2.7.1",
@@ -1099,11 +1114,6 @@
"version": "v4.3.2",
"date": "2025-10-18T12:11:00Z"
},
{
"name": "kimai/kimai",
"version": "2.44.0",
"date": "2025-11-20T11:01:01Z"
},
{
"name": "Athou/commafeed",
"version": "5.12.0",
@@ -1154,11 +1164,6 @@
"version": "v2.15.0",
"date": "2025-11-16T18:53:49Z"
},
{
"name": "outline/outline",
"version": "v1.1.0",
"date": "2025-11-16T15:07:09Z"
},
{
"name": "bastienwirtz/homer",
"version": "v25.11.1",
@@ -1689,11 +1694,6 @@
"version": "v1.15.1",
"date": "2024-12-16T13:00:05Z"
},
{
"name": "ArchiveBox/ArchiveBox",
"version": "v0.7.3",
"date": "2024-12-15T10:18:06Z"
},
{
"name": "swizzin/swizzin",
"version": "stable",

View File

@@ -19,45 +19,42 @@ $STD apt install -y \
build-essential
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
NODE_VERSION="22" setup_nodejs
PG_VERSION="16" setup_postgresql
RUST_CRATES="monolith" setup_rust
msg_info "Setting up PostgreSQL DB"
DB_NAME=linkwardendb
DB_USER=linkwarden
DB_PASS="$(openssl rand -base64 18 | tr -d '/' | cut -c1-13)"
SECRET_KEY="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)"
$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 "Linkwarden-Credentials"
echo "Linkwarden Database User: $DB_USER"
echo "Linkwarden Database Password: $DB_PASS"
echo "Linkwarden Database Name: $DB_NAME"
echo "Linkwarden Secret: $SECRET_KEY"
} >>~/linkwarden.creds
msg_ok "Set up PostgreSQL DB"
PG_DB_NAME="linkwardendb" PG_DB_USER="linkwarden" setup_postgresql_db
read -r -p "${TAB3}Would you like to add Adminer? <y/N> " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
setup_adminer
fi
msg_info "Installing Linkwarden (Patience)"
fetch_and_deploy_gh_release "linkwarden" "linkwarden/linkwarden"
msg_info "Installing Linkwarden (Patience)"
SECRET_KEY="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)"
echo "Linkwarden Secret: $SECRET_KEY" >>"${HOME}/linkwarden.creds"
cd /opt/linkwarden
yarn_ver="4.12.0"
if [[ -f package.json ]]; then
pkg_manager=$(jq -r '.packageManager // empty' package.json 2>/dev/null || true)
if [[ -n "$pkg_manager" && "$pkg_manager" == yarn@* ]]; then
yarn_spec="${pkg_manager#yarn@}"
yarn_ver="${yarn_spec%%+*}"
fi
fi
if command -v corepack >/dev/null 2>&1; then
$STD corepack enable
$STD corepack prepare "yarn@${yarn_ver}" --activate || true
fi
$STD yarn
$STD npx playwright install-deps
$STD yarn playwright install
$STD npx playwright install
IP=$(hostname -I | awk '{print $1}')
cat <<EOF >/opt/linkwarden/.env
NEXTAUTH_SECRET=${SECRET_KEY}
NEXTAUTH_URL=http://${IP}:3000
DATABASE_URL=postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}
DATABASE_URL=postgresql://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAME}
EOF
$STD yarn prisma:generate
$STD yarn web:build

View File

@@ -0,0 +1,68 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/s1t5/mail-archiver
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
setup_deb822_repo \
"microsoft" \
"https://packages.microsoft.com/keys/microsoft-2025.asc" \
"https://packages.microsoft.com/debian/13/prod/" \
"trixie" \
"main"
$STD apt install -y \
dotnet-sdk-10.0 \
aspnetcore-runtime-8.0
msg_ok "Installed Dependencies"
PG_VERSION="17" setup_postgresql
PG_DB_NAME="mailarchiver_db" PG_DB_USER="mailarchiver" setup_postgresql_db
fetch_and_deploy_gh_release "mail-archiver" "s1t5/mail-archiver" "tarball"
msg_info "Setting up Mail-Archiver"
mv /opt/mail-archiver /opt/mail-archiver-build
cd /opt/mail-archiver-build
$STD dotnet restore
$STD dotnet publish -c Release -o /opt/mail-archiver
cp /opt/mail-archiver-build/appsettings.json /opt/mail-archiver/appsettings.json
sed -i "s|\"DefaultConnection\": \"[^\"]*\"|\"DefaultConnection\": \"Host=localhost;Database=mailarchiver_db;Username=mailarchiver;Password=$PG_DB_PASS\"|" /opt/mail-archiver/appsettings.json
rm -rf /opt/mail-archiver-build
cat <<EOF >/opt/mail-archiver/.env
ASPNETCORE_URLS=http://+:5000
ASPNETCORE_ENVIRONMENT=Production
TZ=UTC
EOF
msg_ok "Setup Mail-Archiver"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/mail-archiver.service
[Unit]
Description=Mail-Archiver Service
After=network.target
[Service]
EnvironmentFile=/opt/mail-archiver/.env
WorkingDirectory=/opt/mail-archiver
ExecStart=/usr/bin/dotnet MailArchiver.dll
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now mail-archiver
msg_info "Created Service"
motd_ssh
customize
cleanup_lxc

View File

@@ -23,7 +23,7 @@ $STD apt install -y \
msg_ok "Installed Dependencies"
PYTHON_VERSION="3.13" setup_uv
NODE_VERSION="24" setup_nodejs
NODE_VERSION="24" NODE_MODULE="pnpm" setup_nodejs
msg_info "Installing Deno"
export DENO_INSTALL="/usr/local"
@@ -37,8 +37,12 @@ fetch_and_deploy_gh_release "metube" "alexta69/metube" "tarball" "latest"
msg_info "Installing MeTube"
cd /opt/metube/ui
$STD npm ci
$STD node_modules/.bin/ng build --configuration production
if command -v corepack >/dev/null 2>&1; then
$STD corepack enable
$STD corepack prepare pnpm --activate || true
fi
$STD pnpm install --frozen-lockfile
$STD pnpm run build
cd /opt/metube
$STD uv sync
mkdir -p /opt/metube_downloads /opt/metube_downloads/.metube /opt/metube_downloads/music /opt/metube_downloads/videos

View File

@@ -64,7 +64,7 @@ mkdir /opt/pelican-panel
cd /opt/pelican-panel
curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o "panel.tar.gz"
tar -xzf "panel.tar.gz"
$STD composer install --no-dev --optimize-autoloader --no-interaction
COMPOSER_ALLOW_SUPERUSER=1 $STD composer install --no-dev --optimize-autoloader --no-interaction
$STD php artisan p:environment:setup
$STD php artisan p:environment:queue-service --no-interaction
echo "* * * * * php /opt/pelican-panel/artisan schedule:run >> /dev/null 2>&1" | crontab -u www-data -

View File

@@ -29,7 +29,7 @@ else
fi
mkdir -p /etc/pulse
fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "pulse-v*-linux-amd64.tar.gz"
ln -sf /opt/pulse/bin/pulse /usr/local/bin/pulse
chown -R pulse:pulse /etc/pulse /opt/pulse
msg_ok "Installed Pulse"

View File

@@ -17,6 +17,7 @@ msg_info "Installing Dependencies"
$STD apt install -y \
nginx \
sqlite3
setcap cap_net_raw+ep /bin/ping
msg_ok "Installed Dependencies"
PHP_VERSION="8.4" PHP_FPM="YES" PHP_MODULE="common,sqlite3,redis" setup_php
@@ -71,6 +72,8 @@ SESSION_LIFETIME=120
SPEEDTEST_SCHEDULE="0 */6 * * *"
SPEEDTEST_SERVERS=
SPEEDTEST_EXTERNAL_IP_URL=https://ip.me
SPEEDTEST_INTERNET_CHECK_HOSTNAME=1.1.1.1
PRUNE_RESULTS_OLDER_THAN=0
DISPLAY_TIMEZONE=${TIMEZONE}

View File

@@ -3181,7 +3181,8 @@ EOF'
pct exec "$CTID" -- ash -c "apk add bash newt curl openssh nano mc ncurses jq >/dev/null"
else
sleep 3
pct exec "$CTID" -- bash -c "sed -i '/$LANG/ s/^# //' /etc/locale.gen"
LANG=${LANG:-en_US.UTF-8}
pct exec "$CTID" -- bash -c "sed -i \"/$LANG/ s/^# //\" /etc/locale.gen"
pct exec "$CTID" -- bash -c "locale_line=\$(grep -v '^#' /etc/locale.gen | grep -E '^[a-zA-Z]' | awk '{print \$1}' | head -n 1) && \
echo LANG=\$locale_line >/etc/default/locale && \
locale-gen >/dev/null && \

View File

@@ -821,9 +821,9 @@ cleanup_lxc() {
rm -rf /root/.npm/_cacache /root/.npm/_logs 2>/dev/null || true
fi
# Node.js yarn
if command -v yarn &>/dev/null; then $STD yarn cache clean || true; fi
if command -v yarn &>/dev/null; then yarn cache clean &>/dev/null || true; fi
# Node.js pnpm
if command -v pnpm &>/dev/null; then $STD pnpm store prune || true; fi
if command -v pnpm &>/dev/null; then pnpm store prune &>/dev/null || true; fi
# Go
if command -v go &>/dev/null; then $STD go clean -cache -modcache || true; fi
# Rust cargo
@@ -831,7 +831,7 @@ cleanup_lxc() {
# Ruby gem
if command -v gem &>/dev/null; then $STD gem cleanup || true; fi
# Composer (PHP)
if command -v composer &>/dev/null; then COMPOSER_ALLOW_SUPERUSER=1 && $STD composer clear-cache || true; fi
if command -v composer &>/dev/null; then COMPOSER_ALLOW_SUPERUSER=1 $STD composer clear-cache || true; fi
if command -v journalctl &>/dev/null; then
$STD journalctl --vacuum-time=10m || true

View File

@@ -2639,6 +2639,7 @@ function setup_hwaccel() {
ocl-icd-libopencl1 \
intel-opencl-icd \
vainfo \
libmfx-gen1.2 \
intel-gpu-tools || {
msg_error "Failed to install Intel GPU dependencies"
return 1
@@ -2666,6 +2667,7 @@ EOF
ocl-icd-libopencl1 \
intel-opencl-icd \
vainfo \
libmfx-gen1.2 \
intel-gpu-tools || {
msg_warn "Non-free driver install failed, falling back to open drivers"
needs_nonfree=false
@@ -2694,6 +2696,7 @@ EOF
mesa-va-drivers \
libvpl2 \
vainfo \
libmfx-gen1.2 \
intel-gpu-tools 2>/dev/null || {
msg_warn "Non-free driver install failed, falling back to open drivers"
needs_nonfree=false

View File

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