Update Proxmox installer to Debian 13 and make CH341 host udev rule optional #143

Closed
opened 2026-10-27 09:35:19 +01:00 by adam · 3 comments
Owner

Summary

Update scripts/proxmox-install.sh to use a Debian 13 LXC template instead of Debian 12, and make installation of the host-side CH341 udev rule an explicit user choice.

Current behavior

  • CT_TEMPLATE is set to debian-12-standard.
  • The installer says it is downloading a Debian 12 template.
  • The installer always writes /etc/udev/rules.d/99-ch341.rules on the Proxmox host and reloads/triggers udev.

The host-side CH341 rule is only needed for direct CH341 radio passthrough. It is not required when using openHop Modem over TCP or USB, so the installer should not modify the host automatically in those setups.

Requested changes

  • Change the LXC template to debian-13-standard.
  • Update installer output and relevant documentation to say Debian 13.
  • Ask whether to install the host-side CH341 udev rule before writing it.
  • Default that prompt to No so openHop Modem TCP/USB users can skip the unnecessary host modification.
  • Only write /etc/udev/rules.d/99-ch341.rules and reload/trigger udev when the user opts in.
  • Preserve the existing direct-CH341 setup path for users who select Yes.

Acceptance criteria

  • A default install selects the latest available Debian 13 standard template.
  • Declining the CH341 udev prompt leaves the host udev configuration unchanged.
  • Accepting the prompt installs the existing CH341 rule and reloads udev.
  • The prompt works correctly when the installer is launched with the documented bash -c "$(curl -fsSL ...)" command.
  • bash -n scripts/proxmox-install.sh and the mocked interactive prompt flow pass.
## Summary Update `scripts/proxmox-install.sh` to use a Debian 13 LXC template instead of Debian 12, and make installation of the host-side CH341 udev rule an explicit user choice. ## Current behavior - `CT_TEMPLATE` is set to `debian-12-standard`. - The installer says it is downloading a Debian 12 template. - The installer always writes `/etc/udev/rules.d/99-ch341.rules` on the Proxmox host and reloads/triggers udev. The host-side CH341 rule is only needed for direct CH341 radio passthrough. It is not required when using openHop Modem over TCP or USB, so the installer should not modify the host automatically in those setups. ## Requested changes - Change the LXC template to `debian-13-standard`. - Update installer output and relevant documentation to say Debian 13. - Ask whether to install the host-side CH341 udev rule before writing it. - Default that prompt to **No** so openHop Modem TCP/USB users can skip the unnecessary host modification. - Only write `/etc/udev/rules.d/99-ch341.rules` and reload/trigger udev when the user opts in. - Preserve the existing direct-CH341 setup path for users who select Yes. ## Acceptance criteria - A default install selects the latest available Debian 13 standard template. - Declining the CH341 udev prompt leaves the host udev configuration unchanged. - Accepting the prompt installs the existing CH341 rule and reloads udev. - The prompt works correctly when the installer is launched with the documented `bash -c "$(curl -fsSL ...)"` command. - `bash -n scripts/proxmox-install.sh` and the mocked interactive prompt flow pass. <!-- github-sync-id:5288334134 -->
adam closed this issue 2026-10-27 09:35:19 +01:00
Author
Owner

Additional request: add an update command

The installer should add a simple update command inside the LXC for updating both the operating system and openHop Repeater.

Suggested flow:

  1. Update and upgrade the LXC's Debian packages with APT.
  2. Go to the installer clone at /root/openhop-repeater.
  3. Pull the latest changes for the currently selected branch using a fast-forward-only pull.
  4. Run bash manage.sh upgrade from that repository.

The command should stop on failure rather than continuing with a partial update, and should preserve the branch selected during installation. The completion/MOTD output should mention the new update command so operators can discover it.

## Additional request: add an `update` command The installer should add a simple `update` command inside the LXC for updating both the operating system and openHop Repeater. Suggested flow: 1. Update and upgrade the LXC's Debian packages with APT. 2. Go to the installer clone at `/root/openhop-repeater`. 3. Pull the latest changes for the currently selected branch using a fast-forward-only pull. 4. Run `bash manage.sh upgrade` from that repository. The command should stop on failure rather than continuing with a partial update, and should preserve the branch selected during installation. The completion/MOTD output should mention the new `update` command so operators can discover it. <!-- github-comment-id:5464315930 -->
Author
Owner

Additional request: optional openHop Console WebUI

Before installation begins, ask whether the user would also like to install the openHop Console WebUI.

This should be an explicit opt-in choice rather than an automatic installation. The confirmation summary should show whether Console WebUI installation is enabled, and the installer should only run the Console setup path when the user selects Yes.

Console can only be installed after openhop is installed. and it shouldnt be set to default once installed. as users need to complete the repeater setup wizard.

## Additional request: optional openHop Console WebUI Before installation begins, ask whether the user would also like to install the openHop Console WebUI. This should be an explicit opt-in choice rather than an automatic installation. The confirmation summary should show whether Console WebUI installation is enabled, and the installer should only run the Console setup path when the user selects Yes. Console can only be installed after openhop is installed. and it shouldnt be set to default once installed. as users need to complete the repeater setup wizard. <!-- github-comment-id:5464315996 -->
Author
Owner

Closing this as implemented on dev by PR #419.

The installer now selects Debian 13 and makes the host CH341 udev rule opt-in, defaulting to No. The later update-helper and optional Console requests are also included.

Fix locations: template/defaults, interactive choices, and conditional udev installation.

The installer tests and isolated interactive prompt checks passed: declining leaves the temporary rule absent; accepting creates it and invokes the stubbed reload/trigger commands. This was source/mock verification, not a fresh full Proxmox installation.

Closing this as implemented on `dev` by [PR #419](https://github.com/openhop-dev/openhop_repeater/pull/419). The installer now selects Debian 13 and makes the host CH341 udev rule opt-in, defaulting to No. The later update-helper and optional Console requests are also included. Fix locations: [template/defaults](https://github.com/openhop-dev/openhop_repeater/blob/ab7479c55c01fb0163c0032f854e04917eedab90/scripts/proxmox-install.sh#L16-L32), [interactive choices](https://github.com/openhop-dev/openhop_repeater/blob/ab7479c55c01fb0163c0032f854e04917eedab90/scripts/proxmox-install.sh#L143-L170), and [conditional udev installation](https://github.com/openhop-dev/openhop_repeater/blob/ab7479c55c01fb0163c0032f854e04917eedab90/scripts/proxmox-install.sh#L223-L231). The installer tests and isolated interactive prompt checks passed: declining leaves the temporary rule absent; accepting creates it and invokes the stubbed reload/trigger commands. This was source/mock verification, not a fresh full Proxmox installation. <!-- github-comment-id:5588241912 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/pyMC_Repeater#143