mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-05 10:52:49 +00:00
Compare commits
20 Commits
2025-04-01
...
2025-04-02
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
138d0c48b1 | ||
|
|
763a58aeb9 | ||
|
|
629b9df30a | ||
|
|
b8ad603a75 | ||
|
|
49c3eb83c6 | ||
|
|
9a559f869a | ||
|
|
bb6e947ff6 | ||
|
|
7cb2320ccf | ||
|
|
c1f816a57c | ||
|
|
6260be8425 | ||
|
|
bcbe73f99f | ||
|
|
71c337ed86 | ||
|
|
f9618cf24c | ||
|
|
b0d81f3b22 | ||
|
|
dd4af32587 | ||
|
|
08911cfb19 | ||
|
|
86ba0c8976 | ||
|
|
8fd300e340 | ||
|
|
059a3d0bcf | ||
|
|
ea9f19d5f4 |
23
CHANGELOG.md
23
CHANGELOG.md
@@ -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
|
||||||
|
|||||||
@@ -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
50
ct/alpine-wireguard.sh
Normal 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}"
|
||||||
@@ -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}"
|
||||||
|
|||||||
6
ct/headers/alpine-wireguard
Normal file
6
ct/headers/alpine-wireguard
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
___ __ _ _ ___ __
|
||||||
|
/ | / /___ (_)___ ___ | | / (_)_______ ____ ___ ______ __________/ /
|
||||||
|
/ /| | / / __ \/ / __ \/ _ \_____| | /| / / / ___/ _ \/ __ `/ / / / __ `/ ___/ __ /
|
||||||
|
/ ___ |/ / /_/ / / / / / __/_____/ |/ |/ / / / / __/ /_/ / /_/ / /_/ / / / /_/ /
|
||||||
|
/_/ |_/_/ .___/_/_/ /_/\___/ |__/|__/_/_/ \___/\__, /\__,_/\__,_/_/ \__,_/
|
||||||
|
/_/ /____/
|
||||||
6
ct/headers/openziti-tunnel
Normal file
6
ct/headers/openziti-tunnel
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
_ __ _ __ __
|
||||||
|
____ ____ ___ ____ ____ (_) /_(_) / /___ ______ ____ ___ / /
|
||||||
|
/ __ \/ __ \/ _ \/ __ \/_ / / / __/ /_____/ __/ / / / __ \/ __ \/ _ \/ /
|
||||||
|
/ /_/ / /_/ / __/ / / / / /_/ / /_/ /_____/ /_/ /_/ / / / / / / / __/ /
|
||||||
|
\____/ .___/\___/_/ /_/ /___/_/\__/_/ \__/\__,_/_/ /_/_/ /_/\___/_/
|
||||||
|
/_/
|
||||||
44
ct/openziti-tunnel.sh
Normal file
44
ct/openziti-tunnel.sh
Normal 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}"
|
||||||
@@ -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"
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|
||||||
|
|||||||
43
frontend/public/json/openziti-tunnel.json
Normal file
43
frontend/public/json/openziti-tunnel.json
Normal 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -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",
|
||||||
|
|||||||
@@ -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": {
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
105
install/alpine-wireguard-install.sh
Normal file
105
install/alpine-wireguard-install.sh
Normal 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
|
||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
48
install/openziti-tunnel-install.sh
Normal file
48
install/openziti-tunnel-install.sh
Normal 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"
|
||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|||||||
Reference in New Issue
Block a user