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.
74 lines
1.6 KiB
Bash
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
|