Install on Debian / Ubuntu
This guide covers installing Astromesh Node on Debian-based Linux distributions (Debian 12+, Ubuntu 22.04+).
Prerequisites
Section titled “Prerequisites”| Requirement | Version | Check |
|---|---|---|
| Debian / Ubuntu | Debian 12+ / Ubuntu 22.04+ | lsb_release -a |
| systemd | 250+ | systemctl --version |
| Python | 3.12+ (bundled by the package) | python3 --version |
| Architecture | amd64 or arm64 | dpkg --print-architecture |
| Network | Outbound to LLM provider or local Ollama | — |
Download the Package
Section titled “Download the Package”Download the latest .deb package from GitHub Releases:
curl -LO https://github.com/monaccode/astromesh/releases/latest/download/astromesh_latest_amd64.debFor ARM64 (e.g., Raspberry Pi, AWS Graviton):
curl -LO https://github.com/monaccode/astromesh/releases/latest/download/astromesh_latest_arm64.debTo download a specific version, replace latest with the version tag (e.g., v0.18.0):
curl -LO https://github.com/monaccode/astromesh/releases/download/v0.18.0/astromesh_0.18.0_amd64.debInstall
Section titled “Install”sudo apt install ./astromesh_latest_amd64.debExpected output:
Reading package lists... DoneSetting up astromesh (0.18.0) ...Creating system user 'astromesh'...Creating directories... /etc/astromesh/ /var/lib/astromesh/ /var/log/astromesh/ /opt/astromesh/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/amd64Configure
Section titled “Configure”Run the interactive wizard to generate your configuration:
sudo astromeshctl initThis creates:
/etc/astromesh/runtime.yaml— daemon configuration (services, API, log level)/etc/astromesh/providers.yaml— LLM provider connections/etc/astromesh/agents/default.agent.yaml— default agent definition
To reinitialize with a specific profile non-interactively:
sudo astromeshctl init --profile full --provider ollama --model llama3.1:8b --non-interactiveSee Configuration for the full runtime.yaml schema and all 7 profiles.
Start the Service
Section titled “Start the Service”Enable and start the daemon with systemd:
sudo systemctl enable astromeshdsudo systemctl start astromeshdCheck service status:
sudo systemctl status astromeshdExpected output:
● astromeshd.service - Astromesh Agent Runtime Daemon Loaded: loaded (/etc/systemd/system/astromeshd.service; enabled) Active: active (running) since Mon 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 |
/etc/systemd/system/astromeshd.service | systemd unit file |
Upgrade
Section titled “Upgrade”curl -LO https://github.com/monaccode/astromesh/releases/latest/download/astromesh_latest_amd64.debsudo apt install ./astromesh_latest_amd64.debThe package restarts the service automatically. Verify:
astromeshctl versionastromeshctl statusUninstall
Section titled “Uninstall”sudo systemctl stop astromeshdsudo systemctl disable astromeshdsudo apt remove astromeshTo remove all configuration and data:
sudo apt purge astromeshsudo 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