mirror of
https://github.com/Heretek-AI/ProxmoxVED.git
synced 2026-07-01 12:42:58 -04:00
clean up
This commit is contained in:
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -fsSL https://raw.githubusercontent.com/community-unscripted/ProxmoxVED/main/misc/build.func)
|
||||
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: community-scripts
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
|
||||
# Source: https://github.com/mcmonkeyprojects/SwarmUI
|
||||
|
||||
APP="SwarmUI"
|
||||
var_tags="${var_tags:-ai}"
|
||||
var_cpu="${var_cpu:-4}"
|
||||
var_ram="${var_ram:-8192}"
|
||||
var_disk="${var_disk:-50}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
var_gpu="${var_gpu:-yes}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -d /opt/swarmui ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
cd /opt/swarmui
|
||||
LOCAL_VERSION=$(git rev-parse HEAD)
|
||||
REMOTE_VERSION=$(git ls-remote origin HEAD | awk '{print $1}')
|
||||
|
||||
if [[ "$LOCAL_VERSION" != "$REMOTE_VERSION" ]]; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop swarmui
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
msg_info "Backing up Data"
|
||||
cp -r /opt/swarmui/Data /opt/swarmui_data_backup
|
||||
cp -r /opt/swarmui/Models /opt/swarmui_models_backup 2>/dev/null || true
|
||||
cp -r /opt/swarmui/Output /opt/swarmui_output_backup 2>/dev/null || true
|
||||
msg_ok "Backed up Data"
|
||||
|
||||
msg_info "Updating SwarmUI"
|
||||
$STD git fetch origin
|
||||
$STD git reset --hard origin/main
|
||||
msg_ok "Updated SwarmUI"
|
||||
|
||||
msg_info "Rebuilding SwarmUI"
|
||||
$STD dotnet build src/SwarmUI.csproj --configuration Release -o ./bin
|
||||
msg_ok "Rebuilt SwarmUI"
|
||||
|
||||
msg_info "Restoring Data"
|
||||
cp -r /opt/swarmui_data_backup/. /opt/swarmui/Data/
|
||||
cp -r /opt/swarmui_models_backup/. /opt/swarmui/Models/ 2>/dev/null || true
|
||||
cp -r /opt/swarmui_output_backup/. /opt/swarmui/Output/ 2>/dev/null || true
|
||||
rm -rf /opt/swarmui_data_backup /opt/swarmui_models_backup /opt/swarmui_output_backup
|
||||
msg_ok "Restored Data"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start swarmui
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated successfully!"
|
||||
else
|
||||
msg_info "No update required. SwarmUI is already up to date."
|
||||
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 "${TAB}${GATEWAY}${BGN}http://${IP}:7801${CL}"
|
||||
@@ -1,42 +0,0 @@
|
||||
{
|
||||
"name": "Agregarr",
|
||||
"slug": "agregarr",
|
||||
"categories": [13],
|
||||
"date_created": "2026-03-08",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 7171,
|
||||
"documentation": "https://agregarr.org/docs/",
|
||||
"website": "https://github.com/agregarr/agregarr",
|
||||
"logo": "https://raw.githubusercontent.com/agregarr/agregarr/main/public/logo_full.svg",
|
||||
"config_path": "/opt/agregarr/config",
|
||||
"description": "Agregarr keeps your Plex Home and Recommended fresh by frequently updating it with Collections from various sources, including Trakt, IMDb, TMDB, Letterboxd, MDBList, FlixPatrol, AniList and MyAnimeList.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/agregarr.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 4096,
|
||||
"hdd": 8,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Configuration is created on first run. Access the web UI to complete setup.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Requires connection to Plex, Radarr/Sonarr, and/or Overseerr for full functionality.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
{
|
||||
"name": "Lemonade",
|
||||
"slug": "lemonade",
|
||||
"categories": [
|
||||
20
|
||||
],
|
||||
"date_created": "2026-03-06",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 8000,
|
||||
"documentation": "https://lemonade-server.ai/docs/",
|
||||
"config_path": "/etc/lemonade/lemonade.conf",
|
||||
"website": "https://lemonade-server.ai/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/lemonade.webp",
|
||||
"description": "Lemonade is a lightweight LLM inference server with OpenAI-compatible APIs, supporting multiple backends including CPU, Vulkan, and ROCm.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/lemonade.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 4096,
|
||||
"hdd": 10,
|
||||
"os": "Debian",
|
||||
"version": "13"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Lemonade Server provides an OpenAI-compatible API for LLM inference.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Server listens on local IP by default - accessible from your network.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Configuration file: /etc/lemonade/lemonade.conf - customize host and port settings.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "API keys are stored in /etc/lemonade/secrets.conf - add your API keys there and restart the service.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Supports CPU and Vulkan backends currently; ROCm support for AMD GPUs is planned.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
{
|
||||
"name": "AMD ROCm",
|
||||
"slug": "rocm",
|
||||
"categories": [
|
||||
20
|
||||
],
|
||||
"date_created": "2026-03-06",
|
||||
"type": "addon",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": null,
|
||||
"documentation": "https://rocm.docs.amd.com/",
|
||||
"website": "https://rocm.docs.amd.com/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/amd.webp",
|
||||
"config_path": "/etc/profile.d/rocm.sh",
|
||||
"description": "AMD ROCm (Radeon Open Compute) is a software stack for GPU programming on AMD GPUs. It provides a comprehensive development platform for high-performance computing and machine learning applications.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "tools/addon/rocm.sh",
|
||||
"resources": {
|
||||
"cpu": null,
|
||||
"ram": null,
|
||||
"hdd": null,
|
||||
"os": null,
|
||||
"version": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "Execute within an existing LXC Console",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Supported OS: Debian 12, Debian 13, Ubuntu 22.04, Ubuntu 24.04",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Requires GPU passthrough to the LXC container before installation",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "GPU passthrough: Find the GID from 'ls -la /dev/dri/renderD128' on host, then add to as a new device to /etc/pve/lxc/<CTID>.conf: dev<#>: /dev/kfd,gid=<GID>",
|
||||
"type": "warning"
|
||||
},
|
||||
{
|
||||
"text": "After installation, run 'source /etc/profile.d/rocm.sh' or log out/in to update PATH",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "Verify installation with: rocminfo and rocm-smi commands",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"text": "If rocminfo shows 'Unable to open /dev/kfd', GPU passthrough is not configured correctly",
|
||||
"type": "warning"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,123 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: community-scripts
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
|
||||
# Source: https://github.com/mcmonkeyprojects/SwarmUI
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
setup_deb822_repo \
|
||||
"microsoft" \
|
||||
"https://packages.microsoft.com/keys/microsoft-2025.asc" \
|
||||
"https://packages.microsoft.com/debian/13/prod/" \
|
||||
"trixie" \
|
||||
"main"
|
||||
$STD apt install -y \
|
||||
git \
|
||||
libicu-dev \
|
||||
libssl-dev \
|
||||
dotnet-sdk-8.0 \
|
||||
aspnetcore-runtime-8.0 \
|
||||
python3-full \
|
||||
python3-pip \
|
||||
python3-venv
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Cloning SwarmUI"
|
||||
mkdir -p /opt/swarmui
|
||||
$STD git clone https://github.com/mcmonkeyprojects/SwarmUI.git /opt/swarmui
|
||||
cd /opt/swarmui
|
||||
msg_ok "Cloned SwarmUI"
|
||||
|
||||
msg_info "Building SwarmUI"
|
||||
$STD dotnet build src/SwarmUI.csproj --configuration Release -o ./bin
|
||||
msg_ok "Built SwarmUI"
|
||||
|
||||
msg_info "Setting up ComfyUI Backend"
|
||||
mkdir -p /opt/swarmui/dlbackend
|
||||
cd /opt/swarmui/dlbackend
|
||||
$STD git clone https://github.com/comfyanonymous/ComfyUI.git comfy
|
||||
cd comfy
|
||||
$STD python3 -m venv /opt/swarmui/dlbackend/comfy/venv
|
||||
source /opt/swarmui/dlbackend/comfy/venv/bin/activate
|
||||
|
||||
PYTORCH_INDEX="https://download.pytorch.org/whl/cpu"
|
||||
if command -v nvidia-smi &>/dev/null && nvidia-smi &>/dev/null; then
|
||||
PYTORCH_INDEX="https://download.pytorch.org/whl/cu128"
|
||||
msg_info "NVIDIA GPU detected - installing PyTorch with CUDA 12.8 support"
|
||||
elif [[ -d /dev/dri ]] && ls /dev/dri/render* &>/dev/null; then
|
||||
PYTORCH_INDEX="https://download.pytorch.org/whl/rocm7.1"
|
||||
msg_info "AMD GPU detected - installing PyTorch with ROCm 7.1 support"
|
||||
else
|
||||
msg_info "No GPU detected - installing PyTorch CPU version"
|
||||
fi
|
||||
$STD pip install torch torchvision torchaudio --index-url "$PYTORCH_INDEX"
|
||||
$STD pip install -r requirements.txt
|
||||
deactivate
|
||||
msg_ok "Set up ComfyUI Backend"
|
||||
|
||||
msg_info "Creating Directories"
|
||||
mkdir -p /opt/swarmui/Data
|
||||
mkdir -p /opt/swarmui/Models
|
||||
mkdir -p /opt/swarmui/Output
|
||||
msg_ok "Created Directories"
|
||||
|
||||
msg_info "Configuring SwarmUI"
|
||||
cat <<EOF >/opt/swarmui/Data/Settings.yaml
|
||||
# SwarmUI Configuration
|
||||
# For full documentation, see: https://github.com/mcmonkeyprojects/SwarmUI
|
||||
|
||||
# Network Settings
|
||||
host: 0.0.0.0
|
||||
port: 7801
|
||||
|
||||
# Paths
|
||||
data_path: Data
|
||||
model_path: Models
|
||||
output_path: Output
|
||||
|
||||
# Backend Settings
|
||||
backends:
|
||||
- type: comfyui
|
||||
name: local_comfyui
|
||||
path: dlbackend/comfy
|
||||
enabled: true
|
||||
|
||||
# Environment
|
||||
environment: production
|
||||
EOF
|
||||
msg_ok "Configured SwarmUI"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/swarmui.service
|
||||
[Unit]
|
||||
Description=SwarmUI - Stable Diffusion WebUI
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
WorkingDirectory=/opt/swarmui
|
||||
ExecStart=/usr/bin/dotnet /opt/swarmui/bin/SwarmUI.dll --launch_mode none --host 0.0.0.0
|
||||
Environment=ASPNETCORE_URLS=http://0.0.0.0:7801
|
||||
Environment=DOTNET_CONTENTROOT=/opt/swarmui
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q --now swarmui
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
Reference in New Issue
Block a user