Files
ProxmoxVEDHelperScripts/install/xyops-install.sh
MickLesk df5d0679ec Add Stoatchat and xyOps container/install scripts
Introduce new container templates, installers, and metadata for Stoatchat and xyOps. Adds ct scripts (ct/stoatchat.sh, ct/xyops.sh), full install scripts (install/stoatchat-install.sh, install/xyops-install.sh) that provision dependencies, build components, and create systemd services, plus app metadata JSON (json/stoatchat.json, json/xyops.json). Stoatchat installer handles Rust backend build, SolidJS frontend build, MinIO, RabbitMQ, MongoDB, nginx reverse proxy and multiple backend services (exposes on port 80). xyOps installer builds the Node app, sets up the xySat satellite, service unit, and uses port 5522 for the web UI. Default resource recommendations and notes are included in the JSON metadata.
2026-05-08 09:14:20 +02:00

74 lines
1.6 KiB
Bash

#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE
# Source: https://github.com/pixlcore/xyops
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 \
build-essential \
python3 \
python3-setuptools \
pkg-config \
libssl-dev \
zlib1g-dev
msg_ok "Installed Dependencies"
NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "xyops" "pixlcore/xyops" "tarball"
msg_info "Building Application"
cd /opt/xyops
$STD npm install
$STD node bin/build.js dist
chmod 644 /opt/xyops/node_modules/useragent-ng/lib/regexps.js
msg_ok "Built Application"
fetch_and_deploy_gh_release "xysat" "pixlcore/xysat" "tarball" "latest" "/opt/xyops/satellite"
msg_info "Building xySat Satellite"
cd /opt/xyops/satellite
$STD npm install
msg_ok "Built xySat Satellite"
msg_info "Setting up Directories"
mkdir -p /opt/xyops/data /opt/xyops/logs /opt/xyops/temp /opt/xyops/conf
msg_ok "Set up Directories"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/xyops.service
[Unit]
Description=xyOps Task Scheduler and Server Monitor
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/xyops
Environment=XYOPS_foreground=1
Environment=XYOPS_xysat_local=1
Environment=XYOPS_masters=${LOCAL_IP}
ExecStart=/usr/bin/node /opt/xyops/lib/main.js
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now xyops
msg_ok "Created Service"
motd_ssh
customize
cleanup_lxc