Skip to content

feat(install): first-class Ubuntu Server support (#116) - #143

Draft
Jovonni wants to merge 1 commit into
masterfrom
feat/linux-install-support
Draft

feat(install): first-class Ubuntu Server support (#116)#143
Jovonni wants to merge 1 commit into
masterfrom
feat/linux-install-support

Conversation

@Jovonni

@Jovonni Jovonni commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

What

Makes OpenUBA install cleanly on a headless Ubuntu Server, which is the single most common friction point in our issues.

  • Root-cause fix: scripts/start-dev.sh launched port-forwards with the macOS-only open -a Terminal.app, which broke make reset-dev on Linux. It now detects the OS and, on Linux, runs the port-forwards in the background (logged to port-forward.log). macOS behavior is unchanged.
  • Official installer: scripts/install-ubuntu.sh — installs Docker/kubectl/Kind/Node, brings the cluster up, discovers service names, and wires reboot-safe systemd port-forwards (+ optional nginx proxy). Idempotent; configurable via env vars.
  • Guide: docs/INSTALL_UBUNTU.md — architecture, remote access (SSH tunnel), default creds, and a known-issues table. Linked from the README and docs/INSTALL.md.
  • Aligned the README Python prerequisite (3.10+3.9+) with the CI matrix and docs/INSTALL.md.

Credit

Adapted from the detailed community writeup in #116 by @rock0ne — the installer folds their script into the repo, and the guide preserves their known-issue/fix notes. It also resolves their #1 maintainer ask (guard the macOS-only terminal launch) at the source rather than patching it at install time.

Testing

bash -n clean on both scripts. The installer runs against a real server (not exercised in CI, which has no Kind-in-Docker host); the start-dev.sh OS guard is a pure branch with unchanged macOS behavior.

Closes #116

Linux servers couldn't run 'make reset-dev' cleanly: start-dev.sh launched
port-forwards via macOS-only 'open -a Terminal.app'. Guard that behind an OS
check and background the port-forwards on Linux (logged to port-forward.log).

Add an official installer (scripts/install-ubuntu.sh) and an Ubuntu Server
guide (docs/INSTALL_UBUNTU.md), adapted from the community writeup in #116,
and link both from the README and docs/INSTALL.md. Align the README Python
prerequisite with CI (3.9+).

Closes #116
@Jovonni Jovonni mentioned this pull request Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

OpenUBA Setup

1 participant