mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-12-16 04:03:33 +01:00
Compare commits
2 Commits
CrazyWolf1
...
add-script
| Author | SHA1 | Date | |
|---|---|---|---|
| 2f765a7cac | |||
| c414cf7476 |
10
CHANGELOG.md
10
CHANGELOG.md
@ -12,16 +12,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
## 2025-12-15
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Koel ([#9972](https://github.com/community-scripts/ProxmoxVE/pull/9972))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- fix(pangolin-install): add network-online dependency [@worried-networking](https://github.com/worried-networking) ([#9984](https://github.com/community-scripts/ProxmoxVE/pull/9984))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: Heimdall Dashboard [@tremor021](https://github.com/tremor021) ([#9959](https://github.com/community-scripts/ProxmoxVE/pull/9959))
|
||||
@ -30,8 +22,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- tools: prevent awk errors in setup_rust on restricted containers [@MickLesk](https://github.com/MickLesk) ([#9985](https://github.com/community-scripts/ProxmoxVE/pull/9985))
|
||||
- core: App Defaults force mode and prevent unbound variables [@MickLesk](https://github.com/MickLesk) ([#9971](https://github.com/community-scripts/ProxmoxVE/pull/9971))
|
||||
- core: load app defaults before applying base_settings / fix composer cleanup after install/update [@MickLesk](https://github.com/MickLesk) ([#9965](https://github.com/community-scripts/ProxmoxVE/pull/9965))
|
||||
|
||||
### 📚 Documentation
|
||||
|
||||
@ -1,6 +0,0 @@
|
||||
__ __ __
|
||||
/ //_/___ ___ / /
|
||||
/ ,< / __ \/ _ \/ /
|
||||
/ /| / /_/ / __/ /
|
||||
/_/ |_\____/\___/_/
|
||||
|
||||
40
ct/homarr.sh
40
ct/homarr.sh
@ -35,34 +35,24 @@ function update_script() {
|
||||
msg_ok "Services Stopped"
|
||||
|
||||
if ! { grep -q '^REDIS_IS_EXTERNAL=' /opt/homarr/.env 2>/dev/null || grep -q '^REDIS_IS_EXTERNAL=' /opt/homarr.env 2>/dev/null; }; then
|
||||
DEBIAN_VERSION=$(cat /etc/debian_version 2>/dev/null | cut -d'.' -f1)
|
||||
if [[ -n "$DEBIAN_VERSION" ]] && [[ "$DEBIAN_VERSION" -lt 13 ]]; then
|
||||
msg_warn "⚠️ COMPATIBILITY WARNING ⚠️"
|
||||
msg_warn "You are running Debian ${DEBIAN_VERSION}. Homarr's requires Debian 13"
|
||||
msg_warn ""
|
||||
msg_warn "Please Upgrade to Debian 13:"
|
||||
msg_warn "See: https://github.com/community-scripts/ProxmoxVE/discussions/7489"
|
||||
msg_warn ""
|
||||
exit
|
||||
fi
|
||||
msg_info "Fixing old structure"
|
||||
# fix musl issues because homarr compiles on alpine not debian soure: https://github.com/alexander-akhmetov/python-telegram/issues/3
|
||||
$STD apt install -y musl-dev
|
||||
ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1
|
||||
cp /opt/homarr/.env /opt/homarr.env
|
||||
echo "REDIS_IS_EXTERNAL='true'" >> /opt/homarr.env
|
||||
sed -i 's|^ExecStart=.*|ExecStart=/opt/homarr/run.sh|' /etc/systemd/system/homarr.service
|
||||
sed -i 's|^EnvironmentFile=.*|EnvironmentFile=-/opt/homarr.env|' /etc/systemd/system/homarr.service
|
||||
chown -R redis:redis /appdata/redis
|
||||
chmod 744 /appdata/redis
|
||||
mkdir -p /etc/systemd/system/redis-server.service.d/
|
||||
cat <<EOF >/etc/systemd/system/redis-server.service.d/override.conf
|
||||
msg_info "Fixing old structure"
|
||||
# fix musl issues because homarr compiles on alpine not debian soure: https://github.com/alexander-akhmetov/python-telegram/issues/3
|
||||
$STD apt install -y musl-dev
|
||||
ln -s /usr/lib/x86_64-linux-musl/libc.so /lib/libc.musl-x86_64.so.1
|
||||
cp /opt/homarr/.env /opt/homarr.env
|
||||
echo "REDIS_IS_EXTERNAL='true'" >> /opt/homarr.env
|
||||
sed -i 's|^ExecStart=.*|ExecStart=/opt/homarr/run.sh|' /etc/systemd/system/homarr.service
|
||||
sed -i 's|^EnvironmentFile=.*|EnvironmentFile=-/opt/homarr.env|' /etc/systemd/system/homarr.service
|
||||
chown -R redis:redis /appdata/redis
|
||||
chmod 744 /appdata/redis
|
||||
mkdir -p /etc/systemd/system/redis-server.service.d/
|
||||
cat <<EOF >/etc/systemd/system/redis-server.service.d/override.conf
|
||||
[Service]
|
||||
ReadWritePaths=-/appdata/redis -/var/lib/redis -/var/log/redis -/var/run/redis -/etc/redis
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
rm /opt/run_homarr.sh
|
||||
msg_ok "Fixed old structure"
|
||||
systemctl daemon-reload
|
||||
rm /opt/run_homarr.sh
|
||||
msg_ok "Fixed old structure"
|
||||
fi
|
||||
|
||||
msg_info "Updating Nodejs"
|
||||
|
||||
@ -1,48 +1,48 @@
|
||||
{
|
||||
"name": "Koel",
|
||||
"slug": "koel",
|
||||
"categories": [
|
||||
13
|
||||
],
|
||||
"date_created": "2025-12-15",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 80,
|
||||
"documentation": "https://docs.koel.dev/",
|
||||
"config_path": "/opt/koel/.env",
|
||||
"website": "https://koel.dev/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/koel-light.webp",
|
||||
"description": "Koel is a simple web-based personal audio streaming service written in Vue and Laravel. It supports multiple users, audio visualization, smart playlists, YouTube integration, and Last.fm scrobbling.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/koel.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 8,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": "admin@koel.dev",
|
||||
"password": "KoelIsCool"
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Media files should be placed in /opt/koel_media",
|
||||
"type": "info"
|
||||
"name": "Koel",
|
||||
"slug": "koel",
|
||||
"categories": [
|
||||
13
|
||||
],
|
||||
"date_created": "2025-12-10",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 80,
|
||||
"documentation": "https://docs.koel.dev/",
|
||||
"config_path": "/opt/koel/.env",
|
||||
"website": "https://koel.dev/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/koel-light.webp",
|
||||
"description": "Koel is a simple web-based personal audio streaming service written in Vue and Laravel. It supports multiple users, audio visualization, smart playlists, YouTube integration, and Last.fm scrobbling.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/koel.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 2048,
|
||||
"hdd": 8,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": "admin@koel.dev",
|
||||
"password": "KoelIsCool"
|
||||
},
|
||||
{
|
||||
"text": "Database credentials are stored in ~/koel.creds",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Music library is scanned hourly via cron job",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
"notes": [
|
||||
{
|
||||
"text": "Media files should be placed in /opt/koel_media",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Database credentials are stored in ~/koel.creds",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Music library is scanned hourly via cron job",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -1,79 +1,4 @@
|
||||
[
|
||||
{
|
||||
"name": "cockpit-project/cockpit",
|
||||
"version": "353.1",
|
||||
"date": "2025-12-15T10:29:34Z"
|
||||
},
|
||||
{
|
||||
"name": "VictoriaMetrics/VictoriaMetrics",
|
||||
"version": "pmm-6401-v1.132.0",
|
||||
"date": "2025-12-15T09:38:46Z"
|
||||
},
|
||||
{
|
||||
"name": "Prowlarr/Prowlarr",
|
||||
"version": "v2.3.0.5236",
|
||||
"date": "2025-11-16T22:41:22Z"
|
||||
},
|
||||
{
|
||||
"name": "Lidarr/Lidarr",
|
||||
"version": "v3.1.0.4875",
|
||||
"date": "2025-11-16T22:40:18Z"
|
||||
},
|
||||
{
|
||||
"name": "Radarr/Radarr",
|
||||
"version": "v6.0.4.10291",
|
||||
"date": "2025-11-16T22:39:01Z"
|
||||
},
|
||||
{
|
||||
"name": "mattermost/mattermost",
|
||||
"version": "v10.11.8",
|
||||
"date": "2025-11-21T17:06:07Z"
|
||||
},
|
||||
{
|
||||
"name": "firefly-iii/firefly-iii",
|
||||
"version": "v6.4.11",
|
||||
"date": "2025-12-15T08:01:35Z"
|
||||
},
|
||||
{
|
||||
"name": "morpheus65535/bazarr",
|
||||
"version": "v1.5.3",
|
||||
"date": "2025-09-20T12:12:33Z"
|
||||
},
|
||||
{
|
||||
"name": "Jackett/Jackett",
|
||||
"version": "v0.24.454",
|
||||
"date": "2025-12-15T05:54:27Z"
|
||||
},
|
||||
{
|
||||
"name": "scanopy/scanopy",
|
||||
"version": "v0.12.0",
|
||||
"date": "2025-12-15T04:12:10Z"
|
||||
},
|
||||
{
|
||||
"name": "jellyfin/jellyfin",
|
||||
"version": "v10.11.5",
|
||||
"date": "2025-12-15T02:44:19Z"
|
||||
},
|
||||
{
|
||||
"name": "steveiliop56/tinyauth",
|
||||
"version": "v4.1.0",
|
||||
"date": "2025-11-23T12:13:34Z"
|
||||
},
|
||||
{
|
||||
"name": "jeedom/core",
|
||||
"version": "4.5",
|
||||
"date": "2025-12-15T00:27:03Z"
|
||||
},
|
||||
{
|
||||
"name": "esphome/esphome",
|
||||
"version": "2025.11.5",
|
||||
"date": "2025-12-09T17:54:33Z"
|
||||
},
|
||||
{
|
||||
"name": "9001/copyparty",
|
||||
"version": "v1.19.22",
|
||||
"date": "2025-12-14T23:38:57Z"
|
||||
},
|
||||
{
|
||||
"name": "BerriAI/litellm",
|
||||
"version": "v1.80.10.rc.2",
|
||||
@ -89,11 +14,21 @@
|
||||
"version": "v1.9.13",
|
||||
"date": "2025-12-14T20:18:28Z"
|
||||
},
|
||||
{
|
||||
"name": "netvisor-io/netvisor",
|
||||
"version": "v0.12.0",
|
||||
"date": "2025-12-14T19:20:29Z"
|
||||
},
|
||||
{
|
||||
"name": "alexta69/metube",
|
||||
"version": "2025.12.14",
|
||||
"date": "2025-12-14T18:24:33Z"
|
||||
},
|
||||
{
|
||||
"name": "firefly-iii/firefly-iii",
|
||||
"version": "v6.4.10",
|
||||
"date": "2025-12-14T18:13:34Z"
|
||||
},
|
||||
{
|
||||
"name": "openhab/openhab-core",
|
||||
"version": "5.1.0.M4",
|
||||
@ -104,6 +39,11 @@
|
||||
"version": "v4.36.2",
|
||||
"date": "2025-12-03T22:46:29Z"
|
||||
},
|
||||
{
|
||||
"name": "Jackett/Jackett",
|
||||
"version": "v0.24.452",
|
||||
"date": "2025-12-14T15:50:44Z"
|
||||
},
|
||||
{
|
||||
"name": "semaphoreui/semaphore",
|
||||
"version": "v2.17.0-beta24",
|
||||
@ -144,6 +84,11 @@
|
||||
"version": "2.223.0",
|
||||
"date": "2025-12-14T08:16:54Z"
|
||||
},
|
||||
{
|
||||
"name": "morpheus65535/bazarr",
|
||||
"version": "v1.5.3",
|
||||
"date": "2025-09-20T12:12:33Z"
|
||||
},
|
||||
{
|
||||
"name": "release-argus/Argus",
|
||||
"version": "0.28.1",
|
||||
@ -154,6 +99,16 @@
|
||||
"version": "1.3.12",
|
||||
"date": "2025-12-14T02:58:24Z"
|
||||
},
|
||||
{
|
||||
"name": "steveiliop56/tinyauth",
|
||||
"version": "v4.1.0",
|
||||
"date": "2025-11-23T12:13:34Z"
|
||||
},
|
||||
{
|
||||
"name": "jeedom/core",
|
||||
"version": "4.5",
|
||||
"date": "2025-12-14T00:27:06Z"
|
||||
},
|
||||
{
|
||||
"name": "martabal/qbittorrent-exporter",
|
||||
"version": "v1.13.2",
|
||||
@ -274,6 +229,11 @@
|
||||
"version": "v1.14.1",
|
||||
"date": "2025-12-12T17:37:58Z"
|
||||
},
|
||||
{
|
||||
"name": "esphome/esphome",
|
||||
"version": "2025.11.5",
|
||||
"date": "2025-12-09T17:54:33Z"
|
||||
},
|
||||
{
|
||||
"name": "keycloak/keycloak",
|
||||
"version": "26.4.7",
|
||||
@ -299,6 +259,11 @@
|
||||
"version": "n8n@1.123.5-exp.0",
|
||||
"date": "2025-12-10T16:35:50Z"
|
||||
},
|
||||
{
|
||||
"name": "mattermost/mattermost",
|
||||
"version": "v10.11.8",
|
||||
"date": "2025-11-21T17:06:07Z"
|
||||
},
|
||||
{
|
||||
"name": "zitadel/zitadel",
|
||||
"version": "v4.7.5",
|
||||
@ -354,11 +319,6 @@
|
||||
"version": "0.43.1",
|
||||
"date": "2025-12-11T22:45:52Z"
|
||||
},
|
||||
{
|
||||
"name": "meilisearch/meilisearch",
|
||||
"version": "prototype-v1.30.0-network-topology.3",
|
||||
"date": "2025-12-11T21:57:10Z"
|
||||
},
|
||||
{
|
||||
"name": "coollabsio/coolify",
|
||||
"version": "v4.0.0-beta.454",
|
||||
@ -369,6 +329,11 @@
|
||||
"version": "v1.30.22",
|
||||
"date": "2025-12-11T18:02:06Z"
|
||||
},
|
||||
{
|
||||
"name": "meilisearch/meilisearch",
|
||||
"version": "prototype-v1.30.0-network-topology.2",
|
||||
"date": "2025-12-11T16:47:51Z"
|
||||
},
|
||||
{
|
||||
"name": "endurain-project/endurain",
|
||||
"version": "v0.16.2",
|
||||
@ -439,6 +404,11 @@
|
||||
"version": "0.211.1",
|
||||
"date": "2025-12-10T12:25:19Z"
|
||||
},
|
||||
{
|
||||
"name": "cockpit-project/cockpit",
|
||||
"version": "353",
|
||||
"date": "2025-12-10T10:55:50Z"
|
||||
},
|
||||
{
|
||||
"name": "kyantech/Palmr",
|
||||
"version": "v3.3.2-beta",
|
||||
@ -734,6 +704,11 @@
|
||||
"version": "v0.6.41",
|
||||
"date": "2025-12-02T22:28:58Z"
|
||||
},
|
||||
{
|
||||
"name": "9001/copyparty",
|
||||
"version": "v1.19.21",
|
||||
"date": "2025-12-02T21:48:12Z"
|
||||
},
|
||||
{
|
||||
"name": "WordPress/WordPress",
|
||||
"version": "6.9",
|
||||
@ -784,6 +759,11 @@
|
||||
"version": "v3.6.0",
|
||||
"date": "2025-12-01T18:48:10Z"
|
||||
},
|
||||
{
|
||||
"name": "VictoriaMetrics/VictoriaMetrics",
|
||||
"version": "pmm-6401-v1.131.0",
|
||||
"date": "2025-12-01T17:18:24Z"
|
||||
},
|
||||
{
|
||||
"name": "OctoPrint/OctoPrint",
|
||||
"version": "1.11.5",
|
||||
@ -794,6 +774,11 @@
|
||||
"version": "251130-b3068414c",
|
||||
"date": "2025-12-01T05:07:31Z"
|
||||
},
|
||||
{
|
||||
"name": "jellyfin/jellyfin",
|
||||
"version": "v10.11.4",
|
||||
"date": "2025-12-01T02:33:37Z"
|
||||
},
|
||||
{
|
||||
"name": "recyclarr/recyclarr",
|
||||
"version": "v7.5.2",
|
||||
@ -1084,6 +1069,21 @@
|
||||
"version": "v4.2.1",
|
||||
"date": "2025-11-17T02:47:15Z"
|
||||
},
|
||||
{
|
||||
"name": "Prowlarr/Prowlarr",
|
||||
"version": "v2.3.0.5236",
|
||||
"date": "2025-11-16T22:41:22Z"
|
||||
},
|
||||
{
|
||||
"name": "Lidarr/Lidarr",
|
||||
"version": "v3.1.0.4875",
|
||||
"date": "2025-11-16T22:40:18Z"
|
||||
},
|
||||
{
|
||||
"name": "Radarr/Radarr",
|
||||
"version": "v6.0.4.10291",
|
||||
"date": "2025-11-16T22:39:01Z"
|
||||
},
|
||||
{
|
||||
"name": "binwiederhier/ntfy",
|
||||
"version": "v2.15.0",
|
||||
|
||||
@ -230,8 +230,6 @@ systemctl enable -q --now gerbil
|
||||
cat <<'EOF' >/etc/systemd/system/traefik.service
|
||||
[Unit]
|
||||
Description=Traefik is an open-source Edge Router that makes publishing your services a fun and easy experience
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
|
||||
@ -205,10 +205,7 @@ update_motd_ip() {
|
||||
# - Falls back to warning if no keys provided
|
||||
# ------------------------------------------------------------------------------
|
||||
install_ssh_keys_into_ct() {
|
||||
[[ "${SSH:-no}" != "yes" ]] && return 0
|
||||
|
||||
# Ensure SSH_KEYS_FILE is defined (may not be set if advanced_settings was skipped)
|
||||
: "${SSH_KEYS_FILE:=}"
|
||||
[[ "$SSH" != "yes" ]] && return 0
|
||||
|
||||
if [[ -n "$SSH_KEYS_FILE" && -s "$SSH_KEYS_FILE" ]]; then
|
||||
msg_info "Installing selected SSH keys into CT ${CTID}"
|
||||
@ -433,14 +430,6 @@ base_settings() {
|
||||
ENABLE_FUSE=${var_fuse:-"${1:-no}"}
|
||||
ENABLE_TUN=${var_tun:-"${1:-no}"}
|
||||
|
||||
# Additional settings that may be skipped if advanced_settings is not run (e.g., App Defaults)
|
||||
ENABLE_GPU=${var_gpu:-"no"}
|
||||
ENABLE_NESTING=${var_nesting:-"1"}
|
||||
ENABLE_KEYCTL=${var_keyctl:-"0"}
|
||||
ENABLE_MKNOD=${var_mknod:-"0"}
|
||||
PROTECT_CT=${var_protection:-"no"}
|
||||
CT_TIMEZONE=${var_timezone:-"$timezone"}
|
||||
|
||||
# Since these 2 are only defined outside of default_settings function, we add a temporary fallback. TODO: To align everything, we should add these as constant variables (e.g. OSTYPE and OSVERSION), but that would currently require updating the default_settings function for all existing scripts
|
||||
if [ -z "$var_os" ]; then
|
||||
var_os="debian"
|
||||
@ -1909,13 +1898,13 @@ Advanced:
|
||||
echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}"
|
||||
echo -e "${NETWORK}${BOLD}${DGN}IPv4: ${BGN}$NET${CL}"
|
||||
echo -e "${NETWORK}${BOLD}${DGN}IPv6: ${BGN}$IPV6_METHOD${CL}"
|
||||
echo -e "${FUSE}${BOLD}${DGN}FUSE Support: ${BGN}${ENABLE_FUSE:-no}${CL}"
|
||||
[[ "${ENABLE_TUN:-no}" == "yes" ]] && echo -e "${NETWORK}${BOLD}${DGN}TUN/TAP Support: ${BGN}$ENABLE_TUN${CL}"
|
||||
echo -e "${CONTAINERTYPE}${BOLD}${DGN}Nesting: ${BGN}$([ "${ENABLE_NESTING:-1}" == "1" ] && echo "Enabled" || echo "Disabled")${CL}"
|
||||
[[ "${ENABLE_KEYCTL:-0}" == "1" ]] && echo -e "${CONTAINERTYPE}${BOLD}${DGN}Keyctl: ${BGN}Enabled${CL}"
|
||||
echo -e "${GPU}${BOLD}${DGN}GPU Passthrough: ${BGN}${ENABLE_GPU:-no}${CL}"
|
||||
[[ "${PROTECT_CT:-no}" == "yes" || "${PROTECT_CT:-no}" == "1" ]] && echo -e "${CONTAINERTYPE}${BOLD}${DGN}Protection: ${BGN}Enabled${CL}"
|
||||
[[ -n "${CT_TIMEZONE:-}" ]] && echo -e "${INFO}${BOLD}${DGN}Timezone: ${BGN}$CT_TIMEZONE${CL}"
|
||||
echo -e "${FUSE}${BOLD}${DGN}FUSE Support: ${BGN}$ENABLE_FUSE${CL}"
|
||||
[[ "$ENABLE_TUN" == "yes" ]] && echo -e "${NETWORK}${BOLD}${DGN}TUN/TAP Support: ${BGN}$ENABLE_TUN${CL}"
|
||||
echo -e "${CONTAINERTYPE}${BOLD}${DGN}Nesting: ${BGN}$([ "$ENABLE_NESTING" == "1" ] && echo "Enabled" || echo "Disabled")${CL}"
|
||||
[[ "$ENABLE_KEYCTL" == "1" ]] && echo -e "${CONTAINERTYPE}${BOLD}${DGN}Keyctl: ${BGN}Enabled${CL}"
|
||||
echo -e "${GPU}${BOLD}${DGN}GPU Passthrough: ${BGN}$ENABLE_GPU${CL}"
|
||||
[[ "$PROTECT_CT" == "yes" || "$PROTECT_CT" == "1" ]] && echo -e "${CONTAINERTYPE}${BOLD}${DGN}Protection: ${BGN}Enabled${CL}"
|
||||
[[ -n "$CT_TIMEZONE" ]] && echo -e "${INFO}${BOLD}${DGN}Timezone: ${BGN}$CT_TIMEZONE${CL}"
|
||||
[[ "$APT_CACHER" == "yes" ]] && echo -e "${INFO}${BOLD}${DGN}APT Cacher: ${BGN}$APT_CACHER_IP${CL}"
|
||||
echo -e "${SEARCH}${BOLD}${DGN}Verbose Mode: ${BGN}$VERBOSE${CL}"
|
||||
echo -e "${CREATING}${BOLD}${RD}Creating a ${APP} LXC using the above advanced settings${CL}"
|
||||
|
||||
@ -4424,7 +4424,7 @@ function setup_rust() {
|
||||
# Get currently installed version
|
||||
local CURRENT_VERSION=""
|
||||
if command -v rustc &>/dev/null; then
|
||||
CURRENT_VERSION=$(rustc --version 2>/dev/null | awk '{print $2}' 2>/dev/null) || true
|
||||
CURRENT_VERSION=$(rustc --version 2>/dev/null | awk '{print $2}')
|
||||
fi
|
||||
|
||||
# Scenario 1: Rustup not installed - fresh install
|
||||
@ -4443,8 +4443,7 @@ function setup_rust() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
local RUST_VERSION
|
||||
RUST_VERSION=$(rustc --version 2>/dev/null | awk '{print $2}' 2>/dev/null) || true
|
||||
local RUST_VERSION=$(rustc --version 2>/dev/null | awk '{print $2}')
|
||||
if [[ -z "$RUST_VERSION" ]]; then
|
||||
msg_error "Failed to determine Rust version"
|
||||
return 1
|
||||
@ -4475,8 +4474,7 @@ function setup_rust() {
|
||||
# Ensure PATH is updated for current shell session
|
||||
export PATH="$CARGO_BIN:$PATH"
|
||||
|
||||
local RUST_VERSION
|
||||
RUST_VERSION=$(rustc --version 2>/dev/null | awk '{print $2}' 2>/dev/null) || true
|
||||
local RUST_VERSION=$(rustc --version 2>/dev/null | awk '{print $2}')
|
||||
if [[ -z "$RUST_VERSION" ]]; then
|
||||
msg_error "Failed to determine Rust version after update"
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user