Change Release Channel
One unified Settings option to switch ProxMenux between the Stable (main branch) and Beta (develop branch) channels. The previous one-way 'Deactivate Beta Program' has been replaced by a bidirectional dialog that always offers both directions and runs the official installer for whichever channel you pick.
What changed
Why this option exists
ProxMenux ships from two git branches:
- Stable — the
mainbranch. What the README points at, what most operators want, with a slower release cadence and only changes that have already been through beta validation. - Beta — the
developbranch. Newer features and Monitor builds; carries the tag the next stable release will inherit. Some things may not work perfectly — that's the deal you sign up for and the way new features get tested before they ship.
Hopping between channels used to require remembering the right installer URL, copying it in from the README, and editing config.json by hand if something got out of sync. The unified option does the whole flow as a single guided action.
The dialog
From the main menu, Settings → Change Release Channel. A two-line menu shows up:
stable— Stable (main branch)beta— Beta (develop branch)
The current channel is pre-selected and shown at the top of the menu. Picking the same channel returns a friendly “This release channel is already active” message — the dialog is fully idempotent. Picking a different channel pops up a confirmation with channel-specific text:
- Stable → Beta: warns that beta builds may contain bugs or incomplete features.
- Beta → Stable: warns that beta update checks will stop and the stable installer will reinstall the Stable channel components.
What happens when you confirm
- Downloads the official installer for the target channel:
- Stable:
install_proxmenux.shfrommain - Beta:
install_proxmenux_beta.shfromdevelop
- Stable:
- Runs the installer end-to-end. The installer is the same one the README publishes — no custom path, no shortcut. That means existing component detection, file backups, dependency installs, language preservation, etc. all behave identically to a fresh install of the target channel.
- When switching to Stable, the menu then prunes any leftover beta metadata from
config.json:beta_program,beta_version,install_branch,update_available.beta*are deleted, andproxmenux_monitor.status = beta_updatedis normalised toupdated. The leftoverbeta_version.txtfile and any downloaded beta installer are removed. - When switching to Stable, the Monitor systemd unit file is also re-written from the Stable template (drops the “Beta” suffix from the unit description, points
ExecStartback at the runtime dir) so a freshsystemctl statusreflects the channel you're on. - Reloads the configuration menu. The next visit to Show Version Information will show the new channel.
Switching back and forth
Both directions go through the same installer — they are not special-cased uninstall + reinstall flows. Each direction simply runs the channel's own installer, which is designed to be idempotent and safe to re-execute over an existing install. Practical consequences:
- Your existing config, ProxMenux Monitor login (
auth.json), notification channels, post-install registry, custom thresholds — none of those are touched. The channel switch only swaps the script tree and the binary AppImage. - A Monitor that was active before the switch stays active after; one that was deactivated stays deactivated.
- ProxMenux Monitor
auth.json, API tokens and the JWT secret are preserved across channel changes. Sessions don't get logged out. - You can flip channels as many times as you like — the dialog will accept it every time and rerun the installer. No restart of Proxmox is required.
Reporting issues from the beta
If something behaves unexpectedly while you're on the Beta channel, opening an issue with enough context is what closes the gap to a stable release. The most useful report includes:
- What you did and what you expected to happen.
- Any error messages shown on screen.
- The relevant Monitor logs:
journalctl -u proxmenux-monitor -n 50 --no-pager
- The current ProxMenux version (Settings → Show Version Information).
Open a GitHub Issue with that information and we get to the fix faster.
Manual equivalent
If you prefer the shell or are scripting the channel switch, the dialog is just a thin wrapper around these commands:
# Check current channel (returns "beta" or "stable") jq -r '.beta_program.status // "stable"' /usr/local/share/proxmenux/config.json # Switch to Stable bash -c "$(wget -qLO - https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh)" # Switch to Beta bash -c "$(wget -qLO - https://raw.githubusercontent.com/MacRimi/ProxMenux/develop/install_proxmenux_beta.sh)"
Why both directions are now one option
beta_* metadata to be sure. The unified Change Release Channel option always shows up, makes the current channel explicit, and treats both directions as the same kind of operation — runnable, repeatable, idempotent.Troubleshooting
“Could not download the installer”
raw.githubusercontent.com failed. Check connectivity and DNS from the host:curl -fsSL -o /tmp/test https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh && head -1 /tmp/testIf this fails outside ProxMenux, it's a network / proxy issue on the host.
“Installer finished with errors”
“Could not update config file” after switching to Stable
config.json has a syntax error from a manual edit. Validate it:jq . /usr/local/share/proxmenux/config.jsonFix or restore the file and rerun the option.
Related
- Show Version Information — confirm which channel is active now.
- ProxMenux Monitor — the Monitor service that gets rebuilt as part of the switch.
- Settings overview.