Compare commits

..

20 Commits

Author SHA1 Message Date
Bram Suurd
138d0c48b1 Update Footer.tsx to redirect to frontend page instead of home page (#3621) 2025-04-02 20:12:43 +02:00
Bram Suurd
763a58aeb9 fix missing favicon (#3620) 2025-04-02 20:12:09 +02:00
Slaviša Arežina
629b9df30a CrowdSec: Update install URL and script refresh (#3604)
* Update install URL and script refresh

* Fine, have it your way
2025-04-02 19:23:58 +02:00
community-scripts-pr-app[bot]
b8ad603a75 Update date in json (#3617) 2025-04-02 18:13:32 +01:00
community-scripts-pr-app[bot]
49c3eb83c6 Update .app files (#3619) 2025-04-02 18:13:16 +01:00
community-scripts-pr-app[bot]
9a559f869a Update CHANGELOG.md (#3618) 2025-04-02 18:13:02 +01:00
push-app-to-main[bot]
bb6e947ff6 'Add new script' (#3610) 2025-04-02 17:58:50 +01:00
community-scripts-pr-app[bot]
7cb2320ccf Update CHANGELOG.md (#3615) 2025-04-02 17:58:30 +01:00
community-scripts-pr-app[bot]
c1f816a57c Update .app files (#3616)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-04-02 18:57:00 +02:00
CanbiZ
6260be8425 Alpine-Wireguard (#3611) 2025-04-02 17:53:21 +01:00
CanbiZ
bcbe73f99f Authelia: fix incorrect rights for email.txt (#3612) 2025-04-02 17:52:38 +01:00
community-scripts-pr-app[bot]
71c337ed86 Update CHANGELOG.md (#3609) 2025-04-02 14:43:31 +01:00
community-scripts-pr-app[bot]
f9618cf24c Update versions.json (#3608) 2025-04-02 14:42:34 +01:00
CanbiZ
b0d81f3b22 Photoprism: harmonize curl (#3601) 2025-04-02 14:42:14 +01:00
community-scripts-pr-app[bot]
dd4af32587 Update CHANGELOG.md (#3596) 2025-04-02 09:08:23 +01:00
CanbiZ
08911cfb19 UI-Fix: verbose without useless space in header (#3598) 2025-04-02 09:07:25 +01:00
community-scripts-pr-app[bot]
86ba0c8976 Update versions.json (#3591)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-02 09:16:05 +02:00
Thalatam Sainath
8fd300e340 Fix link in clean-lxcs.sh (#3593) 2025-04-02 07:29:18 +02:00
Slaviša Arežina
059a3d0bcf Fix dependencies (#3589) 2025-04-02 07:20:07 +02:00
Slaviša Arežina
ea9f19d5f4 More fixes (#3587) 2025-04-02 07:19:50 +02:00
25 changed files with 579 additions and 247 deletions

View File

@@ -14,6 +14,29 @@ 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. 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-02
### 🆕 New Scripts
- openziti-tunnel [@emoscardini](https://github.com/emoscardini) ([#3610](https://github.com/community-scripts/ProxmoxVE/pull/3610))
- Alpine-Wireguard [@MickLesk](https://github.com/MickLesk) ([#3611](https://github.com/community-scripts/ProxmoxVE/pull/3611))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Authelia: fix incorrect rights for email.txt [@MickLesk](https://github.com/MickLesk) ([#3612](https://github.com/community-scripts/ProxmoxVE/pull/3612))
- Photoprism: harmonize curl [@MickLesk](https://github.com/MickLesk) ([#3601](https://github.com/community-scripts/ProxmoxVE/pull/3601))
- Fix link in clean-lxcs.sh [@thalatamsainath](https://github.com/thalatamsainath) ([#3593](https://github.com/community-scripts/ProxmoxVE/pull/3593))
- Fileflows: Add ImageMagick dependecy [@tremor021](https://github.com/tremor021) ([#3589](https://github.com/community-scripts/ProxmoxVE/pull/3589))
- General fixes for several scripts [@tremor021](https://github.com/tremor021) ([#3587](https://github.com/community-scripts/ProxmoxVE/pull/3587))
### 🧰 Maintenance
- #### 💾 Core
- UI-Fix: verbose without useless space in header [@MickLesk](https://github.com/MickLesk) ([#3598](https://github.com/community-scripts/ProxmoxVE/pull/3598))
## 2025-04-01 ## 2025-04-01
### 🆕 New Scripts ### 🆕 New Scripts

View File

@@ -36,12 +36,12 @@ function update_script() {
msg_ok "${APP} Stopped" msg_ok "${APP} Stopped"
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Updating ${APP} to ${RELEASE}"
cd /tmp cd /tmp || exit
curl -fsSL -O https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz"
mv /opt/actualbudget /opt/actualbudget_bak mv /opt/actualbudget /opt/actualbudget_bak
tar -xzf "v${RELEASE}.tar.gz" tar -xzf "v${RELEASE}.tar.gz"
mv actual-${RELEASE} /opt/actualbudget mv "actual-${RELEASE}" /opt/actualbudget
mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config} mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config}
for dir in server-files .migrate user-files migrations; do for dir in server-files .migrate user-files migrations; do
@@ -76,7 +76,7 @@ ACTUAL_HTTPS_KEY=/opt/actualbudget/selfhost.key
ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt
EOF EOF
fi fi
cd /opt/actualbudget cd /opt/actualbudget || exit
$STD yarn workspaces focus @actual-app/sync-server --production $STD yarn workspaces focus @actual-app/sync-server --production
echo "${RELEASE}" >/opt/actualbudget_version.txt echo "${RELEASE}" >/opt/actualbudget_version.txt
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"

50
ct/alpine-wireguard.sh Normal file
View File

@@ -0,0 +1,50 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.wireguard.com/
APP="Alpine-Wireguard"
var_tags="${var_tags:-alpine;vpn}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-256}"
var_disk="${var_disk:-1}"
var_os="${var_os:-alpine}"
var_version="${var_version:-3.21}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
msg_info "Updating Alpine Packages"
$STD apk update
$STD apk upgrade
msg_ok "Updated Alpine Packages"
msg_info "update wireguard-tools"
$STD apk add --no-cache --upgrade wireguard-tools
msg_ok "wireguard-tools updated"
if [[ -d /etc/wgdashboard/src ]]; then
msg_info "update WGDashboard"
cd /etc/wgdashboard/src || exit
$STD echo "y" | ./wgd.sh update
$STD ./wgd.sh start
msg_ok "WGDashboard updated"
fi
exit 0
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} WGDashboard Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:10086${CL}"

View File

@@ -33,9 +33,9 @@ function update_script() {
msg_ok "Stopped ${APP}" msg_ok "Stopped ${APP}"
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
$STD curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -O $STD curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -o "emby-server-deb_${LATEST}_amd64.deb"
$STD dpkg -i emby-server-deb_${LATEST}_amd64.deb $STD dpkg -i "emby-server-deb_${LATEST}_amd64.deb"
rm emby-server-deb_${LATEST}_amd64.deb rm "emby-server-deb_${LATEST}_amd64.deb"
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"

View File

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

View File

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

44
ct/openziti-tunnel.sh Normal file
View File

@@ -0,0 +1,44 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: emoscardini
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/openziti/ziti
APP="openziti-tunnel"
var_tags="${var_tags:-network;openziti-tunnel}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-512}"
var_disk="${var_disk:-2}"
var_os="${var_os:-ubuntu}"
var_version="${var_version:-24.04}"
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/openziti ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating $APP LXC"
$STD apt-get update
$STD apt-get -y upgrade
msg_ok "Updated $APP LXC"
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} Application was assigned the following IP:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}Address: ${IP}${CL}"

View File

@@ -33,7 +33,7 @@ function update_script() {
msg_info "Updating PhotoPrism" msg_info "Updating PhotoPrism"
$STD apt-get install -y libvips42 $STD apt-get install -y libvips42
curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1" -o $(basename "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1") curl -fsSL https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1
msg_ok "Updated PhotoPrism" msg_ok "Updated PhotoPrism"
msg_info "Starting PhotoPrism" msg_info "Starting PhotoPrism"

View File

@@ -39,15 +39,12 @@ function update_script() {
mv /opt/snipe-it /opt/snipe-it-backup mv /opt/snipe-it /opt/snipe-it-backup
temp_file=$(mktemp) temp_file=$(mktemp)
curl -fsSL "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" curl -fsSL "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar zxf $temp_file tar zxf "$temp_file"
mv snipe-it-${RELEASE} /opt/snipe-it mv "snipe-it-${RELEASE}" /opt/snipe-it
$STD curl -fsSL "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip" -O
unzip -q v${RELEASE}.zip
mv snipe-it-${RELEASE} /opt/snipe-it
cp /opt/snipe-it-backup/.env /opt/snipe-it/.env cp /opt/snipe-it-backup/.env /opt/snipe-it/.env
cp -r /opt/snipe-it-backup/public/uploads/ /opt/snipe-it/public/uploads/ cp -r /opt/snipe-it-backup/public/uploads/ /opt/snipe-it/public/uploads/
cp -r /opt/snipe-it-backup/storage/private_uploads /opt/snipe-it/storage/private_uploads cp -r /opt/snipe-it-backup/storage/private_uploads /opt/snipe-it/storage/private_uploads
cd /opt/snipe-it/ cd /opt/snipe-it/ || exit
export COMPOSER_ALLOW_SUPERUSER=1 export COMPOSER_ALLOW_SUPERUSER=1
$STD composer install --no-dev --optimize-autoloader --no-interaction $STD composer install --no-dev --optimize-autoloader --no-interaction
$STD composer dump-autoload $STD composer dump-autoload
@@ -58,7 +55,7 @@ function update_script() {
$STD php artisan view:clear $STD php artisan view:clear
chown -R www-data: /opt/snipe-it chown -R www-data: /opt/snipe-it
chmod -R 755 /opt/snipe-it chmod -R 755 /opt/snipe-it
rm -rf /opt/v${RELEASE}.zip rm -rf "$temp_file"
rm -rf /opt/snipe-it-backup rm -rf /opt/snipe-it-backup
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"

View File

@@ -0,0 +1,43 @@
{
"name": "openziti-tunnel",
"slug": "openziti-tunnel",
"categories": [
4
],
"date_created": "2025-04-02",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": null,
"documentation": "https://openziti.io/docs/reference/tunnelers/docker/",
"website": "https://www.openziti.io/",
"logo": "https://raw.githubusercontent.com/openziti/ziti-doc/main/docusaurus/static/img/ziti-logo-dark.svg",
"description": "OpenZiti is an open-source, zero trust networking platform that enables secure connectivity between applications, services, and devices. It provides secure, encrypted connections between clients and services, and can be used to create secure, zero trust networks.",
"install_methods": [
{
"type": "default",
"script": "ct/openziti-tunnel.sh",
"resources": {
"cpu": 1,
"ram": 512,
"hdd": 2,
"os": "Ubuntu",
"version": "24.04"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "The Openziti tunnel is installed in host mode; please see documentation for more information",
"type": "info"
},
{
"text": "Openziti tunnel prompts for identity enrollment token during installation",
"type": "info"
}
]
}

View File

@@ -1,8 +1,108 @@
[ [
{
"name": "Graylog2/graylog2-server",
"version": "6.1.9",
"date": "2025-04-02T11:18:59Z"
},
{
"name": "syncthing/syncthing",
"version": "v1.29.4",
"date": "2025-04-01T08:45:07Z"
},
{ {
"name": "fhem/fhem-mirror", "name": "fhem/fhem-mirror",
"version": "6.2", "version": "6.2",
"date": "2025-04-01T10:35:00Z" "date": "2025-04-02T10:34:08Z"
},
{
"name": "home-assistant/core",
"version": "2025.3.4",
"date": "2025-03-21T20:22:46Z"
},
{
"name": "zwave-js/zwave-js-ui",
"version": "v10.1.4",
"date": "2025-04-02T09:38:52Z"
},
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.11",
"date": "2025-03-28T14:04:31Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.1719",
"date": "2025-04-02T05:50:17Z"
},
{
"name": "rabbitmq/rabbitmq-server",
"version": "v4.0.7",
"date": "2025-02-26T19:07:11Z"
},
{
"name": "immich-app/immich",
"version": "v1.131.3",
"date": "2025-04-01T22:48:22Z"
},
{
"name": "icereed/paperless-gpt",
"version": "v0.14.3",
"date": "2025-04-01T19:53:18Z"
},
{
"name": "runtipi/runtipi",
"version": "v3.10.0",
"date": "2025-03-15T14:38:16Z"
},
{
"name": "fallenbagel/jellyseerr",
"version": "preview-music-support",
"date": "2025-04-01T19:04:25Z"
},
{
"name": "Koenkk/zigbee2mqtt",
"version": "2.2.0",
"date": "2025-04-01T18:50:44Z"
},
{
"name": "apache/tomcat",
"version": "9.0.103",
"date": "2025-04-01T18:39:51Z"
},
{
"name": "MagicMirrorOrg/MagicMirror",
"version": "v2.31.0",
"date": "2025-04-01T18:12:45Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.19.6",
"date": "2025-04-01T17:26:31Z"
},
{
"name": "influxdata/influxdb",
"version": "v3.0.0-0.beta.3",
"date": "2025-04-01T15:34:30Z"
},
{
"name": "element-hq/synapse",
"version": "v1.127.1",
"date": "2025-03-26T21:44:28Z"
},
{
"name": "keycloak/keycloak",
"version": "26.1.4",
"date": "2025-03-13T15:41:42Z"
},
{
"name": "Luligu/matterbridge",
"version": "2.2.6",
"date": "2025-04-01T14:01:36Z"
},
{
"name": "theonedev/onedev",
"version": "v11.8.6",
"date": "2025-04-01T13:52:03Z"
}, },
{ {
"name": "OctoPrint/OctoPrint", "name": "OctoPrint/OctoPrint",
@@ -14,26 +114,21 @@
"version": "v2.13.7", "version": "v2.13.7",
"date": "2025-04-01T09:41:55Z" "date": "2025-04-01T09:41:55Z"
}, },
{
"name": "neo4j/neo4j",
"version": "5.26.5",
"date": "2025-04-01T09:32:48Z"
},
{ {
"name": "Checkmk/checkmk", "name": "Checkmk/checkmk",
"version": "v2.4.0b3-rc1", "version": "v2.4.0b3-rc1",
"date": "2025-04-01T09:22:44Z" "date": "2025-04-01T09:22:44Z"
}, },
{
"name": "syncthing/syncthing",
"version": "v1.29.4",
"date": "2025-04-01T08:45:07Z"
},
{ {
"name": "wazuh/wazuh", "name": "wazuh/wazuh",
"version": "v4.11.2", "version": "v4.11.2",
"date": "2025-04-01T07:07:35Z" "date": "2025-04-01T07:07:35Z"
}, },
{
"name": "Jackett/Jackett",
"version": "v0.22.1714",
"date": "2025-04-01T05:50:38Z"
},
{ {
"name": "firefly-iii/firefly-iii", "name": "firefly-iii/firefly-iii",
"version": "v6.2.10", "version": "v6.2.10",
@@ -64,26 +159,11 @@
"version": "v2.2.0", "version": "v2.2.0",
"date": "2025-03-31T21:31:48Z" "date": "2025-03-31T21:31:48Z"
}, },
{
"name": "immich-app/immich",
"version": "v1.131.1",
"date": "2025-03-31T20:53:57Z"
},
{
"name": "home-assistant/core",
"version": "2025.3.4",
"date": "2025-03-21T20:22:46Z"
},
{ {
"name": "NodeBB/NodeBB", "name": "NodeBB/NodeBB",
"version": "v4.2.0", "version": "v4.2.0",
"date": "2025-03-19T18:34:01Z" "date": "2025-03-19T18:34:01Z"
}, },
{
"name": "runtipi/runtipi",
"version": "v3.10.0",
"date": "2025-03-15T14:38:16Z"
},
{ {
"name": "redis/redis", "name": "redis/redis",
"version": "8.0-rc1-int", "version": "8.0-rc1-int",
@@ -99,11 +179,6 @@
"version": "15.1", "version": "15.1",
"date": "2025-03-31T13:42:20Z" "date": "2025-03-31T13:42:20Z"
}, },
{
"name": "theonedev/onedev",
"version": "v11.8.5",
"date": "2025-03-31T13:14:22Z"
},
{ {
"name": "n8n-io/n8n", "name": "n8n-io/n8n",
"version": "n8n@1.84.3", "version": "n8n@1.84.3",
@@ -114,26 +189,11 @@
"version": "v2.63.9", "version": "v2.63.9",
"date": "2025-03-31T12:47:21Z" "date": "2025-03-31T12:47:21Z"
}, },
{
"name": "Graylog2/graylog2-server",
"version": "6.2.0-beta.3",
"date": "2025-03-31T11:22:28Z"
},
{ {
"name": "documenso/documenso", "name": "documenso/documenso",
"version": "v1.10.0-rc.4", "version": "v1.10.0-rc.4",
"date": "2025-03-31T09:02:22Z" "date": "2025-03-31T09:02:22Z"
}, },
{
"name": "fallenbagel/jellyseerr",
"version": "preview-fix-remove-button",
"date": "2025-03-31T08:41:27Z"
},
{
"name": "keycloak/keycloak",
"version": "26.1.4",
"date": "2025-03-13T15:41:42Z"
},
{ {
"name": "MediaBrowser/Emby.Releases", "name": "MediaBrowser/Emby.Releases",
"version": "4.8.11.0", "version": "4.8.11.0",
@@ -144,11 +204,6 @@
"version": "v0.92.5", "version": "v0.92.5",
"date": "2025-03-30T12:32:43Z" "date": "2025-03-30T12:32:43Z"
}, },
{
"name": "icereed/paperless-gpt",
"version": "v0.14.2",
"date": "2025-03-30T19:50:38Z"
},
{ {
"name": "StarFleetCPTN/GoMFT", "name": "StarFleetCPTN/GoMFT",
"version": "v0.2.4", "version": "v0.2.4",
@@ -239,11 +294,6 @@
"version": "2025.3.28", "version": "2025.3.28",
"date": "2025-03-29T00:18:56Z" "date": "2025-03-29T00:18:56Z"
}, },
{
"name": "msgbyte/tianji",
"version": "v1.19.5",
"date": "2025-03-28T22:03:01Z"
},
{ {
"name": "homarr-labs/homarr", "name": "homarr-labs/homarr",
"version": "v1.13.1", "version": "v1.13.1",
@@ -284,11 +334,6 @@
"version": "version/2025.2.3", "version": "version/2025.2.3",
"date": "2025-03-28T14:28:34Z" "date": "2025-03-28T14:28:34Z"
}, },
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.11",
"date": "2025-03-28T14:04:31Z"
},
{ {
"name": "hakimel/reveal.js", "name": "hakimel/reveal.js",
"version": "5.2.1", "version": "5.2.1",
@@ -329,11 +374,6 @@
"version": "1.5.34", "version": "1.5.34",
"date": "2025-03-27T16:17:38Z" "date": "2025-03-27T16:17:38Z"
}, },
{
"name": "zwave-js/zwave-js-ui",
"version": "v10.1.3",
"date": "2025-03-27T15:51:38Z"
},
{ {
"name": "tailscale/tailscale", "name": "tailscale/tailscale",
"version": "v1.82.0", "version": "v1.82.0",
@@ -359,11 +399,6 @@
"version": "v0.14.5-rc6", "version": "v0.14.5-rc6",
"date": "2025-03-27T05:15:49Z" "date": "2025-03-27T05:15:49Z"
}, },
{
"name": "element-hq/synapse",
"version": "v1.127.1",
"date": "2025-03-26T21:44:28Z"
},
{ {
"name": "duplicati/duplicati", "name": "duplicati/duplicati",
"version": "v2.1.0.112-2.1.0.112_canary_2025-03-26", "version": "v2.1.0.112-2.1.0.112_canary_2025-03-26",
@@ -444,11 +479,6 @@
"version": "v2.9.1", "version": "v2.9.1",
"date": "2025-01-08T15:22:53Z" "date": "2025-01-08T15:22:53Z"
}, },
{
"name": "influxdata/influxdb",
"version": "v3.0.0-0.beta.2",
"date": "2025-03-24T21:12:19Z"
},
{ {
"name": "ZoeyVid/NPMplus", "name": "ZoeyVid/NPMplus",
"version": "2025-03-24-r2", "version": "2025-03-24-r2",
@@ -539,26 +569,11 @@
"version": "v1.10.4", "version": "v1.10.4",
"date": "2025-03-20T18:56:10Z" "date": "2025-03-20T18:56:10Z"
}, },
{
"name": "neo4j/neo4j",
"version": "4.4.42",
"date": "2025-03-20T14:44:17Z"
},
{
"name": "rabbitmq/rabbitmq-server",
"version": "v4.0.7",
"date": "2025-02-26T19:07:11Z"
},
{ {
"name": "seanmorley15/AdventureLog", "name": "seanmorley15/AdventureLog",
"version": "v0.9.0", "version": "v0.9.0",
"date": "2025-03-19T13:30:02Z" "date": "2025-03-19T13:30:02Z"
}, },
{
"name": "Luligu/matterbridge",
"version": "2.2.5",
"date": "2025-03-19T09:11:26Z"
},
{ {
"name": "Donkie/Spoolman", "name": "Donkie/Spoolman",
"version": "v0.22.1", "version": "v0.22.1",
@@ -774,11 +789,6 @@
"version": "tc_v0.6.4", "version": "tc_v0.6.4",
"date": "2025-03-05T15:43:40Z" "date": "2025-03-05T15:43:40Z"
}, },
{
"name": "apache/tomcat",
"version": "10.1.39",
"date": "2025-03-04T19:05:18Z"
},
{ {
"name": "sysadminsmedia/homebox", "name": "sysadminsmedia/homebox",
"version": "v0.18.0", "version": "v0.18.0",
@@ -789,11 +799,6 @@
"version": "v25.3.1", "version": "v25.3.1",
"date": "2025-03-03T02:05:36Z" "date": "2025-03-03T02:05:36Z"
}, },
{
"name": "Koenkk/zigbee2mqtt",
"version": "2.1.3",
"date": "2025-03-02T07:47:30Z"
},
{ {
"name": "heiher/hev-socks5-server", "name": "heiher/hev-socks5-server",
"version": "2.8.0", "version": "2.8.0",
@@ -1049,11 +1054,6 @@
"version": "v25.1.0", "version": "v25.1.0",
"date": "2025-01-10T18:14:54Z" "date": "2025-01-10T18:14:54Z"
}, },
{
"name": "MagicMirrorOrg/MagicMirror",
"version": "v2.30.0",
"date": "2025-01-01T14:30:19Z"
},
{ {
"name": "go-vikunja/vikunja", "name": "go-vikunja/vikunja",
"version": "v0.24.6", "version": "v0.24.6",

View File

@@ -24,6 +24,17 @@
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }
},
{
"type": "alpine",
"script": "ct/alpine-wireguard.sh",
"resources": {
"cpu": 1,
"ram": 256,
"hdd": 1,
"os": "alpine",
"version": "3.21"
}
} }
], ],
"default_credentials": { "default_credentials": {

View File

@@ -42,10 +42,6 @@ export const metadata : Metadata = {
alternates: { alternates: {
canonical: `https://community-scripts.github.io/${basePath}/`, canonical: `https://community-scripts.github.io/${basePath}/`,
}, },
icons: {
icon: "/favicon.ico",
apple: "/apple-touch-icon.png",
},
viewport: { viewport: {
width: "device-width", width: "device-width",
initialScale: 1, initialScale: 1,

View File

@@ -12,7 +12,7 @@ export default function Footer() {
<p> <p>
Website built by the community. The source code is available on{" "} Website built by the community. The source code is available on{" "}
<Link <Link
href={`https://github.com/community-scripts/${basePath}`} href={`https://github.com/community-scripts/${basePath}/frontend`}
target="_blank" target="_blank"
rel="noreferrer" rel="noreferrer"
className="font-semibold underline-offset-2 duration-300 hover:underline" className="font-semibold underline-offset-2 duration-300 hover:underline"

View File

@@ -0,0 +1,105 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.wireguard.com/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apk add \
newt \
curl \
openssh \
nano \
mc \
gpg \
iptables \
openrc
msg_ok "Installed Dependencies"
msg_info "Installing WireGuard"
$STD apk add --no-cache wireguard-tools
if [[ ! -L /etc/init.d/wg-quick.wg0 ]]; then
ln -s /etc/init.d/wg-quick /etc/init.d/wg-quick.wg0
fi
private_key=$(wg genkey)
cat <<EOF >/etc/wireguard/wg0.conf
[Interface]
PrivateKey = ${private_key}
Address = 10.0.0.1/24
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE;
ListenPort = 51820
EOF
msg_ok "Installed WireGuard"
read -rp "Do you want to install WGDashboard? (y/N): " INSTALL_WGD
if [[ "$INSTALL_WGD" =~ ^[Yy]$ ]]; then
msg_info "Installing additional dependencies for WGDashboard"
$STD apk add --no-cache \
python3 \
py3-pip \
git \
sudo \
musl-dev \
linux-headers \
gcc \
python3-dev
msg_ok "Installed additional dependencies for WGDashboard"
msg_info "Installing WGDashboard"
git clone -q https://github.com/donaldzou/WGDashboard.git /etc/wgdashboard
cd /etc/wgdashboard/src || exit
chmod u+x wgd.sh
$STD ./wgd.sh install
$STD echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf
sysctl -p /etc/sysctl.conf
msg_ok "Installed WGDashboard"
msg_info "Creating Service for WGDashboard"
cat <<EOF >/etc/init.d/wg-dashboard
#!/sbin/openrc-run
description="WireGuard Dashboard Service"
depend() {
need net
after firewall
}
start() {
ebegin "Starting WGDashboard"
cd /etc/wgdashboard/src/ || exit 1
./wgd.sh start &
eend $?
}
stop() {
ebegin "Stopping WGDashboard"
pkill -f "wgd.sh"
eend $?
}
EOF
chmod +x /etc/init.d/wg-dashboard
$STD rc-update add wg-dashboard default
$STD rc-service wg-dashboard start
msg_ok "Created Service for WGDashboard"
fi
msg_info "Starting Services"
$STD rc-update add wg-quick.wg0 default
$STD rc-service wg-quick.wg0 start
msg_ok "Started Services"
motd_ssh
customize

View File

@@ -34,7 +34,6 @@ users:
password: "\$argon2id\$v=19\$m=65536,t=3,p=4\$ZBopMzXrzhHXPEZxRDVT2w\$SxWm96DwhOsZyn34DLocwQEIb4kCDsk632PuiMdZnig" password: "\$argon2id\$v=19\$m=65536,t=3,p=4\$ZBopMzXrzhHXPEZxRDVT2w\$SxWm96DwhOsZyn34DLocwQEIb4kCDsk632PuiMdZnig"
groups: [] groups: []
EOF EOF
cat <<EOF >/etc/authelia/configuration.yml cat <<EOF >/etc/authelia/configuration.yml
authentication_backend: authentication_backend:
file: file:
@@ -64,6 +63,8 @@ notifier:
filesystem: filesystem:
filename: /etc/authelia/emails.txt filename: /etc/authelia/emails.txt
EOF EOF
touch /etc/authelia/emails.txt
chown -R authelia:authelia /etc/authelia
systemctl enable -q --now authelia systemctl enable -q --now authelia
msg_ok "Authelia Setup completed" msg_ok "Authelia Setup completed"

View File

@@ -18,7 +18,7 @@ $STD apt-get install -y g++-multilib
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Installing Daemon Sync Server" msg_info "Installing Daemon Sync Server"
curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/daemonsync_2.2.0.0059_amd64.deb -O "daemonsync_2.2.0.0059_amd64.deb" curl -fsSL "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/daemonsync_2.2.0.0059_amd64.deb" -o "daemonsync_2.2.0.0059_amd64.deb"
$STD dpkg -i daemonsync_2.2.0.0059_amd64.deb $STD dpkg -i daemonsync_2.2.0.0059_amd64.deb
msg_ok "Installed Daemon Sync Server" msg_ok "Installed Daemon Sync Server"

View File

@@ -15,14 +15,14 @@ update_os
msg_info "Setting Phoscon Repository" msg_info "Setting Phoscon Repository"
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
curl -fsSL http://phoscon.de/apt/deconz.pub.key >/etc/apt/trusted.gpg.d/deconz.pub.asc curl -fsSL "http://phoscon.de/apt/deconz.pub.key" >/etc/apt/trusted.gpg.d/deconz.pub.asc
echo "deb [arch=amd64] http://phoscon.de/apt/deconz $VERSION main" >/etc/apt/sources.list.d/deconz.list echo "deb [arch=amd64] http://phoscon.de/apt/deconz $VERSION main" >/etc/apt/sources.list.d/deconz.list
msg_ok "Setup Phoscon Repository" msg_ok "Setup Phoscon Repository"
msg_info "Installing deConz" msg_info "Installing deConz"
libssl=$(curl -fsSL "http://security.ubuntu.com/ubuntu/pool/main/o/openssl/" | grep -o 'libssl1\.1_1\.1\.1f-1ubuntu2\.2[^"]*amd64\.deb' | head -n1) libssl=$(curl -fsSL "http://security.ubuntu.com/ubuntu/pool/main/o/openssl/" | grep -o 'libssl1\.1_1\.1\.1f-1ubuntu2\.2[^"]*amd64\.deb' | head -n1)
curl -fsSL "http://security.ubuntu.com/ubuntu/pool/main/o/openssl/$libssl" -O curl -fsSL "http://security.ubuntu.com/ubuntu/pool/main/o/openssl/$libssl" -o "$libssl"
$STD dpkg -i $libssl $STD dpkg -i "$libssl"
$STD apt-get update $STD apt-get update
$STD apt-get install -y deconz $STD apt-get install -y deconz
msg_ok "Installed deConz" msg_ok "Installed deConz"
@@ -51,7 +51,7 @@ motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf $libssl rm -rf "$libssl"
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -17,7 +17,8 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
ffmpeg \ ffmpeg \
jq jq \
imagemagick
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
read -r -p "Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? <y/N> " prompt read -r -p "Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? <y/N> " prompt

View File

@@ -0,0 +1,48 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: emoscardini
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/openziti/ziti
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 gpg
msg_ok "Installed Dependencies"
msg_info "Installing openziti"
mkdir -p --mode=0755 /usr/share/keyrings
curl -sSLf https://get.openziti.io/tun/package-repos.gpg | gpg --dearmor -o /usr/share/keyrings/openziti.gpg
echo "deb [signed-by=/usr/share/keyrings/openziti.gpg] https://packages.openziti.org/zitipax-openziti-deb-stable jammy main" >/etc/apt/sources.list.d/openziti.list
$STD apt-get update
$STD apt-get install -y ziti-edge-tunnel
sed -i '0,/^ExecStart/ { /^ExecStart/ { n; s|^ExecStart.*|ExecStart=/opt/openziti/bin/ziti-edge-tunnel run-host --verbose=${ZITI_VERBOSE} --identity-dir=${ZITI_IDENTITY_DIR}| } }' /usr/lib/systemd/system/ziti-edge-tunnel.service
systemctl daemon-reload
msg_ok "Installed openziti"
read -r -p "Please paste an identity enrollment token(JTW)" prompt
if [[ ${prompt} ]]; then
msg_info "Adding identity"
echo "${prompt}" >/opt/openziti/etc/identities/identity.jwt
chown ziti:ziti /opt/openziti/etc/identities/identity.jwt
systemctl enable -q --now ziti-edge-tunnel
msg_ok "Service Started"
else
systemctl enable -q ziti-edge-tunnel
msg_error "No identity provided; please place an identity file in /opt/openziti/etc/identities/ and restart the service"
fi
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -58,10 +58,10 @@ $STD apt-get install -y \
tesseract-ocr \ tesseract-ocr \
tesseract-ocr-eng tesseract-ocr-eng
cd /tmp cd /tmp || exit
curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz")
$STD tar -xzf ghostscript-10.04.0.tar.gz $STD tar -xzf ghostscript-10.04.0.tar.gz
cd ghostscript-10.04.0 cd ghostscript-10.04.0 || exit
$STD ./configure $STD ./configure
$STD make $STD make
$STD sudo make install $STD sudo make install
@@ -69,7 +69,7 @@ msg_ok "Installed OCR Dependencies"
msg_info "Installing JBIG2" msg_info "Installing JBIG2"
$STD git clone https://github.com/ie13/jbig2enc /opt/jbig2enc $STD git clone https://github.com/ie13/jbig2enc /opt/jbig2enc
cd /opt/jbig2enc cd /opt/jbig2enc || exit
$STD bash ./autogen.sh $STD bash ./autogen.sh
$STD bash ./configure $STD bash ./configure
$STD make $STD make
@@ -78,23 +78,23 @@ rm -rf /opt/jbig2enc
msg_ok "Installed JBIG2" msg_ok "Installed JBIG2"
msg_info "Installing Paperless-ngx (Patience)" msg_info "Installing Paperless-ngx (Patience)"
Paperlessngx=$(curl -fsSL https://github.com/paperless-ngx/paperless-ngx/releases/latest | grep "title>Release" | cut -d " " -f 5) Paperlessngx=$(curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/latest" | grep "title>Release" | cut -d " " -f 5)
cd /opt cd /opt || exit
$STD curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$Paperlessngx/paperless-ngx-$Paperlessngx.tar.xz" -O $STD curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$Paperlessngx/paperless-ngx-$Paperlessngx.tar.xz" -o "paperless-ngx-$Paperlessngx.tar.xz"
$STD tar -xf paperless-ngx-$Paperlessngx.tar.xz -C /opt/ $STD tar -xf "paperless-ngx-$Paperlessngx.tar.xz" -C /opt/
mv paperless-ngx paperless mv paperless-ngx paperless
rm paperless-ngx-$Paperlessngx.tar.xz rm "paperless-ngx-$Paperlessngx.tar.xz"
cd /opt/paperless cd /opt/paperless || exit
$STD pip install --upgrade pip $STD pip install --upgrade pip
$STD pip install -r requirements.txt $STD pip install -r requirements.txt
curl -fsSL -o /opt/paperless/paperless.conf https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/paperless.conf.example curl -fsSL "https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/paperless.conf.example" -o /opt/paperless/paperless.conf
mkdir -p {consume,data,media,static} mkdir -p {consume,data,media,static}
sed -i -e 's|#PAPERLESS_REDIS=redis://localhost:6379|PAPERLESS_REDIS=redis://localhost:6379|' /opt/paperless/paperless.conf sed -i -e 's|#PAPERLESS_REDIS=redis://localhost:6379|PAPERLESS_REDIS=redis://localhost:6379|' /opt/paperless/paperless.conf
sed -i -e "s|#PAPERLESS_CONSUMPTION_DIR=../consume|PAPERLESS_CONSUMPTION_DIR=/opt/paperless/consume|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_CONSUMPTION_DIR=../consume|PAPERLESS_CONSUMPTION_DIR=/opt/paperless/consume|" /opt/paperless/paperless.conf
sed -i -e "s|#PAPERLESS_DATA_DIR=../data|PAPERLESS_DATA_DIR=/opt/paperless/data|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_DATA_DIR=../data|PAPERLESS_DATA_DIR=/opt/paperless/data|" /opt/paperless/paperless.conf
sed -i -e "s|#PAPERLESS_MEDIA_ROOT=../media|PAPERLESS_MEDIA_ROOT=/opt/paperless/media|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_MEDIA_ROOT=../media|PAPERLESS_MEDIA_ROOT=/opt/paperless/media|" /opt/paperless/paperless.conf
sed -i -e "s|#PAPERLESS_STATICDIR=../static|PAPERLESS_STATICDIR=/opt/paperless/static|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_STATICDIR=../static|PAPERLESS_STATICDIR=/opt/paperless/static|" /opt/paperless/paperless.conf
echo "${Paperlessngx}" >/opt/${APPLICATION}_version.txt echo "${Paperlessngx}" >/opt/"${APPLICATION}"_version.txt
msg_ok "Installed Paperless-ngx" msg_ok "Installed Paperless-ngx"
msg_info "Installing Natural Language Toolkit (Patience)" msg_info "Installing Natural Language Toolkit (Patience)"
@@ -121,7 +121,7 @@ sed -i -e "s|#PAPERLESS_DBNAME=paperless|PAPERLESS_DBNAME=$DB_NAME|" /opt/paperl
sed -i -e "s|#PAPERLESS_DBUSER=paperless|PAPERLESS_DBUSER=$DB_USER|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_DBUSER=paperless|PAPERLESS_DBUSER=$DB_USER|" /opt/paperless/paperless.conf
sed -i -e "s|#PAPERLESS_DBPASS=paperless|PAPERLESS_DBPASS=$DB_PASS|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_DBPASS=paperless|PAPERLESS_DBPASS=$DB_PASS|" /opt/paperless/paperless.conf
sed -i -e "s|#PAPERLESS_SECRET_KEY=change-me|PAPERLESS_SECRET_KEY=$SECRET_KEY|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_SECRET_KEY=change-me|PAPERLESS_SECRET_KEY=$SECRET_KEY|" /opt/paperless/paperless.conf
cd /opt/paperless/src cd /opt/paperless/src || exit
$STD python3 manage.py migrate $STD python3 manage.py migrate
msg_ok "Set up PostgreSQL database" msg_ok "Set up PostgreSQL database"

View File

@@ -35,9 +35,9 @@ 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
curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1" -o $(basename "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1") curl -fsSL https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1
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-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1)
curl -fsSL "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1" -o $(basename "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1") curl -fsSL "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1
ldconfig ldconfig
chmod -R 755 /opt/photoprism/photos/originals chmod -R 755 /opt/photoprism/photos/originals
cat <<EOF >/opt/photoprism/config/.env cat <<EOF >/opt/photoprism/config/.env

View File

@@ -44,6 +44,7 @@ color() {
CPUCORE="${TAB}🧠${TAB}${CL}" CPUCORE="${TAB}🧠${TAB}${CL}"
RAMSIZE="${TAB}🛠️${TAB}${CL}" RAMSIZE="${TAB}🛠️${TAB}${CL}"
SEARCH="${TAB}🔍${TAB}${CL}" SEARCH="${TAB}🔍${TAB}${CL}"
VERBOSE_CROPPED="🔍${TAB}"
VERIFYPW="${TAB}🔐${TAB}${CL}" VERIFYPW="${TAB}🔐${TAB}${CL}"
CONTAINERID="${TAB}🆔${TAB}${CL}" CONTAINERID="${TAB}🆔${TAB}${CL}"
HOSTNAME="${TAB}🏠${TAB}${CL}" HOSTNAME="${TAB}🏠${TAB}${CL}"
@@ -950,7 +951,7 @@ install_script() {
;; ;;
2) 2)
header_info header_info
echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME (${SEARCH}Verbose)${CL}" echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME (${VERBOSE_CROPPED}Verbose)${CL}"
VERB="yes" VERB="yes"
METHOD="default" METHOD="default"
base_settings "$VERB" base_settings "$VERB"

View File

@@ -40,7 +40,7 @@ function clean_container() {
header_info header_info
name=$(pct exec "$container" hostname) name=$(pct exec "$container" hostname)
echo -e "${BL}[Info]${GN} Cleaning ${name} ${CL} \n" echo -e "${BL}[Info]${GN} Cleaning ${name} ${CL} \n"
pct exec $container -- bash -c "apt-get -y --purge autoremove && apt-get -y autoclean && bash <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/clean.sh) && rm -rf /var/lib/apt/lists/* && apt-get update" pct exec $container -- bash -c "apt-get -y --purge autoremove && apt-get -y autoclean && bash <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/clean.sh) && rm -rf /var/lib/apt/lists/* && apt-get update"
} }
for container in $(pct list | awk '{if(NR>1) print $1}'); do for container in $(pct list | awk '{if(NR>1) print $1}'); do
if [[ " ${excluded_containers[@]} " =~ " $container " ]]; then if [[ " ${excluded_containers[@]} " =~ " $container " ]]; then

View File

@@ -31,7 +31,7 @@ function error_exit() {
local msg="${1:-$reason}" local msg="${1:-$reason}"
local flag="${RD}‼ ERROR ${CL}$EXIT@$LINE" local flag="${RD}‼ ERROR ${CL}$EXIT@$LINE"
echo -e "$flag $msg" 1>&2 echo -e "$flag $msg" 1>&2
exit $EXIT exit "$EXIT"
} }
if command -v pveversion >/dev/null 2>&1; then if command -v pveversion >/dev/null 2>&1; then
echo -e "⚠️ Can't Install on Proxmox " echo -e "⚠️ Can't Install on Proxmox "
@@ -46,7 +46,7 @@ while true; do
esac esac
done done
clear clear
function header_info { function header_info() {
echo -e "${BL} echo -e "${BL}
_____ _ _____ _____ _ _____
/ ____| | |/ ____| / ____| | |/ ____|
@@ -73,7 +73,7 @@ msg_info "Setting up ${APP} Repository"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get install -y curl &>/dev/null apt-get install -y curl &>/dev/null
apt-get install -y gnupg &>/dev/null apt-get install -y gnupg &>/dev/null
curl -fsSL https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | bash &>/dev/null curl -fsSL "https://install.crowdsec.net" | bash &>/dev/null
msg_ok "Setup ${APP} Repository" msg_ok "Setup ${APP} Repository"
msg_info "Installing ${APP}" msg_info "Installing ${APP}"