Compare commits

...

40 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
fc780646d2 Update CHANGELOG.md (#4883)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-01 01:18:20 +01:00
community-scripts-pr-app[bot]
5f175b4f7b Update versions.json (#4882)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-01 02:17:38 +02:00
community-scripts-pr-app[bot]
afaeadd77e Update CHANGELOG.md (#4878)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-31 21:19:32 +01:00
CanbiZ
72c7abeb69 Silverbullet: Fix Installation (wrong path) (#4873) 2025-05-31 22:19:08 +02:00
community-scripts-pr-app[bot]
12723c33d0 Update CHANGELOG.md (#4877)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-31 21:17:26 +01:00
CanbiZ
7af6bf3fe7 ActualBudget: fix update check (file instead of folder check) (#4874) 2025-05-31 22:16:52 +02:00
community-scripts-pr-app[bot]
e56436d3f2 Update CHANGELOG.md (#4875)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-31 20:48:33 +01:00
Slaviša Arežina
25de119cad Remove Authentik script (#4867) 2025-05-31 21:48:08 +02:00
community-scripts-pr-app[bot]
c8308da95e Update CHANGELOG.md (#4871)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-31 18:33:52 +01:00
community-scripts-pr-app[bot]
9923094a54 Update CHANGELOG.md (#4870)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-31 18:33:37 +01:00
Slaviša Arežina
463cc62443 Fix libssl url (#4868) 2025-05-31 19:33:19 +02:00
Bram Suurd
92227fb9bf Revert "Update package dependencies in package.json and package-lock.json (#4845)" (#4869)
This reverts commit 809bc6c302.
2025-05-31 19:33:01 +02:00
community-scripts-pr-app[bot]
18a9c524ae Update versions.json (#4865)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-31 14:07:11 +02:00
community-scripts-pr-app[bot]
d925ae0f04 Update CHANGELOG.md (#4860)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-31 01:15:09 +01:00
community-scripts-pr-app[bot]
cb0d0bd83e Update versions.json (#4859)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-31 02:14:28 +02:00
community-scripts-pr-app[bot]
9fcfb2fe49 Update CHANGELOG.md (#4854)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-30 15:55:41 +01:00
Chris
d23aa3fda0 slskd: add space in sed command (#4853) 2025-05-30 16:55:05 +02:00
community-scripts-pr-app[bot]
131f83505c Update versions.json (#4850)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-30 14:07:17 +02:00
community-scripts-pr-app[bot]
5a95a745ff Update CHANGELOG.md (#4849)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-30 12:52:52 +01:00
Jainil Prajapati 🪐
809bc6c302 Update package dependencies in package.json and package-lock.json (#4845) 2025-05-30 13:52:16 +02:00
community-scripts-pr-app[bot]
4fba20d80b Update CHANGELOG.md (#4847)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-30 07:03:23 +01:00
Slaviša Arežina
42a7614d15 Fix working directory and plugins (#4838) 2025-05-30 08:02:57 +02:00
community-scripts-pr-app[bot]
2dd7ebda2c Update CHANGELOG.md (#4841)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-30 01:15:40 +01:00
community-scripts-pr-app[bot]
e388ce82a1 Update versions.json (#4840)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-30 02:14:58 +02:00
community-scripts-pr-app[bot]
ac902f2098 Update .app files (#4835)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-05-29 21:37:15 +02:00
community-scripts-pr-app[bot]
a23b83dfc5 Update CHANGELOG.md (#4836)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-29 20:36:28 +01:00
Tobias
85975fbe15 SearXNG fix limiter (#4834)
* fix limiter

* apply to existing lxc
2025-05-29 21:35:54 +02:00
community-scripts-pr-app[bot]
23e33c5cb6 Update CHANGELOG.md (#4833)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-29 20:02:53 +01:00
CanbiZ
e39e5d5b7d Docmost: add jq before nodejs install (#4831)
special for docmost - because they used an fixed pnpm
2025-05-29 21:02:17 +02:00
community-scripts-pr-app[bot]
1619d6a093 Update CHANGELOG.md (#4832)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-29 19:33:03 +01:00
Slaviša Arežina
f23b688d55 Fix Dashboard not beign accessible (#4828) 2025-05-29 20:32:30 +02:00
community-scripts-pr-app[bot]
b6319b5dd3 Update CHANGELOG.md (#4830)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-29 18:26:14 +01:00
community-scripts-pr-app[bot]
030e6344d2 Update CHANGELOG.md (#4829)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-29 18:26:05 +01:00
CanbiZ
85837d8099 Update mysql-install.sh (#4820) 2025-05-29 19:25:36 +02:00
CanbiZ
5295ed8cf2 Docker-VM: set individual Hostname / Disk-Space formatting (#4821)
* Docker-VM: Refactor (Hostname / Disk-Space)

* Update docker-vm.json
2025-05-29 19:25:25 +02:00
CanbiZ
85ae0e2f74 change node Version 2025-05-29 17:53:00 +02:00
CanbiZ
b406921c1a fix pulse 2025-05-29 15:29:33 +02:00
community-scripts-pr-app[bot]
5a16b5995d Update versions.json (#4822)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-29 14:07:26 +02:00
community-scripts-pr-app[bot]
fd637c8819 Update CHANGELOG.md (#4819)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-29 07:44:17 +01:00
Götz Görisch
6d40ca9cd6 docs: fix casing of OpenWrt (#4805)
* reason: https://openwrt.org/trademark

Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Co-authored-by: Goetz Goerisch <ggoerisch@gmail.com>
2025-05-29 08:43:39 +02:00
21 changed files with 267 additions and 574 deletions

View File

@@ -14,8 +14,59 @@ 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-06-01
## 2025-05-31
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Silverbullet: Fix Installation (wrong path) [@MickLesk](https://github.com/MickLesk) ([#4873](https://github.com/community-scripts/ProxmoxVE/pull/4873))
- ActualBudget: fix update check (file instead of folder check) [@MickLesk](https://github.com/MickLesk) ([#4874](https://github.com/community-scripts/ProxmoxVE/pull/4874))
- Omada Controller: Fix libssl url [@tremor021](https://github.com/tremor021) ([#4868](https://github.com/community-scripts/ProxmoxVE/pull/4868))
### 🌐 Website
- #### 🐞 Bug Fixes
- Revert "Update package dependencies in package.json and package-lock.json (#4845) [@BramSuurdje](https://github.com/BramSuurdje) ([#4869](https://github.com/community-scripts/ProxmoxVE/pull/4869))
### 💥 Breaking Changes
- Remove Authentik script [@tremor021](https://github.com/tremor021) ([#4867](https://github.com/community-scripts/ProxmoxVE/pull/4867))
## 2025-05-30
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- slskd: add space in sed command [@vhsdream](https://github.com/vhsdream) ([#4853](https://github.com/community-scripts/ProxmoxVE/pull/4853))
- Alpine Traefik: Fix working directory and plugins [@tremor021](https://github.com/tremor021) ([#4838](https://github.com/community-scripts/ProxmoxVE/pull/4838))
### 🌐 Website
- #### 🐞 Bug Fixes
- Update package dependencies in package.json and package-lock.json [@enough-jainil](https://github.com/enough-jainil) ([#4845](https://github.com/community-scripts/ProxmoxVE/pull/4845))
## 2025-05-29 ## 2025-05-29
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- SearXNG fix limiter [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4834](https://github.com/community-scripts/ProxmoxVE/pull/4834))
- Docmost: add jq before nodejs install [@MickLesk](https://github.com/MickLesk) ([#4831](https://github.com/community-scripts/ProxmoxVE/pull/4831))
- Alpine Traefik: Fix Dashboard not beign accessible [@tremor021](https://github.com/tremor021) ([#4828](https://github.com/community-scripts/ProxmoxVE/pull/4828))
- MySQL: Fix Wrong Command [@MickLesk](https://github.com/MickLesk) ([#4820](https://github.com/community-scripts/ProxmoxVE/pull/4820))
- docs: fix casing of OpenWrt [@GoetzGoerisch](https://github.com/GoetzGoerisch) ([#4805](https://github.com/community-scripts/ProxmoxVE/pull/4805))
- #### ✨ New Features
- Docker-VM: set individual Hostname / Disk-Space formatting [@MickLesk](https://github.com/MickLesk) ([#4821](https://github.com/community-scripts/ProxmoxVE/pull/4821))
## 2025-05-28 ## 2025-05-28
### 🆕 New Scripts ### 🆕 New Scripts

View File

@@ -24,7 +24,7 @@ function update_script() {
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/actualbudget ]]; then if [[ ! -f /opt/actualbudget_version.txt ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi

View File

@@ -1,91 +0,0 @@
#!/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: remz1337
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://goauthentik.io/
APP="Authentik"
var_tags="${var_tags:-identity-provider}"
var_disk="${var_disk:-12}"
var_cpu="${var_cpu:-6}"
var_ram="${var_ram:-10240}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/systemd/system/authentik-server.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
NODE_VERSION="22"
PG_VERSION="16"
setup_uv
install_postgresql
install_node_and_modules
install_go
msg_info "Stopping ${APP}"
systemctl stop authentik-server
systemctl stop authentik-worker
msg_ok "Stopped ${APP}"
msg_info "Building ${APP} website"
mkdir -p /opt/authentik
curl -fsSL "${RELEASE}" -o "authentik.tar.gz"
tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite
rm -rf authentik.tar.gz
cd /opt/authentik/website
$STD npm install
$STD npm run build-bundled
cd /opt/authentik/web
$STD npm install
$STD npm run build
msg_ok "Built ${APP} website"
msg_info "Building ${APP} server"
cd /opt/authentik
go mod download
go build -o /go/authentik ./cmd/server
go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/
msg_ok "Built ${APP} server"
msg_info "Building Authentik"
cd /opt/authentik
$STD uv sync --frozen --no-install-project --no-dev
uv run python -m lifecycle.migrate
ln -s /opt/authentik/.venv/bin/gunicorn /usr/local/bin/gunicorn
ln -s /opt/authentik/.venv/bin/celery /usr/local/bin/celery
msg_ok "Authentik built"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting ${APP}"
systemctl start authentik-server
systemctl start authentik-worker
msg_ok "Started ${APP}"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
exit
}
start
build_container
description
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}:9000/if/flow/initial-setup/${CL}"

View File

@@ -1,6 +0,0 @@
___ __ __ __ _ __
/ | __ __/ /_/ /_ ___ ____ / /_(_) /__
/ /| |/ / / / __/ __ \/ _ \/ __ \/ __/ / //_/
/ ___ / /_/ / /_/ / / / __/ / / / /_/ / ,<
/_/ |_\__,_/\__/_/ /_/\___/_/ /_/\__/_/_/|_|

View File

@@ -27,6 +27,7 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
sed -i 's/^\([[:space:]]*limiter:\)[[:space:]]*true/\1 false/' /etc/searxng/settings.yml
if cd /usr/local/searxng/searxng-src && git pull | grep -q 'Already up to date'; then if cd /usr/local/searxng/searxng-src && git pull | grep -q 'Already up to date'; then
msg_ok "There is currently no update available." msg_ok "There is currently no update available."
fi fi
@@ -39,4 +40,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8888${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8888${CL}"

View File

@@ -1,44 +0,0 @@
{
"name": "authentik",
"slug": "authentik",
"categories": [
6
],
"date_created": "2024-12-27",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 9000,
"documentation": "https://docs.goauthentik.io/docs/",
"website": "https://goauthentik.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/authentik.webp",
"config_path": "/etc/authentik/config.yml",
"description": "authentik is an IdP (Identity Provider) and SSO (single sign on) that is built with security at the forefront of every piece of code, every feature, with an emphasis on flexibility and versatility.",
"install_methods": [
{
"type": "default",
"script": "ct/authentik.sh",
"resources": {
"cpu": 6,
"ram": 10240,
"hdd": 12,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "Authentik is very resource-heavy, it is recommended to use at least 10GB RAM anytime!",
"type": "warning"
},
{
"text": "Some updates don't work due to massive dependency errors, it's recommended to do a backup before updating or a pg_dump and a new LXC.",
"type": "warning"
}
]
}

View File

@@ -22,7 +22,7 @@
"resources": { "resources": {
"cpu": 2, "cpu": 2,
"ram": 4096, "ram": 4096,
"hdd": 8, "hdd": 10,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@@ -1,8 +1,183 @@
[ [
{
"name": "home-assistant/core",
"version": "2025.5.3",
"date": "2025-05-23T15:10:33Z"
},
{
"name": "kimai/kimai",
"version": "2.35.1",
"date": "2025-05-31T15:05:27Z"
},
{
"name": "prometheus/prometheus",
"version": "v3.4.1",
"date": "2025-05-31T13:45:40Z"
},
{
"name": "BookStackApp/BookStack",
"version": "v25.05",
"date": "2025-05-31T13:36:23Z"
},
{
"name": "Forceu/Gokapi",
"version": "v2.0.0",
"date": "2025-05-31T12:32:40Z"
},
{
"name": "blakeblackshear/frigate",
"version": "v0.14.1",
"date": "2024-08-29T22:32:51Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.16",
"date": "2025-05-27T16:27:42Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.1974",
"date": "2025-05-31T05:50:58Z"
},
{
"name": "goauthentik/authentik",
"version": "version/2025.4.1",
"date": "2025-05-15T17:48:29Z"
},
{
"name": "pi-hole/pi-hole",
"version": "v6.1",
"date": "2025-05-30T22:07:45Z"
},
{
"name": "moghtech/komodo",
"version": "v1.18.0",
"date": "2025-05-30T20:12:54Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.22.0",
"date": "2025-05-30T19:17:15Z"
},
{
"name": "emqx/emqx",
"version": "e5.10.0-beta.1",
"date": "2025-05-30T16:49:17Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.21.2",
"date": "2025-05-30T15:17:34Z"
},
{
"name": "element-hq/synapse",
"version": "test-pro",
"date": "2025-05-30T14:53:00Z"
},
{
"name": "icereed/paperless-gpt",
"version": "v0.20.0",
"date": "2025-05-30T14:39:51Z"
},
{
"name": "evcc-io/evcc",
"version": "0.204.0",
"date": "2025-05-30T14:39:02Z"
},
{
"name": "wazuh/wazuh",
"version": "coverity-w22-4.13.0",
"date": "2025-05-26T15:04:48Z"
},
{
"name": "keycloak/keycloak",
"version": "26.2.5",
"date": "2025-05-28T06:49:43Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.0",
"date": "2025-05-12T09:12:04Z"
},
{
"name": "binwiederhier/ntfy",
"version": "v2.12.0",
"date": "2025-05-30T00:26:27Z"
},
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "v1.23.2-victorialogs",
"date": "2025-05-29T22:26:27Z"
},
{
"name": "open-webui/open-webui",
"version": "v0.6.13",
"date": "2025-05-29T21:37:38Z"
},
{
"name": "gristlabs/grist-core",
"version": "v1.6.0",
"date": "2025-05-29T19:11:21Z"
},
{ {
"name": "navidrome/navidrome", "name": "navidrome/navidrome",
"version": "v0.56.0", "version": "v0.56.1",
"date": "2025-05-28T23:36:58Z" "date": "2025-05-29T19:09:16Z"
},
{
"name": "tailscale/tailscale",
"version": "v1.84.1",
"date": "2025-05-29T17:41:04Z"
},
{
"name": "HabitRPG/habitica",
"version": "v5.36.5",
"date": "2025-05-29T17:06:01Z"
},
{
"name": "FlowiseAI/Flowise",
"version": "flowise@3.0.1",
"date": "2025-05-29T17:00:06Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.94.1",
"date": "2025-05-27T10:36:43Z"
},
{
"name": "syncthing/syncthing",
"version": "v1.29.6",
"date": "2025-05-06T07:57:02Z"
},
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.14",
"date": "2025-05-29T15:35:16Z"
},
{
"name": "readeck/readeck",
"version": "0.19.2",
"date": "2025-05-29T14:39:17Z"
},
{
"name": "zwave-js/zwave-js-ui",
"version": "v10.6.1",
"date": "2025-05-29T13:36:09Z"
},
{
"name": "runtipi/runtipi",
"version": "v4.1.1",
"date": "2025-05-16T17:37:30Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.1.0.119-2.1.0.119_canary_2025-05-29",
"date": "2025-05-29T06:14:27Z"
},
{
"name": "ollama/ollama",
"version": "v0.9.0",
"date": "2025-05-29T05:41:01Z"
}, },
{ {
"name": "webmin/webmin", "name": "webmin/webmin",
@@ -19,46 +194,16 @@
"version": "r6.0.24", "version": "r6.0.24",
"date": "2025-05-28T21:25:03Z" "date": "2025-05-28T21:25:03Z"
}, },
{
"name": "home-assistant/core",
"version": "2025.5.3",
"date": "2025-05-23T15:10:33Z"
},
{ {
"name": "influxdata/influxdb", "name": "influxdata/influxdb",
"version": "v3.1.0", "version": "v3.1.0",
"date": "2025-05-28T18:48:34Z" "date": "2025-05-28T18:48:34Z"
}, },
{
"name": "nzbgetcom/nzbget",
"version": "v25.0",
"date": "2025-05-12T09:12:04Z"
},
{
"name": "zwave-js/zwave-js-ui",
"version": "v10.6.0",
"date": "2025-05-28T15:45:44Z"
},
{ {
"name": "jenkinsci/jenkins", "name": "jenkinsci/jenkins",
"version": "jenkins-2.504.2", "version": "jenkins-2.504.2",
"date": "2025-05-28T14:36:54Z" "date": "2025-05-28T14:36:54Z"
}, },
{
"name": "kimai/kimai",
"version": "2.35.0",
"date": "2025-05-28T12:41:09Z"
},
{
"name": "VictoriaMetrics/VictoriaMetrics",
"version": "v1.23.0-victorialogs",
"date": "2025-05-28T12:27:36Z"
},
{
"name": "element-hq/synapse",
"version": "v1.130.0",
"date": "2025-05-20T15:33:54Z"
},
{ {
"name": "pocket-id/pocket-id", "name": "pocket-id/pocket-id",
"version": "v1.1.0", "version": "v1.1.0",
@@ -69,21 +214,11 @@
"version": "v2.71.11", "version": "v2.71.11",
"date": "2025-05-28T09:16:41Z" "date": "2025-05-28T09:16:41Z"
}, },
{
"name": "keycloak/keycloak",
"version": "26.2.5",
"date": "2025-05-28T06:49:43Z"
},
{ {
"name": "Checkmk/checkmk", "name": "Checkmk/checkmk",
"version": "v2.2.0p43-rc1", "version": "v2.2.0p43-rc1",
"date": "2025-05-28T06:23:13Z" "date": "2025-05-28T06:23:13Z"
}, },
{
"name": "Jackett/Jackett",
"version": "v0.22.1960",
"date": "2025-05-28T05:56:49Z"
},
{ {
"name": "Athou/commafeed", "name": "Athou/commafeed",
"version": "5.10.0", "version": "5.10.0",
@@ -94,21 +229,11 @@
"version": "v6.12.6", "version": "v6.12.6",
"date": "2025-05-28T00:13:19Z" "date": "2025-05-28T00:13:19Z"
}, },
{
"name": "ollama/ollama",
"version": "v0.8.0",
"date": "2025-05-27T19:55:15Z"
},
{ {
"name": "bluenviron/mediamtx", "name": "bluenviron/mediamtx",
"version": "v1.12.3", "version": "v1.12.3",
"date": "2025-05-27T20:43:10Z" "date": "2025-05-27T20:43:10Z"
}, },
{
"name": "runtipi/runtipi",
"version": "nightly",
"date": "2025-05-27T19:00:14Z"
},
{ {
"name": "Threadfin/Threadfin", "name": "Threadfin/Threadfin",
"version": "1.2.34", "version": "1.2.34",
@@ -119,11 +244,6 @@
"version": "v1.134.0", "version": "v1.134.0",
"date": "2025-05-27T17:28:27Z" "date": "2025-05-27T17:28:27Z"
}, },
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.16",
"date": "2025-05-27T16:27:42Z"
},
{ {
"name": "neo4j/neo4j", "name": "neo4j/neo4j",
"version": "5.26.7", "version": "5.26.7",
@@ -134,11 +254,6 @@
"version": "7.2.9", "version": "7.2.9",
"date": "2025-05-27T14:08:53Z" "date": "2025-05-27T14:08:53Z"
}, },
{
"name": "readeck/readeck",
"version": "0.19.1",
"date": "2025-05-27T13:13:07Z"
},
{ {
"name": "traefik/traefik", "name": "traefik/traefik",
"version": "v3.4.1", "version": "v3.4.1",
@@ -149,16 +264,6 @@
"version": "v0.107.62", "version": "v0.107.62",
"date": "2025-05-27T12:10:19Z" "date": "2025-05-27T12:10:19Z"
}, },
{
"name": "mattermost/mattermost",
"version": "v10.5.7",
"date": "2025-05-27T05:34:42Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.94.1",
"date": "2025-05-27T10:36:43Z"
},
{ {
"name": "esphome/esphome", "name": "esphome/esphome",
"version": "2025.5.1", "version": "2025.5.1",
@@ -169,11 +274,6 @@
"version": "v2.14.12", "version": "v2.14.12",
"date": "2025-05-27T03:58:59Z" "date": "2025-05-27T03:58:59Z"
}, },
{
"name": "open-webui/open-webui",
"version": "v0.6.11",
"date": "2025-05-26T22:27:26Z"
},
{ {
"name": "Radarr/Radarr", "name": "Radarr/Radarr",
"version": "v5.25.0.10024", "version": "v5.25.0.10024",
@@ -194,21 +294,11 @@
"version": "4.8.11.0", "version": "4.8.11.0",
"date": "2025-03-10T06:39:11Z" "date": "2025-03-10T06:39:11Z"
}, },
{
"name": "wazuh/wazuh",
"version": "coverity-w22-4.13.0",
"date": "2025-05-26T15:04:48Z"
},
{ {
"name": "jupyter/notebook", "name": "jupyter/notebook",
"version": "v7.4.3", "version": "v7.4.3",
"date": "2025-05-26T14:27:27Z" "date": "2025-05-26T14:27:27Z"
}, },
{
"name": "syncthing/syncthing",
"version": "v1.29.6",
"date": "2025-05-06T07:57:02Z"
},
{ {
"name": "Graylog2/graylog2-server", "name": "Graylog2/graylog2-server",
"version": "6.3.0-beta.3", "version": "6.3.0-beta.3",
@@ -234,11 +324,6 @@
"version": "v1.13.0", "version": "v1.13.0",
"date": "2025-05-25T20:21:13Z" "date": "2025-05-25T20:21:13Z"
}, },
{
"name": "msgbyte/tianji",
"version": "v1.21.0",
"date": "2025-05-25T16:41:43Z"
},
{ {
"name": "Prowlarr/Prowlarr", "name": "Prowlarr/Prowlarr",
"version": "v1.36.3.5071", "version": "v1.36.3.5071",
@@ -284,11 +369,6 @@
"version": "v6.7.1", "version": "v6.7.1",
"date": "2025-05-24T04:51:02Z" "date": "2025-05-24T04:51:02Z"
}, },
{
"name": "homarr-labs/homarr",
"version": "v1.21.0",
"date": "2025-05-23T19:17:15Z"
},
{ {
"name": "docker/compose", "name": "docker/compose",
"version": "v2.36.2", "version": "v2.36.2",
@@ -334,11 +414,6 @@
"version": "3.2.0-rc2", "version": "3.2.0-rc2",
"date": "2025-05-21T20:09:07Z" "date": "2025-05-21T20:09:07Z"
}, },
{
"name": "tailscale/tailscale",
"version": "v1.84.0",
"date": "2025-05-21T19:39:53Z"
},
{ {
"name": "clusterzx/paperless-ai", "name": "clusterzx/paperless-ai",
"version": "v3.0.4", "version": "v3.0.4",
@@ -374,11 +449,6 @@
"version": "v4.1.0", "version": "v4.1.0",
"date": "2025-05-21T04:12:44Z" "date": "2025-05-21T04:12:44Z"
}, },
{
"name": "icereed/paperless-gpt",
"version": "v0.19.0",
"date": "2025-05-21T03:46:14Z"
},
{ {
"name": "matze/wastebin", "name": "matze/wastebin",
"version": "3.1.0", "version": "3.1.0",
@@ -404,11 +474,6 @@
"version": "v4.4.9", "version": "v4.4.9",
"date": "2025-05-20T00:08:29Z" "date": "2025-05-20T00:08:29Z"
}, },
{
"name": "HabitRPG/habitica",
"version": "v5.36.4",
"date": "2025-05-19T22:28:11Z"
},
{ {
"name": "glanceapp/glance", "name": "glanceapp/glance",
"version": "v0.8.3", "version": "v0.8.3",
@@ -419,11 +484,6 @@
"version": "v1.6.1", "version": "v1.6.1",
"date": "2025-03-15T17:29:17Z" "date": "2025-03-15T17:29:17Z"
}, },
{
"name": "Forceu/Gokapi",
"version": "v1.9.6",
"date": "2024-12-18T14:35:37Z"
},
{ {
"name": "Part-DB/Part-DB-server", "name": "Part-DB/Part-DB-server",
"version": "v1.17.1", "version": "v1.17.1",
@@ -449,26 +509,11 @@
"version": "v25.05.2", "version": "v25.05.2",
"date": "2025-05-17T12:53:29Z" "date": "2025-05-17T12:53:29Z"
}, },
{
"name": "BookStackApp/BookStack",
"version": "v25.02.5",
"date": "2025-05-17T11:24:01Z"
},
{ {
"name": "Paymenter/Paymenter", "name": "Paymenter/Paymenter",
"version": "v1.1.1", "version": "v1.1.1",
"date": "2025-05-17T10:10:36Z" "date": "2025-05-17T10:10:36Z"
}, },
{
"name": "evcc-io/evcc",
"version": "0.203.6",
"date": "2025-05-17T07:30:49Z"
},
{
"name": "prometheus/prometheus",
"version": "v0.304.0",
"date": "2025-05-17T07:29:09Z"
},
{ {
"name": "advplyr/audiobookshelf", "name": "advplyr/audiobookshelf",
"version": "v2.23.0", "version": "v2.23.0",
@@ -484,11 +529,6 @@
"version": "2.0.4", "version": "2.0.4",
"date": "2025-05-16T15:09:53Z" "date": "2025-05-16T15:09:53Z"
}, },
{
"name": "emqx/emqx",
"version": "e5.10.0-alpha.1",
"date": "2025-05-16T13:30:53Z"
},
{ {
"name": "gotson/komga", "name": "gotson/komga",
"version": "1.21.3", "version": "1.21.3",
@@ -499,11 +539,6 @@
"version": "v4.100.2", "version": "v4.100.2",
"date": "2025-05-15T23:02:46Z" "date": "2025-05-15T23:02:46Z"
}, },
{
"name": "goauthentik/authentik",
"version": "version/2025.4.1",
"date": "2025-05-15T17:48:29Z"
},
{ {
"name": "cloudflare/cloudflared", "name": "cloudflare/cloudflared",
"version": "2025.5.0", "version": "2025.5.0",
@@ -514,11 +549,6 @@
"version": "v3.1.1", "version": "v3.1.1",
"date": "2025-05-15T15:17:57Z" "date": "2025-05-15T15:17:57Z"
}, },
{
"name": "FlowiseAI/Flowise",
"version": "flowise@3.0.0",
"date": "2025-05-15T01:49:47Z"
},
{ {
"name": "Ombi-app/Ombi", "name": "Ombi-app/Ombi",
"version": "v4.47.1", "version": "v4.47.1",
@@ -534,11 +564,6 @@
"version": "0.42.1", "version": "0.42.1",
"date": "2020-06-07T07:27:04Z" "date": "2020-06-07T07:27:04Z"
}, },
{
"name": "blakeblackshear/frigate",
"version": "v0.14.1",
"date": "2024-08-29T22:32:51Z"
},
{ {
"name": "TandoorRecipes/recipes", "name": "TandoorRecipes/recipes",
"version": "2.0.0-alpha-4", "version": "2.0.0-alpha-4",
@@ -564,11 +589,6 @@
"version": "v2025-05-11", "version": "v2025-05-11",
"date": "2025-05-12T19:14:57Z" "date": "2025-05-12T19:14:57Z"
}, },
{
"name": "duplicati/duplicati",
"version": "v2.1.0.118-2.1.0.118_canary_2025-05-12",
"date": "2025-05-12T18:50:44Z"
},
{ {
"name": "usememos/memos", "name": "usememos/memos",
"version": "v0.24.3", "version": "v0.24.3",
@@ -659,11 +679,6 @@
"version": "3.5.0", "version": "3.5.0",
"date": "2025-05-05T16:28:24Z" "date": "2025-05-05T16:28:24Z"
}, },
{
"name": "moghtech/komodo",
"version": "v1.17.5",
"date": "2025-05-04T22:17:06Z"
},
{ {
"name": "Readarr/Readarr", "name": "Readarr/Readarr",
"version": "v2.0.0.4645", "version": "v2.0.0.4645",
@@ -719,11 +734,6 @@
"version": "2025.3", "version": "2025.3",
"date": "2025-04-30T02:52:28Z" "date": "2025-04-30T02:52:28Z"
}, },
{
"name": "gristlabs/grist-core",
"version": "v1.5.2",
"date": "2025-04-29T20:42:32Z"
},
{ {
"name": "hargata/lubelog", "name": "hargata/lubelog",
"version": "v1.4.7", "version": "v1.4.7",
@@ -904,11 +914,6 @@
"version": "1.5.0", "version": "1.5.0",
"date": "2025-03-30T17:42:59Z" "date": "2025-03-30T17:42:59Z"
}, },
{
"name": "pi-hole/pi-hole",
"version": "v6.0.6",
"date": "2025-03-30T16:59:06Z"
},
{ {
"name": "aceberg/WatchYourLAN", "name": "aceberg/WatchYourLAN",
"version": "2.1.2-alpine", "version": "2.1.2-alpine",
@@ -1214,11 +1219,6 @@
"version": "v1.0.9", "version": "v1.0.9",
"date": "2024-05-21T22:15:33Z" "date": "2024-05-21T22:15:33Z"
}, },
{
"name": "binwiederhier/ntfy",
"version": "v2.11.0",
"date": "2024-05-13T20:19:54Z"
},
{ {
"name": "pterodactyl/wings", "name": "pterodactyl/wings",
"version": "v1.11.13", "version": "v1.11.13",

View File

@@ -24,31 +24,13 @@ msg_ok "Installed Traefik"
read -p "${TAB3}Enable Traefik WebUI (Port 8080)? [y/N]: " enable_webui read -p "${TAB3}Enable Traefik WebUI (Port 8080)? [y/N]: " enable_webui
if [[ "$enable_webui" =~ ^[Yy]$ ]]; then if [[ "$enable_webui" =~ ^[Yy]$ ]]; then
msg_info "Configuring Traefik WebUI" msg_info "Configuring Traefik WebUI"
mkdir -p /etc/traefik/config sed -i 's/localhost//g' /etc/traefik/traefik.yaml
cat <<EOF >/etc/traefik/traefik.yml
entryPoints:
web:
address: ":80"
traefik:
address: ":8080"
api:
dashboard: true
insecure: true
log:
level: INFO
providers:
file:
directory: /etc/traefik/config
watch: true
EOF
msg_ok "Configured Traefik WebUI" msg_ok "Configured Traefik WebUI"
fi fi
msg_info "Enabling and starting Traefik service" msg_info "Enabling and starting Traefik service"
$STD rc-update add traefik default $STD rc-update add traefik default
sed -i '/^command=.*/i directory="/etc/traefik"' /etc/init.d/traefik
$STD rc-service traefik start $STD rc-service traefik start
msg_ok "Traefik service started" msg_ok "Traefik service started"

View File

@@ -1,198 +0,0 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: remz1337
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://goauthentik.io/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y \
pkg-config \
libffi-dev \
build-essential \
libpq-dev \
libkrb5-dev \
libssl-dev \
libsqlite3-dev \
tk-dev \
libgdbm-dev \
libc6-dev \
libbz2-dev \
zlib1g-dev \
libxmlsec1 \
libxmlsec1-dev \
libxmlsec1-openssl \
libmaxminddb0 \
python3-pip \
redis-server \
git
msg_ok "Installed Dependencies"
setup_uv
PG_VERSION="16" PG_MODULES="contrib" install_postgresql
NODE_VERSION="22" install_node_and_modules
install_go
msg_info "Installing yq"
cd /tmp
YQ_LATEST="$(curl -fsSL https://api.github.com/repos/mikefarah/yq/releases/latest | grep -Po '"tag_name": "\K.*?(?=")')"
curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -o /usr/bin/yq
chmod +x /usr/bin/yq
msg_ok "Installed yq"
msg_info "Installing GeoIP"
cd /tmp
GEOIP_RELEASE=$(curl -fsSL https://api.github.com/repos/maxmind/geoipupdate/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/maxmind/geoipupdate/releases/download/v${GEOIP_RELEASE}/geoipupdate_${GEOIP_RELEASE}_linux_amd64.deb" -o "geoipupdate.deb"
$STD dpkg -i geoipupdate.deb
cat <<EOF >/etc/GeoIP.conf
#GEOIPUPDATE_EDITION_IDS="GeoLite2-City GeoLite2-ASN"
#GEOIPUPDATE_VERBOSE="1"
#GEOIPUPDATE_ACCOUNT_ID_FILE="/run/secrets/GEOIPUPDATE_ACCOUNT_ID"
#GEOIPUPDATE_LICENSE_KEY_FILE="/run/secrets/GEOIPUPDATE_LICENSE_KEY"
EOF
msg_ok "Installed GeoIP"
msg_info "Setup PostgreSQL Database"
DB_NAME="authentik"
DB_USER="authentik"
DB_PASS="$(openssl rand -base64 18 | cut -c1-13)"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME;"
$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;"
$STD sudo -u postgres psql -c "ALTER DATABASE $DB_NAME OWNER TO $DB_USER;"
$STD sudo -u postgres psql -c "ALTER USER $DB_USER WITH SUPERUSER;"
msg_ok "Installed PostgreSQL"
msg_info "Installing authentik"
RELEASE=$(curl -fsSL https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}')
mkdir -p /opt/authentik
curl -fsSL "${RELEASE}" -o "authentik.tar.gz"
tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite
export NODE_OPTIONS="--max-old-space-size=4096"
cd /opt/authentik/website
$STD npm install
$STD npm run build-bundled
cd /opt/authentik/web
$STD npm install
$STD npm run build
cd /opt/authentik
$STD go mod download
$STD go build -o /go/authentik ./cmd/server
$STD go build -o /opt/authentik/authentik-server /opt/authentik/cmd/server/
$STD uv sync --frozen --no-install-project --no-dev
#$STD pip3 install --no-cache-dir --upgrade pip
#$STD pip3 install --upgrade pip
#$STD pip3 install poetry poetry-plugin-export
#ln -s /usr/local/bin/poetry /usr/bin/poetry
#$STD poetry install --only=main --no-ansi --no-interaction --no-root
#$STD poetry export --without-hashes --without-urls -f requirements.txt --output requirements.txt
#$STD pip install --no-cache-dir -r requirements.txt
#$STD pip install .
mkdir -p /etc/authentik
mv /opt/authentik/authentik/lib/default.yml /etc/authentik/config.yml
$STD yq -i ".secret_key = \"$(openssl rand -hex 32)\"" /etc/authentik/config.yml
$STD yq -i ".postgresql.password = \"${DB_PASS}\"" /etc/authentik/config.yml
$STD yq -i ".geoip = \"/opt/authentik/tests/GeoLite2-City-Test.mmdb\"" /etc/authentik/config.yml
cp -r /opt/authentik/authentik/blueprints /opt/authentik/blueprints
$STD yq -i ".blueprints_dir = \"/opt/authentik/blueprints\"" /etc/authentik/config.yml
#ln -s /usr/bin/python3 /usr/bin/python
#ln -s /usr/local/bin/gunicorn /usr/bin/gunicorn
#ln -s /usr/local/bin/celery /usr/bin/celery
#$STD bash /opt/authentik/lifecycle/ak migrate
cd /opt/authentik
uv run python -m lifecycle.migrate
ln -s /opt/authentik/.venv/bin/gunicorn /usr/local/bin/gunicorn
ln -s /opt/authentik/.venv/bin/celery /usr/local/bin/celery
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed authentik"
msg_info "Creating Services"
cat <<EOF >/etc/systemd/system/authentik-server.service
[Unit]
Description=authentik Go Server (API Gateway)
After=network.target
Wants=redis.service postgresql.service
[Service]
WorkingDirectory=/opt/authentik/
ExecStart=/opt/authentik/authentik-server
Restart=always
RestartSec=5
Environment=DJANGO_SETTINGS_MODULE=authentik.root.settings
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/systemd/system/authentik-worker.service
[Unit]
Description=authentik Celery Worker
After=network.target redis.service postgresql.service
Requires=redis.service
[Service]
Type=simple
WorkingDirectory=/opt/authentik
ExecStart=/opt/authentik/.venv/bin/celery \
-A authentik.root.celery worker \
-Ofair \
--max-tasks-per-child=1 \
--autoscale 3,1 \
-Q authentik,authentik_scheduled,authentik_events \
-E
Restart=always
RestartSec=5
Environment=DJANGO_SETTINGS_MODULE=authentik.root.settings
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/systemd/system/authentik-celery-beat.service
[Unit]
Description=authentik Celery Beat Scheduler
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/authentik
ExecStart=/opt/authentik/.venv/bin/celery \
-A authentik.root.celery beat \
-s /tmp/celerybeat-schedule
Restart=always
RestartSec=5
#User=authentik
Environment=DJANGO_SETTINGS_MODULE=authentik.root.settings
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now authentik-server authentik-worker authentik-celery-beat
msg_ok "Created Services"
motd_ssh
customize
msg_info "Cleaning up"
rm -rf /tmp/Python-3.12.1
rm -rf /tmp/Python.tgz
rm -rf go/
rm -rf /tmp/geoipupdate.deb
rm -rf authentik.tar.gz
$STD apt-get -y remove yq
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -16,6 +16,7 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
redis \ redis \
jq \
make make
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"

View File

@@ -22,7 +22,7 @@ $STD apt-get install -y \
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
install_mariadb install_mariadb
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules
msg_info "Setting up MariaDB" msg_info "Setting up MariaDB"
DB_NAME=monica DB_NAME=monica

View File

@@ -43,7 +43,7 @@ msg_ok "Installed MySQL"
msg_info "Configure MySQL Server" msg_info "Configure MySQL Server"
ADMIN_PASS="$(openssl rand -base64 18 | cut -c1-13)" ADMIN_PASS="$(openssl rand -base64 18 | cut -c1-13)"
$STD mariadb -uroot -p"$ADMIN_PASS" -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH $RELEASE_AUTH BY '$ADMIN_PASS'; FLUSH PRIVILEGES;" $STD mysql -uroot -p"$ADMIN_PASS" -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH $RELEASE_AUTH BY '$ADMIN_PASS'; FLUSH PRIVILEGES;"
echo "" >~/mysql.creds echo "" >~/mysql.creds
echo -e "MySQL user: root" >>~/mysql.creds echo -e "MySQL user: root" >>~/mysql.creds
echo -e "MySQL password: $ADMIN_PASS" >>~/mysql.creds echo -e "MySQL password: $ADMIN_PASS" >>~/mysql.creds

View File

@@ -36,7 +36,7 @@ msg_ok "Installed Azul Zulu Java"
msg_info "Installing libssl (if needed)" msg_info "Installing libssl (if needed)"
if ! dpkg -l | grep -q 'libssl1.1'; then if ! dpkg -l | grep -q 'libssl1.1'; then
curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u2_amd64.deb" -o "/tmp/libssl.deb" curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u3_amd64.deb" -o "/tmp/libssl.deb"
$STD dpkg -i /tmp/libssl.deb $STD dpkg -i /tmp/libssl.deb
rm -f /tmp/libssl.deb rm -f /tmp/libssl.deb
msg_ok "Installed libssl1.1" msg_ok "Installed libssl1.1"

View File

@@ -34,7 +34,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/lates
temp_file=$(mktemp) temp_file=$(mktemp)
mkdir -p /opt/pulse-proxmox mkdir -p /opt/pulse-proxmox
curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file" curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file"
tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox 2> >(grep -v 'LIBARCHIVE.xattr.com.apple.provenance' >&2) tar zxf "$temp_file" --strip-components=1 -C /opt/pulse-proxmox
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed Pulse" msg_ok "Installed Pulse"

View File

@@ -54,7 +54,7 @@ server:
bind_address: "0.0.0.0" bind_address: "0.0.0.0"
port: 8888 port: 8888
secret_key: "${SECRET_KEY}" secret_key: "${SECRET_KEY}"
limiter: true limiter: false
image_proxy: true image_proxy: true
redis: redis:
url: "redis://127.0.0.1:6379/0" url: "redis://127.0.0.1:6379/0"

View File

@@ -16,7 +16,8 @@ update_os
msg_info "Installing Silverbullet" msg_info "Installing Silverbullet"
RELEASE=$(curl -fsSL https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(curl -fsSL https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
mkdir -p /opt/silverbullet/bin /opt/silverbullet/space mkdir -p /opt/silverbullet/bin /opt/silverbullet/space
curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o "/opt/silverbullet/bin/silverbullet-server-linux-x86_64.zip" cd /opt
curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o "silverbullet-server-linux-x86_64.zip"
$STD unzip -o -d /opt/silverbullet/bin/ silverbullet-server-linux-x86_64.zip $STD unzip -o -d /opt/silverbullet/bin/ silverbullet-server-linux-x86_64.zip
chmod +x /opt/silverbullet/bin/silverbullet chmod +x /opt/silverbullet/bin/silverbullet
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
@@ -46,7 +47,7 @@ motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf silverbullet-server-linux-x86_64.zip rm -rf /opt/silverbullet-server-linux-x86_64.zip
$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

@@ -35,7 +35,7 @@ sed -i \
s|0.0.0.0/0,::/0|& # Replace this with your subnet|" \ s|0.0.0.0/0,::/0|& # Replace this with your subnet|" \
-e "\|soulseek|,\|write_queue|s|^#||" \ -e "\|soulseek|,\|write_queue|s|^#||" \
-e "\|jwt:|,\|ttl|s|key: ~|key: $JWT_KEY|" \ -e "\|jwt:|,\|ttl|s|key: ~|key: $JWT_KEY|" \
-e "s|^ picture|# picture|" \ -e "s|^ picture|# picture|" \
/opt/${APPLICATION}/config/slskd.yml /opt/${APPLICATION}/config/slskd.yml
msg_ok "Setup ${APPLICATION}" msg_ok "Setup ${APPLICATION}"

View File

@@ -22,10 +22,10 @@ echo -e "\n Loading..."
GEN_MAC=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//') GEN_MAC=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//')
RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)" RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)"
METHOD="" METHOD=""
NSAPP="debian12vm" NSAPP="docker-vm"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
DISK_SIZE="8G" DISK_SIZE="10G"
YW=$(echo "\033[33m") YW=$(echo "\033[33m")
BL=$(echo "\033[36m") BL=$(echo "\033[36m")
@@ -107,7 +107,7 @@ function cleanup() {
TEMP_DIR=$(mktemp -d) TEMP_DIR=$(mktemp -d)
pushd $TEMP_DIR >/dev/null pushd $TEMP_DIR >/dev/null
if whiptail --backtitle "Proxmox VE Helper Scripts" --title "Debian 12 VM" --yesno "This will create a New Debian 12 VM. Proceed?" 10 58; then if whiptail --backtitle "Proxmox VE Helper Scripts" --title "Docker VM" --yesno "This will create a New Docker VM. Proceed?" 10 58; then
: :
else else
header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit
@@ -206,7 +206,7 @@ function default_settings() {
echo -e "${VLANTAG}${BOLD}${DGN}VLAN: ${BGN}Default${CL}" echo -e "${VLANTAG}${BOLD}${DGN}VLAN: ${BGN}Default${CL}"
echo -e "${DEFAULT}${BOLD}${DGN}Interface MTU Size: ${BGN}Default${CL}" echo -e "${DEFAULT}${BOLD}${DGN}Interface MTU Size: ${BGN}Default${CL}"
echo -e "${GATEWAY}${BOLD}${DGN}Start VM when completed: ${BGN}yes${CL}" echo -e "${GATEWAY}${BOLD}${DGN}Start VM when completed: ${BGN}yes${CL}"
echo -e "${CREATING}${BOLD}${DGN}Creating a Debian 12 VM using the above default settings${CL}" echo -e "${CREATING}${BOLD}${DGN}Creating a Docker VM using the above default settings${CL}"
} }
function advanced_settings() { function advanced_settings() {
@@ -276,9 +276,9 @@ function advanced_settings() {
exit-script exit-script
fi fi
if VM_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 debian --title "HOSTNAME" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then if VM_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 docker --title "HOSTNAME" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
if [ -z $VM_NAME ]; then if [ -z $VM_NAME ]; then
HN="debian" HN="docker"
echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}$HN${CL}" echo -e "${HOSTNAME}${BOLD}${DGN}Hostname: ${BGN}$HN${CL}"
else else
HN=$(echo ${VM_NAME,,} | tr -d ' ') HN=$(echo ${VM_NAME,,} | tr -d ' ')
@@ -382,8 +382,8 @@ function advanced_settings() {
START_VM="no" START_VM="no"
fi fi
if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create a Debian 12 VM?" --no-button Do-Over 10 58); then if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create a Docker VM?" --no-button Do-Over 10 58); then
echo -e "${CREATING}${BOLD}${DGN}Creating a Debian 12 VM using the above advanced settings${CL}" echo -e "${CREATING}${BOLD}${DGN}Creating a Docker VM using the above advanced settings${CL}"
else else
header_info header_info
echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings${CL}" echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings${CL}"
@@ -468,9 +468,12 @@ for i in {0,1}; do
eval DISK${i}_REF=${STORAGE}:${DISK_REF:-}${!disk} eval DISK${i}_REF=${STORAGE}:${DISK_REF:-}${!disk}
done done
msg_info "Installing Pre-Requisite libguestfs-tools onto Host" if ! command -v virt-customize &>/dev/null; then
apt-get -qq update && apt-get -qq install libguestfs-tools lsb-release -y >/dev/null msg_info "Installing Pre-Requisite libguestfs-tools onto Host"
msg_ok "Installed libguestfs-tools successfully" apt-get -qq update >/dev/null
apt-get -qq install libguestfs-tools lsb-release -y >/dev/null
msg_ok "Installed libguestfs-tools successfully"
fi
msg_info "Adding Docker and Docker Compose Plugin to Debian 12 Qcow2 Disk Image" msg_info "Adding Docker and Docker Compose Plugin to Debian 12 Qcow2 Disk Image"
virt-customize -q -a "${FILE}" --install qemu-guest-agent,apt-transport-https,ca-certificates,curl,gnupg,software-properties-common,lsb-release >/dev/null && virt-customize -q -a "${FILE}" --install qemu-guest-agent,apt-transport-https,ca-certificates,curl,gnupg,software-properties-common,lsb-release >/dev/null &&
@@ -478,9 +481,16 @@ virt-customize -q -a "${FILE}" --install qemu-guest-agent,apt-transport-https,ca
virt-customize -q -a "${FILE}" --run-command "echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable' > /etc/apt/sources.list.d/docker.list" >/dev/null && virt-customize -q -a "${FILE}" --run-command "echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable' > /etc/apt/sources.list.d/docker.list" >/dev/null &&
virt-customize -q -a "${FILE}" --run-command "apt-get update -qq && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin" >/dev/null && virt-customize -q -a "${FILE}" --run-command "apt-get update -qq && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin" >/dev/null &&
virt-customize -q -a "${FILE}" --run-command "systemctl enable docker" >/dev/null && virt-customize -q -a "${FILE}" --run-command "systemctl enable docker" >/dev/null &&
virt-customize -q -a "${FILE}" --hostname "${HN}" >/dev/null &&
virt-customize -q -a "${FILE}" --run-command "echo -n > /etc/machine-id" >/dev/null virt-customize -q -a "${FILE}" --run-command "echo -n > /etc/machine-id" >/dev/null
msg_ok "Added Docker and Docker Compose Plugin to Debian 12 Qcow2 Disk Image successfully" msg_ok "Added Docker and Docker Compose Plugin to Debian 12 Qcow2 Disk Image successfully"
msg_info "Expanding root partition to use full disk space"
qemu-img create -f qcow2 expanded.qcow2 ${DISK_SIZE} >/dev/null 2>&1
virt-resize --expand /dev/sda1 ${FILE} expanded.qcow2 >/dev/null 2>&1
mv expanded.qcow2 ${FILE} >/dev/null 2>&1
msg_ok "Expanded image to full size"
msg_info "Creating a Docker VM" msg_info "Creating a Docker VM"
qm create $VMID -agent 1${MACHINE} -tablet 0 -localtime 1 -bios ovmf${CPU_TYPE} -cores $CORE_COUNT -memory $RAM_SIZE \ qm create $VMID -agent 1${MACHINE} -tablet 0 -localtime 1 -bios ovmf${CPU_TYPE} -cores $CORE_COUNT -memory $RAM_SIZE \
-name $HN -tags community-script -net0 virtio,bridge=$BRG,macaddr=$MAC$VLAN$MTU -onboot 1 -ostype l26 -scsihw virtio-scsi-pci -name $HN -tags community-script -net0 virtio,bridge=$BRG,macaddr=$MAC$VLAN$MTU -onboot 1 -ostype l26 -scsihw virtio-scsi-pci
@@ -526,14 +536,6 @@ EOF
) )
qm set "$VMID" -description "$DESCRIPTION" >/dev/null qm set "$VMID" -description "$DESCRIPTION" >/dev/null
if [ -n "$DISK_SIZE" ]; then
msg_info "Resizing disk to $DISK_SIZE GB"
qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null
else
msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB"
qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null
fi
msg_ok "Created a Docker VM ${CL}${BL}(${HN})" msg_ok "Created a Docker VM ${CL}${BL}(${HN})"
if [ "$START_VM" == "yes" ]; then if [ "$START_VM" == "yes" ]; then
msg_info "Starting Docker VM" msg_info "Starting Docker VM"

View File

@@ -1,6 +0,0 @@
__ __ __ __ ____ _____ _ ____ ___
/ / / /___ ___ / /_ ________ / / / __ \/ ___/ | | / / |/ /
/ / / / __ `__ \/ __ \/ ___/ _ \/ / / / / /\__ \ | | / / /|_/ /
/ /_/ / / / / / / /_/ / / / __/ / / /_/ /___/ / | |/ / / / /
\____/_/ /_/ /_/_.___/_/ \___/_/ \____//____/ |___/_/ /_/

View File

@@ -252,7 +252,7 @@ function default_settings() {
echo -e "${DGN}Using LAN NETMASK: ${BGN}${LAN_NETMASK}${CL}" echo -e "${DGN}Using LAN NETMASK: ${BGN}${LAN_NETMASK}${CL}"
echo -e "${DGN}Using Interface MTU Size: ${BGN}Default${CL}" echo -e "${DGN}Using Interface MTU Size: ${BGN}Default${CL}"
echo -e "${DGN}Start VM when completed: ${BGN}yes${CL}" echo -e "${DGN}Start VM when completed: ${BGN}yes${CL}"
echo -e "${BL}Creating a OpenWRT VM using the above default settings${CL}" echo -e "${BL}Creating a OpenWrt VM using the above default settings${CL}"
} }
function advanced_settings() { function advanced_settings() {
@@ -510,7 +510,7 @@ qm set $VMID \
-tags community-script \ -tags community-script \
-description "<div align='center'><a href='https://Helper-Scripts.com'><img src='https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/images/logo-81x112.png'/></a> -description "<div align='center'><a href='https://Helper-Scripts.com'><img src='https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/images/logo-81x112.png'/></a>
# OpenWRT # OpenWrt
<a href='https://ko-fi.com/D1D7EP4GF'><img src='https://img.shields.io/badge/&#x2615;-Buy me a coffee-blue' /></a> <a href='https://ko-fi.com/D1D7EP4GF'><img src='https://img.shields.io/badge/&#x2615;-Buy me a coffee-blue' /></a>
</div>" >/dev/null </div>" >/dev/null