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 | None — the package carries its own CPython 3.12 in /opt/astromesh/python (since v0.1.8) | — |
| Architecture | amd64 only | dpkg --print-architecture |
| 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}_amd64.debInstall
Section titled “Install”sudo apt install ./astromesh-node_${VERSION}_amd64.debThe package creates the astromesh system user, installs the virtualenv in /opt/astromesh/venv/, the config in /etc/astromesh/ and the systemd unit, and enables the unit without starting it.
Verify 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 initThis creates, in /etc/astromesh/:
runtime.yaml— daemon configuration (services, API, peers/mesh)providers.yaml— LLM provider connections.env— the provider API key, if you entered one (loaded by the systemd unit)
The package already installs sample agents in /etc/astromesh/agents/. For a non-interactive setup:
sudo astromeshctl init --role full --non-interactiveSee Configuration for the full runtime.yaml schema and the roles.
Start 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 Mon 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}_amd64.debsudo apt install ./astromesh-node_${VERSION}_amd64.debUpgrading stops the service (the old package’s pre-remove script) and does not start it again. Start it and verify:
sudo systemctl start astromeshdastromeshctl versionastromeshctl statusUninstall
Section titled “Uninstall”sudo apt remove astromesh-nodeRemoving stops and disables the service. To also remove configuration, data, logs, the virtualenv and the astromesh user:
sudo apt purge astromesh-nodeNext Steps
Section titled “Next Steps”- Configuration — Customize runtime.yaml and profiles
- CLI Reference — Full astromeshctl reference
- Troubleshooting — Common Linux issues