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 | 3.12+ (bundled by the package) | python3 --version |
| Architecture | x86_64 or aarch64 | uname -m |
| Network | Outbound to LLM provider or local Ollama | — |
Download the Package
Section titled “Download the Package”Download the latest .rpm package from GitHub Releases:
curl -LO https://github.com/monaccode/astromesh/releases/latest/download/astromesh_latest_x86_64.rpmFor ARM64 / aarch64 (e.g., AWS Graviton):
curl -LO https://github.com/monaccode/astromesh/releases/latest/download/astromesh_latest_aarch64.rpmTo download a specific version:
curl -LO https://github.com/monaccode/astromesh/releases/download/v0.18.0/astromesh_0.18.0_x86_64.rpmInstall
Section titled “Install”RHEL 9 / CentOS Stream / AlmaLinux / Rocky Linux:
sudo dnf install ./astromesh_latest_x86_64.rpmFedora:
sudo dnf install ./astromesh_latest_x86_64.rpmLegacy (rpm directly):
sudo rpm -i astromesh_latest_x86_64.rpmExpected output:
Preparing... ################################# [100%]Updating / installing... 1:astromesh-0.18.0 ################################# [100%]Creating system user 'astromesh'...Creating directories...Installing Python virtual environment...Installing systemd service...astromesh installed successfully.Verify the installation:
astromeshctl versionExpected output:
Astromesh Node v0.18.0Daemon: /opt/astromesh/bin/astromeshdCLI: /opt/astromesh/bin/astromeshctlPython: 3.12.xPlatform: linux/x86_64Configure
Section titled “Configure”Run the interactive wizard to generate your configuration:
sudo astromeshctl initFor a non-interactive setup with a specific profile:
sudo astromeshctl init --profile full --provider ollama --model llama3.1:8b --non-interactiveThis creates:
/etc/astromesh/runtime.yaml— daemon configuration/etc/astromesh/providers.yaml— LLM provider connections/etc/astromesh/agents/default.agent.yaml— default agent definition
See Configuration for the full runtime.yaml schema and all 7 profiles.
SELinux Considerations
Section titled “SELinux Considerations”On RHEL/CentOS systems with SELinux enforcing, the package installs the appropriate SELinux policy module. 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”sudo systemctl enable astromeshdsudo systemctl start astromeshdCheck service status:
sudo systemctl status astromeshdExpected output:
● astromeshd.service - Astromesh Agent Runtime Daemon Loaded: loaded (/usr/lib/systemd/system/astromeshd.service; enabled) Active: active (running) since Fri 2026-03-20 10:00:00 UTC; 5s ago Main PID: 4521 (astromeshd) Status: "Ready — 1 agent(s) loaded" 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/ | Log files |
/opt/astromesh/bin/ | astromeshd and astromeshctl binaries |
/usr/lib/systemd/system/astromeshd.service | systemd unit file |
Upgrade
Section titled “Upgrade”curl -LO https://github.com/monaccode/astromesh/releases/latest/download/astromesh_latest_x86_64.rpmsudo dnf upgrade ./astromesh_latest_x86_64.rpmThe package restarts the service automatically. Verify:
astromeshctl versionastromeshctl statusUninstall
Section titled “Uninstall”sudo systemctl stop astromeshdsudo systemctl disable astromeshdsudo dnf remove astromeshTo remove all configuration and data:
sudo rm -rf /etc/astromesh /var/lib/astromesh /var/log/astromeshsudo userdel astromeshNext Steps
Section titled “Next Steps”- Configuration — Customize runtime.yaml and profiles
- CLI Reference — Full astromeshctl reference
- Troubleshooting — Common Linux issues