Install on RHEL / Fedora
This guide covers installing Astromesh Node on RPM-based Linux distributions: RHEL 9+, Fedora 38+, CentOS Stream 9+, and AlmaLinux/Rocky Linux 9+.
Prerequisites
Section titled “Prerequisites”| Requirement | Version | Check |
|---|---|---|
| RHEL / Fedora / CentOS | RHEL 9+ / Fedora 38+ | cat /etc/os-release |
| systemd | 250+ | systemctl --version |
| Python | None — the package carries its own CPython 3.12 in /opt/astromesh/python (since v0.1.8) | — |
| Architecture | x86_64 only | uname -m |
| Network | Outbound to LLM provider or local Ollama | — |
Download the Package
Section titled “Download the Package”Node packages are attached to the node-v* releases on GitHub (the repository’s “latest” release is the core, so releases/latest/download/... does not find them):
VERSION=0.1.10curl -LO https://github.com/monaccode/astromesh/releases/download/node-v${VERSION}/astromesh-node-${VERSION}-1.x86_64.rpmInstall
Section titled “Install”sudo dnf install ./astromesh-node-${VERSION}-1.x86_64.rpmVerify the installation:
astromeshctl versionExpected output:
astromesh-cli 0.3.1astromesh core 0.61.0Configure
Section titled “Configure”Run the interactive wizard to generate your configuration:
sudo astromeshctl initFor a non-interactive setup:
sudo astromeshctl init --role full --non-interactiveThis creates /etc/astromesh/runtime.yaml, providers.yaml and, if you entered a provider API key, .env (loaded by the systemd unit). The package already installs sample agents in /etc/astromesh/agents/.
See Configuration for the full runtime.yaml schema and the roles.
SELinux Considerations
Section titled “SELinux Considerations”The package ships no SELinux policy module. On systems with SELinux enforcing, if you encounter denials:
# Check for SELinux denialssudo ausearch -c astromeshd -m avc
# Generate a local policy module if neededsudo ausearch -c astromeshd -m avc | audit2allow -M astromesh_localsudo semodule -i astromesh_local.ppFirewall (firewalld)
Section titled “Firewall (firewalld)”To allow external access to the API port:
sudo firewall-cmd --permanent --add-port=8000/tcpsudo firewall-cmd --reloadStart the Service
Section titled “Start the Service”The package enables the unit but does not start it:
sudo systemctl start astromeshdCheck service status:
sudo systemctl status astromeshdExpected output:
● astromeshd.service - Astromesh Agent Runtime Daemon Loaded: loaded (/lib/systemd/system/astromeshd.service; enabled) Active: active (running) since Fri 2026-03-20 10:00:00 UTC; 5s ago Main PID: 4521 (astromeshd) Memory: 128.0MVerify
Section titled “Verify”astromeshctl statuscurl http://localhost:8000/v1/healthLog Access
Section titled “Log Access”# Follow live logssudo journalctl -u astromeshd -f
# Last 100 linessudo journalctl -u astromeshd -n 100
# Only errorssudo journalctl -u astromeshd -p errFilesystem Paths
Section titled “Filesystem Paths”| Path | Purpose |
|---|---|
/etc/astromesh/ | Configuration files |
/var/lib/astromesh/ | Persistent state (memory, models) |
/var/log/astromesh/ | Audit logs (daemon logs go to journald) |
/opt/astromesh/venv/ | Virtualenv; astromeshd and astromeshctl are symlinked into /usr/bin/ |
/lib/systemd/system/astromeshd.service | systemd unit file |
Upgrade
Section titled “Upgrade”VERSION=0.1.10curl -LO https://github.com/monaccode/astromesh/releases/download/node-v${VERSION}/astromesh-node-${VERSION}-1.x86_64.rpmsudo dnf upgrade ./astromesh-node-${VERSION}-1.x86_64.rpmThe old package’s pre-remove script runs after the new one is installed, so the upgrade leaves the service stopped and disabled. Re-enable and start it, then verify:
sudo systemctl enable --now astromeshdastromeshctl versionastromeshctl statusUninstall
Section titled “Uninstall”sudo dnf remove astromesh-nodeRemoving stops and disables the service.
To remove all configuration and data:
sudo rm -rf /etc/astromesh /var/lib/astromesh /var/log/astromesh /opt/astromeshsudo userdel astromeshNext Steps
Section titled “Next Steps”- Configuration — Customize runtime.yaml and profiles
- CLI Reference — Full astromeshctl reference
- Troubleshooting — Common Linux issues