Files
reterminal-dm4/chromium-setup/emmc-provisioning/scripts/deploy-dashboard-to-lxc.sh

31 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# Deploy only the dashboard to the LXC by IP (no Proxmox host needed).
# Usage: ./deploy-dashboard-to-lxc.sh [user@lxc_ip]
# Example: ./deploy-dashboard-to-lxc.sh root@10.130.60.119
set -e
LXC="${1:-root@10.130.60.119}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_DIR="$(dirname "$SCRIPT_DIR")"
DASHBOARD_DIR="$REPO_DIR/dashboard"
REMOTE_DIR="/opt/cm4-provisioning/dashboard"
if [[ ! -d "$DASHBOARD_DIR" ]]; then
echo "Error: dashboard dir not found: $DASHBOARD_DIR"
exit 1
fi
echo "Deploying dashboard to $LXC ($REMOTE_DIR) ..."
ssh "$LXC" "mkdir -p $REMOTE_DIR/templates"
scp -q "$DASHBOARD_DIR/app.py" "$DASHBOARD_DIR/cm4-dashboard.service" "$LXC:$REMOTE_DIR/"
for f in "$DASHBOARD_DIR"/templates/*; do
[[ -f "$f" ]] && scp -q "$f" "$LXC:$REMOTE_DIR/templates/"
done
echo "Installing systemd unit and restarting ..."
ssh "$LXC" "cp $REMOTE_DIR/cm4-dashboard.service /etc/systemd/system/ && systemctl daemon-reload && systemctl restart cm4-dashboard && systemctl is-active --quiet cm4-dashboard && echo 'Dashboard restarted and running.'"
echo "Done. Dashboard at http://$(echo "$LXC" | cut -d@ -f2):5000"