Skip to content

make Pulse installation non-interactive #4848

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

rcourtman
Copy link

@rcourtman rcourtman commented May 30, 2025

Description

Streamline Pulse installation to leverage its new web-based configuration system, removing all interactive prompts and manual configuration steps.

Related PR/Issue: #4827 (previous discussion about making Pulse non-interactive)

Prerequisites

  • Self-review – The code follows the project standards
  • Tested – Changes work as expected (removes prompts, uses web config)
  • No security risks – No hardcoded secrets or permission issues

Type of Change

  • 🐞 Bug fix – Resolves the issue of interactive prompts during LXC creation
  • New feature – Leverages Pulse's web-based configuration system
  • 🌍 Website update – Updates JSON note to reflect new configuration method
  • 🔧 Refactoring / Code Cleanup – Simplifies installation process

Changes Made

  1. Removed all interactive prompts - Installation runs completely unattended
  2. Removed .env setup - No longer needed as Pulse handles configuration through web UI
  3. Removed configuration messages - Users configure through the web interface
  4. Changed install directory - From /opt/pulse-proxmox to /opt/pulse for cleaner paths
  5. Updated JSON note - Now mentions web-based setup wizard instead of manual .env editing

Context

Pulse v3.13.0+ features a complete web-based configuration system with automatic setup detection. When users navigate to the URL after installation, Pulse automatically shows a setup wizard for entering Proxmox credentials. No SSH or manual file editing required.

This provides the ideal community script experience - completely hands-off installation with all configuration handled through the modern web interface.

@github-actions github-actions bot added json update script A change that updates a script website A change to the website labels May 30, 2025
@rcourtman rcourtman force-pushed the fix/pulse-non-interactive-setup branch 2 times, most recently from a160c29 to 05a4c7f Compare May 30, 2025 20:08
- 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>
@rcourtman rcourtman force-pushed the fix/pulse-non-interactive-setup branch from 05a4c7f to f8f7466 Compare May 30, 2025 20:10
@rcourtman rcourtman marked this pull request as ready for review May 30, 2025 20:25
@rcourtman rcourtman requested review from a team as code owners May 30, 2025 20:25
@MickLesk
Copy link
Member

MickLesk commented May 30, 2025

I mark this as Breaking change, because Paths Changes and i think an new build (create new LXC) is better

By the way, do you need to edit the pulse.sh too? Because Paths

@MickLesk MickLesk changed the title fix: make Pulse installation non-interactive make Pulse installation non-interactive May 30, 2025
@MickLesk MickLesk added breaking change A change that is not backward compatible feature and removed website A change to the website json labels May 30, 2025
MickLesk
MickLesk previously approved these changes May 30, 2025
tremor021
tremor021 previously approved these changes May 30, 2025
- 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>
@rcourtman rcourtman dismissed stale reviews from tremor021 and MickLesk via 1dce264 May 30, 2025 21:41
@github-actions github-actions bot added json website A change to the website labels May 30, 2025
@rcourtman
Copy link
Author

Good catch! I've updated pulse.sh to align with the new path structure and removed the .env handling since Pulse now uses web-based configuration.

Regarding the path change - you're right it's technically breaking, but it also resolves a potential copyright concern with using 'pulse-proxmox' in the directory name. The new /opt/pulse path is cleaner and avoids any trademark issues. Since this affects the installation script for new containers, existing users won't be impacted unless they recreate their container.

@CrazyWolf13
Copy link
Member

@rcourtman Existing users are definitely impacted, if an existing user will upgrade using the update function, I'll will fail, no?
Because the service still uses the old path, and also the old-path is not removed?

maybe you could do the following:
Detect if the user still has the old pulse-proxmox installation, if so, (up to you to decide)

  • Warn user and fix service files automatically by changing the systemd service via some sed/regex, also remove the old installation.
  • Tell the user to recreate the LXC (more work for user)

@MickLesk
Copy link
Member

555 installs of Pulse

  1. Breaking Change - create new LXC
  2. Migration Part (i think useless, more work for us, for little Help.)

@rcourtman
Copy link
Author

Thanks for the feedback. I apologize for the path change - I understand it may seem unnecessary given the issues it causes, but unfortunately I'm already quite far along this path in my development. This should be the last time the path needs to change.

I've enhanced the migration logic in the Pulse project's installer script (scripts/install-pulse.sh in https://github.com/rcourtman/Pulse) to address the breaking change concerns.

When users with existing /opt/pulse-proxmox installations run the updated installer script, it will automatically:

  • Detect the old installation and migrate it to /opt/pulse
  • Create backup before migration with full rollback capability
  • Update service files and preserve all user data
  • Show clear migration notice and require user confirmation

This minimizes disruption to existing installations while maintaining the cleaner path structure. Users would need to run the installer again and the migration happens automatically.

Would this address your concerns about breaking existing installations?

@rcourtman
Copy link
Author

I can go back to the old path if needed. @MickLesk since you mentioned you use Pulse, perhaps you could try the migration in my install script? If it works, you'll have peace of mind that existing users have an easy path to switch. If it doesn't, we can stick to the old path and I'll make adjustments on my end.

@MickLesk
Copy link
Member

I think we should use the new path, only an Check If old directory "please recreate the LXC after Breaking Change (Link to PR)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change A change that is not backward compatible feature json update script A change that updates a script website A change to the website
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants