Files
n_os_tr/docs/RUNNING.md

2.7 KiB

Running n-OS-tr ISO (Manual-Start Baseline)

This ISO now boots to a plain Debian login prompt.

No n-OS-tr services auto-start at boot. This is intentional for deterministic troubleshooting.

Boot posture

At boot, these units are disabled by default:

  • n-os-tr-firstboot.service
  • nostr-id.service
  • nostr-id-tui.service
  • nostr-id-tui-services.service
  • didactyl.service
  • c-relay.service
  • ginxsom.service
  • fips.service
  • fips-dns.service
  • nginx.service
  • nostr-config-loader.service
  • nostr-config-writer.service
  • ssh.service
  • tor.service

Default Debian getty/login remains on tty1/tty2/tty3+.

Virtual terminals

Use Linux VT hotkeys:

  • Ctrl+Alt+F1 → tty1
  • Ctrl+Alt+F2 → tty2
  • Ctrl+Alt+F3 → tty3
  • Ctrl+Alt+F4..F6 → additional shells

Use one control shell for commands: tty3 (recommended).

  • tty1: run n_signer directly in foreground
  • tty2: optional service-menu UI (if started)
  • tty3: your command shell for setup/service commands

Step-by-step

  1. Log in on tty3 only (Ctrl+Alt+F3).

  2. On tty3, run first-boot provisioning:

sudo systemctl start n-os-tr-firstboot.service
  1. Switch to tty1 (Ctrl+Alt+F1) and start signer directly:
sudo /usr/local/bin/n_signer \
  --socket n_os_tr \
  --preapprove caller=uid:0,nostr_index=0 \
  --preapprove caller=uid:0,nostr_index=1 \
  --preapprove caller=uid:0,nostr_index=2 \
  --preapprove caller=uid:0,nostr_index=3 \
  --preapprove caller=uid:0,nostr_index=5
  1. Keep signer running on tty1, then switch back to tty3 (Ctrl+Alt+F3).

  2. Optional service start commands are run from tty3 (not separate terminals required):

sudo systemctl start nginx.service
sudo systemctl start ginxsom.service
sudo systemctl start c-relay.service
sudo systemctl start fips.service

Status and logs

Check core/optional service states:

systemctl --no-pager --full status n-os-tr-firstboot.service nginx.service ginxsom.service c-relay.service fips.service

Tail unit logs:

pgrep -a n_signer
journalctl -fu nginx.service

Or standard journalctl:

journalctl -u n-os-tr-firstboot.service
journalctl -u nostr-id-tui-services.service
journalctl -u nginx.service

Endpoints (when services are started)

  • Landing page: https://localhost/
  • Relay websocket: wss://localhost/relay
  • Relay admin/API: https://localhost/admin/

Smoke test

Run:

n-os-tr-smoketest

No-color output:

NO_COLOR=1 n-os-tr-smoketest

Notes

  • Identity remains ephemeral by default unless explicitly persisted.
  • Manual-start mode is intended to isolate failures stage-by-stage.