# Nomad Linux 0.21.8

Install: `sudo bash install.sh --server` or `--desktop`.
Online: `curl -fsSL https://app.nomadnet.ai/releases/linux/install.sh | bash`.
Debian package: `sudo apt install ./Nomad-0.21.8-linux-amd64.deb`, then
`sudo /opt/nomad/install.sh --desktop` (downloads Python and dependencies).

Requires systemd, Internet access for dependency installation, x86_64 or aarch64.
Installer supports apt (Ubuntu/Debian), dnf/yum (RHEL), pacman (Arch).
The archives contain architecture-neutral source, not bundled native binaries;
the installer resolves native Python 3.14 and dependencies on the target machine.

`nomad --help` exposes the full Hermes CLI. `nomad --status` checks the daemon.
`sudo nomad --uninstall` stops/removes the service and launcher, retaining data.
Desktop opens the browser Web UI, not an Electron binary.
The service runs as nomad-agent; its data is under /var/lib/nomad-agent/home.
For CLI access to the same profile run `sudo -u nomad-agent env
HERMES_HOME=/var/lib/nomad-agent/home nomad --profile nomad`.

The UI binds 127.0.0.1:9129. Use `ssh -L 9129:127.0.0.1:9129 your-server`.
Optional /etc/nomad-agent.env accepts NOMAD_BIND and NOMAD_PORT; public exposure
requires authenticated TLS termination. No fixed session token is distributed.
Provider credentials must be configured by the operator.

Nomad Overlay contains Remote Control pairing, cloud-computer UI and the relay
endpoint configuration wss://app.nomadnet.ai/v1/remote. This release does NOT
claim a verified end-to-end WAN relay transport: the available overlay contains
pairing APIs but no independently verified Linux relay client.
Overlay guardrails and telemetry-disabled defaults are included. These are
technical controls, not certification of compliance with Russia's 152-FZ;
provider selection, consent and data residency require operator configuration.

Provenance: Nomad Linux packaging version 0.21.8; Hermes source commit
71d34bad1045610252eda02ee79549436896e784 (base version 0.21.7), and local Nomad
Overlay package (upstream manifest 0.1.0). No Hermes 0.21.8 source was available.
Web assets were recovered from /opt/nomad-v2/nomad_cli/web_dist; compatibility with this backend has not been end-to-end tested. User home, credentials, sessions and logs
from the developer machine are intentionally excluded. See core/LICENSE and
overlay/distribution.yaml for the respective licenses.

## Download and install

Ubuntu/Debian amd64:
```sh
sudo apt install ./Nomad-0.21.8-linux-amd64.deb
sudo /opt/nomad/install.sh --server
```
The deb stages the application; the second command installs dependencies,
creates the service account, installs the Nomad profile and starts the service.
For desktop integration use --desktop instead of --server.

Portable source archive (x64 example; substitute arm64 on ARM64):
```sh
curl -fLO https://app.nomadnet.ai/releases/linux/Nomad-0.21.8-linux-x64.tar.gz
curl -fLO https://app.nomadnet.ai/releases/linux/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
tar -xzf Nomad-0.21.8-linux-x64.tar.gz
sudo bash nomad-linux-pkg/install.sh --server
```
Standalone installer:
```sh
curl -fLO https://app.nomadnet.ai/releases/linux/install.sh
sudo bash install.sh --server
```
Runtime provisioning takes longer than release packaging and requires network
access to OS repositories, Astral Python distributions and Python dependencies.
Both tarballs carry the same portable source; no x86 binaries are shipped in ARM64.

## CLI and service management
```sh
nomad --version
nomad --help
nomad --status
sudo systemctl start nomad-agent
sudo systemctl stop nomad-agent
sudo systemctl restart nomad-agent
sudo systemctl enable nomad-agent
sudo systemctl disable nomad-agent
sudo journalctl -u nomad-agent -f
sudo -u nomad-agent env HOME=/var/lib/nomad-agent HERMES_HOME=/var/lib/nomad-agent/home nomad --profile nomad
```
CLI invocations normally use the invoking user's home. The last command selects
the service's profile. Configure providers using the CLI help/setup workflow.
Run `nomad desktop` from a graphical session to open the browser.

## Web UI and configuration
Browse http://127.0.0.1:9129 on the installed machine. For a remote server:
```sh
ssh -N -L 9129:127.0.0.1:9129 user@server
```
Then open the same URL locally. Optional /etc/nomad-agent.env:
```ini
NOMAD_BIND=127.0.0.1
NOMAD_PORT=9129
```
Restart the service after changes. Inspect journalctl on startup failure.
Do not run a second `nomad serve` while the service occupies the same port.
Back up /var/lib/nomad-agent/home while the service is stopped.

## Removal
```sh
sudo nomad --uninstall
# If installed with the Debian package:
sudo apt remove nomad-agent
```
The installer retains /opt/nomad and service data for recovery; apt removes
package-owned application files. Service data is not purged automatically.

## Feature verification limits
WAN Relay pairing/configuration is included in the overlay, but a working Linux
WAN transport was not established by this build. The service starts the Web UI;
it must not be represented as a verified relay daemon. 152-FZ related guardrails
are included as application controls, not a complete or certified compliance
contour. Runtime installation and distribution-specific smoke tests are pending.
