mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-11-04 18:32:51 +00:00
Compare commits
40 Commits
2025-05-28
...
2025-05-31
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fc780646d2 | ||
|
|
5f175b4f7b | ||
|
|
afaeadd77e | ||
|
|
72c7abeb69 | ||
|
|
12723c33d0 | ||
|
|
7af6bf3fe7 | ||
|
|
e56436d3f2 | ||
|
|
25de119cad | ||
|
|
c8308da95e | ||
|
|
9923094a54 | ||
|
|
463cc62443 | ||
|
|
92227fb9bf | ||
|
|
18a9c524ae | ||
|
|
d925ae0f04 | ||
|
|
cb0d0bd83e | ||
|
|
9fcfb2fe49 | ||
|
|
d23aa3fda0 | ||
|
|
131f83505c | ||
|
|
5a95a745ff | ||
|
|
809bc6c302 | ||
|
|
4fba20d80b | ||
|
|
42a7614d15 | ||
|
|
2dd7ebda2c | ||
|
|
e388ce82a1 | ||
|
|
ac902f2098 | ||
|
|
a23b83dfc5 | ||
|
|
85975fbe15 | ||
|
|
23e33c5cb6 | ||
|
|
e39e5d5b7d | ||
|
|
1619d6a093 | ||
|
|
f23b688d55 | ||
|
|
b6319b5dd3 | ||
|
|
030e6344d2 | ||
|
|
85837d8099 | ||
|
|
5295ed8cf2 | ||
|
|
85ae0e2f74 | ||
|
|
b406921c1a | ||
|
|
5a16b5995d | ||
|
|
fd637c8819 | ||
|
|
6d40ca9cd6 |
51
CHANGELOG.md
51
CHANGELOG.md
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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}"
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
___ __ __ __ _ __
|
|
||||||
/ | __ __/ /_/ /_ ___ ____ / /_(_) /__
|
|
||||||
/ /| |/ / / / __/ __ \/ _ \/ __ \/ __/ / //_/
|
|
||||||
/ ___ / /_/ / /_/ / / / __/ / / / /_/ / ,<
|
|
||||||
/_/ |_\__,_/\__/_/ /_/\___/_/ /_/\__/_/_/|_|
|
|
||||||
|
|
||||||
@@ -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}"
|
||||||
|
|||||||
@@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -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"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
|
||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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}"
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
__ __ __ __ ____ _____ _ ____ ___
|
|
||||||
/ / / /___ ___ / /_ ________ / / / __ \/ ___/ | | / / |/ /
|
|
||||||
/ / / / __ `__ \/ __ \/ ___/ _ \/ / / / / /\__ \ | | / / /|_/ /
|
|
||||||
/ /_/ / / / / / / /_/ / / / __/ / / /_/ /___/ / | |/ / / / /
|
|
||||||
\____/_/ /_/ /_/_.___/_/ \___/_/ \____//____/ |___/_/ /_/
|
|
||||||
|
|
||||||
@@ -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/☕-Buy me a coffee-blue' /></a>
|
<a href='https://ko-fi.com/D1D7EP4GF'><img src='https://img.shields.io/badge/☕-Buy me a coffee-blue' /></a>
|
||||||
</div>" >/dev/null
|
</div>" >/dev/null
|
||||||
|
|||||||
Reference in New Issue
Block a user