Compare commits

..

25 Commits

Author SHA1 Message Date
CanbiZ (MickLesk) 06603d629c Update vm/openwrt-vm.sh
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2026-11-03 14:29:53 +01:00
MickLesk 0657f71e74 OpenWrt VM: read the stable release from downloads.openwrt.org
The version came from a line of text on the openwrt.org wiki front page.
One host got that page without the line three times in a row while
others resolved fine at the same moment, and the run ended with exit 115
before anything was downloaded. .versions.json on the download server
is what the OpenWrt firmware selector reads and names the stable release
explicitly.
2026-11-03 10:20:45 +01:00
community-scripts-pr-app[bot] 9e879e8e0c Update CHANGELOG.md (#18399)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-03 09:01:48 +00:00
community-scripts-pr-app[bot] 413fbcf58a Update CHANGELOG.md (#18398)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-03 08:57:59 +00:00
community-scripts-pr-app[bot] bc9d4f19ae Update CHANGELOG.md (#18396)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-03 08:48:28 +00:00
community-scripts-pr-app[bot] 9c9bbb4995 Update CHANGELOG.md (#18395)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-03 08:48:11 +00:00
community-scripts-pr-app[bot] 5e5513522f Update CHANGELOG.md (#18394)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-03 08:09:03 +00:00
Connor Gallopo 1820e2f772 move tracearr to node 26 (#18393) 2026-11-03 09:08:34 +01:00
community-scripts-pr-app[bot] 2fbdddefd0 Update CHANGELOG.md (#18385)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-02 10:43:35 +00:00
community-scripts-pr-app[bot] 9f20cf42a6 Update CHANGELOG.md (#18383)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-02 10:20:24 +00:00
CanbiZ (MickLesk) 62be65b496 FileFlows: replace the program folders on update (#18380)
Since the release of 2026-10-28, Server/ holds only FileFlows' own assemblies and the rest comes from ../Libraries. Copying the archive over an older install left the old third-party DLLs in Server/, which the runtime loads first, and the server fails with 'Could not load file or assembly Microsoft.Data.Sqlite, Version=10.0.13.0'. Upstream's own upgrade removes Server, FlowRunner, Libraries and Agent the same way; Data stays.
2026-11-02 11:19:59 +01:00
community-scripts-pr-app[bot] 24ebf4d5ac Update CHANGELOG.md (#18381)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-02 08:49:14 +00:00
community-scripts-pr-app[bot] 047819b7f3 Update CHANGELOG.md (#18379)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-02 08:08:34 +00:00
github-actions[bot] 21b7a89a88 anchor: bump Node.js from 24 to 26 (#18373)
* anchor: bump Node.js from 24 to 26

* Add NODE_VERSION and NODE_MODULE to setup_nodejs

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-11-02 09:07:55 +01:00
community-scripts-pr-app[bot] 1c3f6a9f89 Update CHANGELOG.md (#18378)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-02 08:00:33 +00:00
github-actions[bot] e5535c2bfe guardian: bump Node.js from 24 to 26 (#18375)
* guardian: bump Node.js from 24 to 26

* Set NODE_VERSION to 26 before updating Guardian

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-11-02 09:00:09 +01:00
github-actions[bot] 236242ee86 nametag: bump Node.js from 20 to 24 (#18376)
* nametag: bump Node.js from 20 to 24

* Update NODE_VERSION in nametag deployment script

Set NODE_VERSION to 24 during deployment process.

* Increase default RAM from 2048MB to 3072MB

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-11-02 09:00:01 +01:00
community-scripts-pr-app[bot] 7774a1a28d Update CHANGELOG.md (#18371)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-01 20:22:29 +00:00
push-app-to-main[bot] e82cc0efc8 Amazon Linux (#18369)
* Add amazonlinux (ct)

* minor fixes

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-11-01 21:21:56 +01:00
community-scripts-pr-app[bot] a87c7556a9 Update CHANGELOG.md (#18370)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-01 20:20:39 +00:00
push-app-to-main[bot] d3abb64d4d Add cachyos-vm (vm) (#18368)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
2026-11-01 21:20:14 +01:00
community-scripts-pr-app[bot] f0cf766ec5 Update CHANGELOG.md (#18367)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-01 20:18:46 +00:00
push-app-to-main[bot] b3df8b8b8f Razzia (#18366)
* Add razzia (ct)

* arm64

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-11-01 21:18:19 +01:00
community-scripts-pr-app[bot] 60722fe556 Update CHANGELOG.md (#18364)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-01 10:18:33 +00:00
Nico 8ca359311c fix(zerobyte): build the bundled local agent (#18363) 2026-11-01 11:18:04 +01:00
18 changed files with 468 additions and 9 deletions
+43
View File
@@ -571,8 +571,51 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
</details>
## 2026-11-03
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Tracearr: move to Node.js 26 [@connorgallopo](https://github.com/connorgallopo) ([#18393](https://github.com/community-scripts/ProxmoxVE/pull/18393))
### 💾 Core
- feat: add var_cmode to set the container console mode [@MickLesk](https://github.com/MickLesk) ([core#180](https://github.com/community-scripts/core/pull/180))
- fix: restore npm when an interrupted update left it behind [@MickLesk](https://github.com/MickLesk) ([core#189](https://github.com/community-scripts/core/pull/189))
- feat: find the assets of a renamed GitHub repo without the API [@MickLesk](https://github.com/MickLesk) ([core#188](https://github.com/community-scripts/core/pull/188))
- ref: count a container stopped during a detached install as an abort [@MickLesk](https://github.com/MickLesk) ([core#187](https://github.com/community-scripts/core/pull/187))
## 2026-11-02
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- FileFlows: replace the program folders on update [@MickLesk](https://github.com/MickLesk) ([#18380](https://github.com/community-scripts/ProxmoxVE/pull/18380))
- anchor: bump Node.js from 24 to 26 [@github-actions[bot]](https://github.com/github-actions[bot]) ([#18373](https://github.com/community-scripts/ProxmoxVE/pull/18373))
- guardian: bump Node.js from 24 to 26 [@github-actions[bot]](https://github.com/github-actions[bot]) ([#18375](https://github.com/community-scripts/ProxmoxVE/pull/18375))
- nametag: bump Node.js from 20 to 24 [@github-actions[bot]](https://github.com/github-actions[bot]) ([#18376](https://github.com/community-scripts/ProxmoxVE/pull/18376))
### 💾 Core
- github: trim theater, add signal to the engine bug report; move AI block to end of PR template [@MickLesk](https://github.com/MickLesk) ([core#186](https://github.com/community-scripts/core/pull/186))
- fix: do not wait forever for verbose output a daemon keeps open [@MickLesk](https://github.com/MickLesk) ([core#185](https://github.com/community-scripts/core/pull/185))
## 2026-11-01
### 🆕 New Scripts
- Amazon Linux ([#18369](https://github.com/community-scripts/ProxmoxVE/pull/18369))
- CachyOS VM ([#18368](https://github.com/community-scripts/ProxmoxVE/pull/18368))
- Razzia ([#18366](https://github.com/community-scripts/ProxmoxVE/pull/18366))
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- fix(zerobyte): build the bundled local agent [@nicotsx](https://github.com/nicotsx) ([#18363](https://github.com/community-scripts/ProxmoxVE/pull/18363))
## 2026-10-31
### 🚀 Updated Scripts
+41
View File
@@ -0,0 +1,41 @@
#!/usr/bin/env bash
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://aws.amazon.com/linux/
APP="Amazon Linux"
var_tags="${var_tags:-os}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-8}"
var_os="${var_os:-amazonlinux}"
var_version="${var_version:-2023}"
var_arm64="${var_arm64:-no}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
msg_info "Updating Amazon Linux LXC"
$STD dnf -y upgrade
msg_ok "Updated Amazon Linux LXC"
cleanup_lxc
exit
}
start
build_container
description
msg_ok "Completed successfully!"
msg_custom "🚀" "${GN}" "${APP} setup has been successfully initialized!"
+1
View File
@@ -39,6 +39,7 @@ function update_script() {
create_backup /opt/anchor/.env
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "anchor" "ZhFahim/anchor" "tarball"
NODE_VERSION="26" NODE_MODULE="pnpm" setup_nodejs
msg_info "Building Server"
cd /opt/anchor/server
+1
View File
@@ -102,6 +102,7 @@ function update_script() {
fi
msg_ok "Ensured ASP.NET Core Runtime"
rm -rf /opt/fileflows/{Server,FlowRunner,Libraries,Agent}
fetch_and_deploy_from_url "https://fileflows.com/downloads/ff-latest.tar.xz" "/opt/fileflows"
msg_info "Starting Service"
+2
View File
@@ -53,6 +53,8 @@ function update_script() {
msg_ok "Restored Database"
fi
NODE_VERSION="26" setup_nodejs
msg_info "Updating Guardian"
cd /opt/guardian/backend
$STD npm ci
+2 -3
View File
@@ -9,7 +9,7 @@ source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_
APP="Nametag"
var_tags="${var_tags:-contacts;crm}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_ram="${var_ram:-3072}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
@@ -37,10 +37,9 @@ function update_script() {
msg_ok "Stopped Service"
create_backup /opt/nametag/.env
CLEAN_INSTALL=1 CLEAN_INSTALL_KEEP="data" fetch_and_deploy_gh_release "nametag" "mattogodoy/nametag" "tarball" "latest" "/opt/nametag"
restore_backup
NODE_VERSION="24" setup_nodejs
msg_info "Rebuilding Application"
cd /opt/nametag
+68
View File
@@ -0,0 +1,68 @@
#!/usr/bin/env bash
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
# Copyright (c) 2021-2026 community-scripts ORG
# Author: Owen Voke (owenvoke)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Ralex91/Razzia
APP="Razzia"
var_tags="${var_tags:-quiz;games}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_arm64="${var_arm64:-yes}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/razzia ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "razzia" "Ralex91/Razzia"; then
msg_info "Stopping Service"
systemctl stop razzia
msg_ok "Stopped Service"
create_backup /opt/razzia/.env
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "razzia" "Ralex91/Razzia" "tarball"
restore_backup
NODE_VERSION="24" NODE_MODULE="pnpm@11" setup_nodejs
msg_info "Building Razzia"
cd /opt/razzia
$STD pnpm install --frozen-lockfile
$STD pnpm build
msg_ok "Built Razzia"
msg_info "Starting Service"
systemctl start razzia
msg_ok "Started Service"
msg_ok "Updated successfully!"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW}Access it using the following URL:${CL}"
echo -e "${GATEWAY}${BGN}http://${IP}:3000${CL}"
+1 -1
View File
@@ -30,7 +30,7 @@ function update_script() {
exit
fi
NODE_VERSION="24" setup_nodejs
NODE_VERSION="26" setup_nodejs
msg_info "Updating prestart script"
cat <<EOF >/data/tracearr/prestart.sh
+1
View File
@@ -53,6 +53,7 @@ function update_script() {
cd /opt/zerobyte
$STD bun install
$STD node ./node_modules/vite/bin/vite.js build
$STD bun build apps/agent/src/index.ts --outfile .output/agent/index.mjs --target bun
msg_ok "Built Zerobyte"
msg_info "Starting Service"
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://aws.amazon.com/linux/
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Base Dependencies"
$STD dnf install -y hostname procps-ng
msg_ok "Installed Base Dependencies"
motd_ssh
customize
cleanup_lxc
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
NODE_VERSION="24" NODE_MODULE="pnpm" setup_nodejs
NODE_VERSION="26" NODE_MODULE="pnpm" setup_nodejs
PG_VERSION="17" setup_postgresql
PG_DB_NAME="anchor" PG_DB_USER="anchor" setup_postgresql_db
+1 -1
View File
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt install -y sqlite3
msg_ok "Installed Dependencies"
NODE_VERSION="24" setup_nodejs
NODE_VERSION="26" setup_nodejs
fetch_and_deploy_gh_release "guardian" "HydroshieldMKII/Guardian" "tarball" "latest" "/opt/guardian"
msg_info "Configuring ${APPLICATION}"
+1 -1
View File
@@ -15,7 +15,7 @@ update_os
PG_VERSION="16" setup_postgresql
PG_DB_NAME="nametag_db" PG_DB_USER="nametag" setup_postgresql_db
NODE_VERSION="20" setup_nodejs
NODE_VERSION="24" setup_nodejs
fetch_and_deploy_gh_release "nametag" "mattogodoy/nametag" "tarball" "latest" "/opt/nametag"
msg_info "Setting up Application"
+118
View File
@@ -0,0 +1,118 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# Author: Owen Voke (owenvoke)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Ralex91/Razzia
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y nginx
msg_ok "Installed Dependencies"
NODE_VERSION="24" NODE_MODULE="pnpm@11" setup_nodejs
fetch_and_deploy_gh_release "razzia" "Ralex91/Razzia" "tarball"
msg_info "Building Razzia"
cd /opt/razzia
$STD pnpm install --frozen-lockfile
$STD pnpm build
msg_ok "Built Razzia"
msg_info "Configuring Razzia"
mkdir -p /opt/razzia-config
cat <<EOF >/opt/razzia/.env
MANAGER_PASSWORD=$(random_password 16)
JWT_SECRET=$(openssl rand -hex 32)
EOF
msg_ok "Configured Razzia"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/razzia.service
[Unit]
Description=Razzia Socket Server
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/razzia/packages/socket
EnvironmentFile=/opt/razzia/.env
Environment=NODE_ENV=production
Environment=CONFIG_PATH=/opt/razzia-config
ExecStart=/usr/bin/node /opt/razzia/packages/socket/dist/index.cjs
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now razzia
msg_ok "Created Service"
msg_info "Configuring Nginx"
cat <<EOF >/etc/nginx/sites-available/razzia
server {
listen 3000;
server_name _;
root /opt/razzia/packages/web/dist;
index index.html;
location / {
try_files \$uri \$uri/ /index.html;
}
location /branding/ {
alias /opt/razzia-config/branding/;
}
location /media/ {
alias /opt/razzia-config/media/;
types {
image/png png;
image/jpeg jpg;
image/webp webp;
image/gif gif;
audio/mpeg mp3;
audio/ogg ogg;
audio/wav wav;
video/mp4 mp4;
video/webm webm;
}
default_type application/octet-stream;
add_header X-Content-Type-Options nosniff;
}
location /api {
client_max_body_size 101m;
proxy_pass http://127.0.0.1:3001;
proxy_set_header Host \$host;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
location /ws {
proxy_pass http://127.0.0.1:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host \$host;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
}
}
EOF
nginx_enable_site razzia
msg_ok "Configured Nginx"
motd_ssh
customize
cleanup_lxc
+1 -1
View File
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt install -y redis-server
msg_ok "Installed Dependencies"
NODE_VERSION="24" NODE_MODULE="corepack" setup_nodejs
NODE_VERSION="26" NODE_MODULE="corepack" setup_nodejs
PG_VERSION="18" setup_postgresql
msg_info "Installing pnpm"
+1
View File
@@ -53,6 +53,7 @@ export VITE_SHOUTRRR_VERSION=$(cat ~/.shoutrrr)
export NODE_OPTIONS="--max-old-space-size=3072"
$STD bun install
$STD node ./node_modules/vite/bin/vite.js build
$STD bun build apps/agent/src/index.ts --outfile .output/agent/index.mjs --target bun
msg_ok "Built Zerobyte"
msg_info "Configuring Zerobyte"
+162
View File
@@ -0,0 +1,162 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# ==============================================================================
# CachyOS VM - Creates a CachyOS Virtual Machine
# CachyOS is a performance-focused Arch Linux distribution with optimized
# packages, custom kernels, and various desktop environment options.
# ==============================================================================
COMMUNITY_SCRIPTS_URL="${COMMUNITY_SCRIPTS_URL:-https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main}"
source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/pve/vm-core.func")
load_functions
APP="CachyOS"
APP_TYPE="vm"
NSAPP="cachyos-vm"
var_os="cachyos"
var_version=" "
GEN_MAC=02:$(openssl rand -hex 5 | awk '{print toupper($0)}' | sed 's/\(..\)/\1:/g; s/.$//')
RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)"
METHOD=""
THIN="discard=on,ssd=1,"
header_info
echo -e "\n Loading..."
set -Eeo pipefail
shopt -s inherit_errexit
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
trap cleanup EXIT
trap 'post_update_to_api "failed" "130"' SIGINT
trap 'post_update_to_api "failed" "143"' SIGTERM
trap 'post_update_to_api "failed" "129"; exit 129' SIGHUP
vm_require_arch amd64
TEMP_DIR=$(mktemp -d)
pushd "$TEMP_DIR" >/dev/null
vm_preflight
# ==============================================================================
# DEFAULT SETTINGS - Optimized for desktop usage with GUI
# ==============================================================================
function default_settings() {
VMID=$(get_valid_nextid)
vm_apply_machine_type "q35"
DISK_SIZE="40G"
DISK_CACHE=""
HN="cachyos"
CPU_TYPE=" -cpu host"
CORE_COUNT="4"
RAM_SIZE="8192"
BRG="vmbr0"
MAC="$GEN_MAC"
VLAN=""
MTU=""
START_VM="yes"
METHOD="default"
vm_echo_default_settings
}
# ==============================================================================
# ADVANCED SETTINGS
# ==============================================================================
function advanced_settings() {
METHOD="advanced"
vm_prompt_vmid "${VMID:-$(get_valid_nextid)}"
vm_prompt_machine_type "q35"
vm_prompt_disk_size "40G" "Set Disk Size in GiB (Recommended: 40+ for desktop)"
vm_prompt_disk_cache "none"
vm_prompt_hostname "cachyos"
vm_prompt_cpu_model "host"
vm_prompt_cpu_cores "4"
vm_prompt_ram "8192"
vm_prompt_bridge "vmbr0"
vm_prompt_mac "$GEN_MAC"
vm_prompt_vlan
vm_prompt_mtu
vm_prompt_keyboard
vm_prompt_verbose "no"
vm_prompt_start_vm "yes"
if vm_confirm_advanced_settings "Ready to create a CachyOS VM?"; then
echo -e "${CREATING}${BOLD}${DGN}Creating a CachyOS VM using the above advanced settings${CL}"
else
header_info
echo -e "${ADVANCED}${BOLD}${RD}Using Advanced Settings${CL}"
advanced_settings
fi
}
# ==============================================================================
# MAIN EXECUTION
# ==============================================================================
vm_start_script "Use Default Settings?\n\nDefaults:\n• 4 CPU Cores\n• 8 GB RAM\n• 40 GB Disk" 13 58
post_to_api_vm
vm_select_storage "$HN"
# ==============================================================================
# ISO DOWNLOAD
# ==============================================================================
msg_info "Retrieving the URL for the CachyOS Desktop ISO"
# Get latest release version from SourceForge (format: YYMMDD in folder links)
if ! vm_latest_from_index "https://sourceforge.net/projects/cachyos-arch/files/gui-installer/desktop/" 'desktop/\K[0-9]{6}(?=/)'; then
exit 115
fi
CACHYOS_VERSION="$VM_INDEX_LATEST"
var_version="$CACHYOS_VERSION"
# SourceForge download URL with mirror redirect
URL="https://sourceforge.net/projects/cachyos-arch/files/gui-installer/desktop/${CACHYOS_VERSION}/cachyos-desktop-linux-${CACHYOS_VERSION}.iso/download"
FILENAME="cachyos-desktop-linux-${CACHYOS_VERSION}.iso"
vm_select_iso_storage "$FILENAME" "$HN"
CACHE_FILE="$ISO_PATH"
msg_ok "${CL}${BL}CachyOS Desktop ISO (Release: ${CACHYOS_VERSION})${CL}"
# A bad SourceForge mirror serves an HTML notice with status 200, so the size
# decides whether this is an ISO, not curl's exit code.
MIN_ISO_BYTES=$((500 * 1024 * 1024))
[[ -s "$CACHE_FILE" ]] || msg_info "Downloading the CachyOS ISO (approximately 3.1 GB, this may take a while)"
vm_fetch_image "$URL" "$CACHE_FILE" --cache --min-bytes "$MIN_ISO_BYTES" || exit 115
# ==============================================================================
# VM CREATION
# ==============================================================================
msg_info "Creating a CachyOS VM"
vm_claim_vmid
qm create $VMID -agent 1${MACHINE} -tablet 0 -bios ovmf${CPU_TYPE} -cores $CORE_COUNT -memory $RAM_SIZE \
-name $HN -tags community-script -net0 virtio,bridge=$BRG,macaddr=$MAC$VLAN$MTU -onboot 0 -ostype l26 -scsihw virtio-scsi-pci \
-efidisk0 ${STORAGE}:1,efitype=4m,pre-enrolled-keys=0 -scsi0 ${STORAGE}:${DISK_SIZE%G},${DISK_CACHE}${THIN%,} \
-cdrom "$ISO_VOLUME" -boot order='scsi0;ide2' -vga qxl -serial0 socket >/dev/null
vm_mark_created
set_description
msg_ok "Created a CachyOS VM ${CL}${BL}(${HN})"
# ==============================================================================
# START VM
# ==============================================================================
vm_start_vm "CachyOS VM"
# ==============================================================================
# FINAL OUTPUT
# ==============================================================================
vm_print_summary "Version=${CACHYOS_VERSION}" "ISO=${FILENAME}"
vm_next_steps \
"Open the VM Console in Proxmox (noVNC or SPICE)." \
"Boot from the CachyOS ISO." \
"Use the Calamares installer to complete installation." \
"Choose your preferred desktop environment during setup." \
"After installation, detach the ISO; the boot order already prefers the disk."
vm_finish "VM created; complete the CachyOS installation in the Proxmox console."
+1 -1
View File
@@ -259,7 +259,7 @@ post_to_api_vm
vm_select_storage "$HN"
msg_info "Getting URL for OpenWrt Disk Image"
vm_latest_from_index "https://openwrt.org" 'Current stable release - OpenWrt \K[0-9]+\.[0-9]+\.[0-9]+' || exit 115
vm_latest_from_index "https://downloads.openwrt.org/.versions.json" '"stable_version": *"\K[0-9]+\.[0-9]+\.[0-9]+' || exit 115
var_version="$VM_INDEX_LATEST"
URL="https://downloads.openwrt.org/releases/$var_version/targets/x86/64/openwrt-$var_version-x86-64-generic-ext4-combined.img.gz"