Skip to content

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+.

RequirementVersionCheck
RHEL / Fedora / CentOSRHEL 9+ / Fedora 38+cat /etc/os-release
systemd250+systemctl --version
Python3.12+ (bundled by the package)python3 --version
Architecturex86_64 or aarch64uname -m
NetworkOutbound to LLM provider or local Ollama

Download the latest .rpm package from GitHub Releases:

Terminal window
curl -LO https://github.com/monaccode/astromesh/releases/latest/download/astromesh_latest_x86_64.rpm

For ARM64 / aarch64 (e.g., AWS Graviton):

Terminal window
curl -LO https://github.com/monaccode/astromesh/releases/latest/download/astromesh_latest_aarch64.rpm

To download a specific version:

Terminal window
curl -LO https://github.com/monaccode/astromesh/releases/download/v0.18.0/astromesh_0.18.0_x86_64.rpm

RHEL 9 / CentOS Stream / AlmaLinux / Rocky Linux:

Terminal window
sudo dnf install ./astromesh_latest_x86_64.rpm

Fedora:

Terminal window
sudo dnf install ./astromesh_latest_x86_64.rpm

Legacy (rpm directly):

Terminal window
sudo rpm -i astromesh_latest_x86_64.rpm

Expected 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:

Terminal window
astromeshctl version

Expected output:

Astromesh Node v0.18.0
Daemon: /opt/astromesh/bin/astromeshd
CLI: /opt/astromesh/bin/astromeshctl
Python: 3.12.x
Platform: linux/x86_64

Run the interactive wizard to generate your configuration:

Terminal window
sudo astromeshctl init

For a non-interactive setup with a specific profile:

Terminal window
sudo astromeshctl init --profile full --provider ollama --model llama3.1:8b --non-interactive

This 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.

On RHEL/CentOS systems with SELinux enforcing, the package installs the appropriate SELinux policy module. If you encounter denials:

Terminal window
# Check for SELinux denials
sudo ausearch -c astromeshd -m avc
# Generate a local policy module if needed
sudo ausearch -c astromeshd -m avc | audit2allow -M astromesh_local
sudo semodule -i astromesh_local.pp

To allow external access to the API port:

Terminal window
sudo firewall-cmd --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
Terminal window
sudo systemctl enable astromeshd
sudo systemctl start astromeshd

Check service status:

Terminal window
sudo systemctl status astromeshd

Expected 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.0M
Terminal window
astromeshctl status
Terminal window
curl http://localhost:8000/v1/health
Terminal window
# Follow live logs
sudo journalctl -u astromeshd -f
# Last 100 lines
sudo journalctl -u astromeshd -n 100
# Only errors
sudo journalctl -u astromeshd -p err
PathPurpose
/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.servicesystemd unit file
Terminal window
curl -LO https://github.com/monaccode/astromesh/releases/latest/download/astromesh_latest_x86_64.rpm
sudo dnf upgrade ./astromesh_latest_x86_64.rpm

The package restarts the service automatically. Verify:

Terminal window
astromeshctl version
astromeshctl status
Terminal window
sudo systemctl stop astromeshd
sudo systemctl disable astromeshd
sudo dnf remove astromesh

To remove all configuration and data:

Terminal window
sudo rm -rf /etc/astromesh /var/lib/astromesh /var/log/astromesh
sudo userdel astromesh