
* fix: streamline Pulse installation for web-based configuration - Remove all interactive prompts during installation - Remove .env setup (handled by web UI) - Remove configuration messages (handled by web UI) - Change install directory from /opt/pulse-proxmox to /opt/pulse - Update JSON note to reflect web-based setup wizard Pulse now features a complete web-based configuration system with automatic setup detection, making manual .env configuration obsolete. The new workflow: 1. Script installs Pulse without any user interaction 2. Service starts automatically 3. User navigates to the provided URL 4. Pulse shows setup wizard for configuration 5. No SSH or manual file editing required This provides the ideal community script experience - completely hands-off installation with configuration through the web interface. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Update pulse.sh to align with non-interactive installation - Change paths from /opt/pulse-proxmox to /opt/pulse - Remove .env file backup/restore logic since Pulse now uses web-based configuration - Simplify permissions setting to match new installation approach 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * little fixes * Update pulse.sh --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
80 lines
1.9 KiB
Bash
80 lines
1.9 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Copyright (c) 2021-2025 community-scripts ORG
|
|
# Author: rcourtman
|
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
# Source: https://github.com/rcourtman/Pulse
|
|
|
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
|
|
|
color
|
|
verb_ip6
|
|
catch_errors
|
|
setting_up_container
|
|
network_check
|
|
update_os
|
|
|
|
msg_info "Installing Dependencies"
|
|
$STD apt-get install -y \
|
|
diffutils
|
|
msg_ok "Installed Dependencies"
|
|
|
|
msg_info "Creating dedicated user pulse..."
|
|
if useradd -r -m -d /opt/pulse-home -s /bin/bash pulse; then
|
|
msg_ok "User created."
|
|
else
|
|
msg_error "User creation failed."
|
|
exit 1
|
|
fi
|
|
|
|
NODE_VERSION="20" install_node_and_modules
|
|
|
|
msg_info "Setup Pulse"
|
|
RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
|
temp_file=$(mktemp)
|
|
mkdir -p /opt/pulse
|
|
curl -fsSL "https://github.com/rcourtman/Pulse/releases/download/v${RELEASE}/pulse-v${RELEASE}.tar.gz" -o "$temp_file"
|
|
tar zxf "$temp_file" --strip-components=1 -C /opt/pulse
|
|
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
|
msg_ok "Installed Pulse"
|
|
|
|
|
|
msg_info "Setting permissions for /opt/pulse..."
|
|
chown -R pulse:pulse "/opt/pulse"
|
|
find "/opt/pulse" -type d -exec chmod 755 {} \;
|
|
find "/opt/pulse" -type f -exec chmod 644 {} \;
|
|
msg_ok "Set permissions."
|
|
|
|
msg_info "Creating Service"
|
|
cat <<EOF >/etc/systemd/system/pulse.service
|
|
[Unit]
|
|
Description=Pulse Monitoring Application
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=pulse
|
|
Group=pulse
|
|
WorkingDirectory=/opt/pulse
|
|
EnvironmentFile=/opt/pulse/.env
|
|
ExecStart=/usr/bin/npm run start
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
systemctl enable -q --now pulse
|
|
msg_ok "Created Service"
|
|
|
|
motd_ssh
|
|
customize
|
|
|
|
msg_info "Cleaning up"
|
|
rm -f "$temp_file"
|
|
$STD apt-get -y autoremove
|
|
$STD apt-get -y autoclean
|
|
msg_ok "Cleaned"
|