- Shell 100%
Replace placeholder mesh URLs with real MeshCentral agent URLs: - x86: meshinstall=5 - arm64: meshinstall=26 - armv6: meshinstall=25 All architectures now have functional MeshAgent installation URLs pointing to the correct MeshCentral agent variants. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| CLAUDE.md | ||
| last_built_version.txt | ||
| linuxrmm | ||
| linuxrmm-update | ||
| README.md | ||
LinuxRMM - Automated TacticalRMM Agent Installer
Fast, lightweight Linux installer for the TacticalRMM agent with pre-compiled binaries for all major architectures.
Features
✨ Zero Compilation - Uses pre-built binaries (no Go toolchain required) ⚡ Fast Deployment - Install in seconds, not minutes 🏗️ Multi-Architecture - Supports amd64, x86, arm64, armv6 🔄 Auto-Updated - Binaries rebuild automatically when rmmagent updates 📦 Lightweight - Minimal dependencies (bash, wget, systemd) 🛡️ Secure - HTTPS-only downloads, architecture-specific configuration
Quick Start
wget https://cdn.zepheris.com/linuxrmm
sudo bash linuxrmm
Requirements
- Linux OS (any distribution)
bash,wget- Network access to:
cdn.zepheris.com(download binaries)mesh.zepheris.com(MeshAgent)api.zepheris.com(TacticalRMM server)
Supported Architectures
| Architecture | Binary | Systems |
|---|---|---|
| AMD64 | rmmagent-amd64 |
x86_64, most servers/desktops |
| x86 | rmmagent-x86 |
i386, i686, 32-bit systems |
| ARM64 | rmmagent-arm64 |
aarch64, Raspberry Pi 4+, Apple Silicon |
| ARMv6 | rmmagent-armv6 |
armv6l, Raspberry Pi 1-3 |
The installer automatically detects your architecture and downloads the correct binary.
Installation Steps
1. Download and Run
wget https://cdn.zepheris.com/linuxrmm
sudo bash linuxrmm
2. What the Script Does
The installer will automatically:
- Detect your system architecture (amd64, x86, arm64, armv6)
- Download the pre-compiled rmmagent binary
- Install MeshAgent for remote support
- Register the agent with your TacticalRMM server
- Configure systemd service for auto-start and auto-restart
- Start the agent
Total installation time: ~30 seconds (no compilation)
3. Verify Installation
systemctl status tacticalagent
Should show: Active: active (running)
Configuration
RMM Server Settings
Edit these variables in linuxrmm:
rmm_url="https://api.zepheris.com" # Your RMM server URL
rmm_client_id=1 # Client ID
rmm_site_id=1 # Site ID
rmm_auth="YOUR_AUTH_KEY" # Authentication token
rmm_agent_type="server" # Agent type (server/workstation)
MeshAgent Settings
The script requires different MeshAgent URLs for each architecture. Configure these in the script:
mesh_url_amd64="https://mesh.zepheris.com/meshagents?id=...&installflags=0&meshinstall=6"
mesh_url_x86="https://mesh.zepheris.com/meshagents?id=...&installflags=0&meshinstall=6"
mesh_url_arm64="https://mesh.zepheris.com/meshagents?id=...&installflags=0&meshinstall=6"
mesh_url_armv6="https://mesh.zepheris.com/meshagents?id=...&installflags=0&meshinstall=6"
How to Generate MeshAgent URLs for Each Architecture
For each architecture, repeat these steps:
- Go to your MeshCentral instance:
https://mesh.zepheris.com - Click Add Agent
- Select Installation Executable → Linux / BSD / macOS
- Choose the system type matching the architecture:
- Linux x64 →
mesh_url_amd64 - Linux x86 →
mesh_url_x86 - Linux ARM64 →
mesh_url_arm64 - Linux ARMv6 →
mesh_url_armv6(or similar 32-bit ARM option)
- Linux x64 →
- Copy the full URL provided
- Paste it into the corresponding
mesh_url_*variable in thelinuxrmmscript
Example mesh URL format:
mesh_url_amd64="https://mesh.zepheris.com/meshagents?id=abc123xyz789&installflags=0&meshinstall=6"
The installer will automatically select the correct URL based on the detected system architecture.
Troubleshooting
Binary download fails
"Failed to download rmmagent binary"
Check if the file server is reachable:
curl -I https://cdn.zepheris.com/LinuxRMM/rmmagent-amd64
Verify your system has internet access and can reach cdn.zepheris.com. If binaries are missing, the build workflow may not have run yet - check Forgejo Actions.
Agent fails to start
Check systemd logs:
journalctl -u tacticalagent -n 50
Verify RMM server connectivity:
curl -I https://api.zepheris.com
Architecture mismatch
Verify your system architecture:
uname -m
Should match one of: x86_64, i686, aarch64, armv6l
Agent shows as offline
- Check firewall allows outbound HTTPS to RMM server
- Verify authentication credentials in script
- Check RMM server is running and accessible
Advanced Usage
Download Only (No Install)
# Download binary for manual inspection
wget https://cdn.zepheris.com/LinuxRMM/rmmagent-amd64
Manual Installation
# If you have the binary already
sudo cp rmmagent-amd64 /usr/local/bin/rmmagent
sudo chmod +x /usr/local/bin/rmmagent
# Register with server
sudo /usr/local/bin/rmmagent -m install \
-api https://api.zepheris.com \
-client-id 1 \
-site-id 1 \
-agent-type server \
-auth YOUR_AUTH_KEY
# Enable service
sudo systemctl enable --now tacticalagent
Update Agent Binary
Use the dedicated update script for quick agent updates:
# Quick update (downloads latest binary for your architecture)
wget https://cdn.zepheris.com/linuxrmm-update
sudo bash linuxrmm-update
The script automatically:
- Detects your architecture
- Downloads the latest binary
- Stops the service
- Updates the binary
- Restarts the service
Downtime: ~10-15 seconds
Complete Uninstall
# Stop and disable the service
sudo systemctl stop tacticalagent
sudo systemctl disable tacticalagent
# Remove binaries
sudo rm /usr/local/bin/rmmagent
sudo rm -rf /opt/tacticalmesh
# Remove systemd service
sudo rm /etc/systemd/system/tacticalagent.service
sudo systemctl daemon-reload
Available Files
Current files available at: https://cdn.zepheris.com/
Installation & Update Scripts:
linuxrmm (Initial installation script)
linuxrmm-update (Agent update script)
Agent Binaries (at https://cdn.zepheris.com/LinuxRMM/):
rmmagent-amd64 (AMD64/x86_64)
rmmagent-x86 (32-bit x86)
rmmagent-arm64 (ARM64/aarch64)
rmmagent-armv6 (ARMv6)
MANIFEST.txt (Build metadata and version info)
The installer and update scripts automatically detect your architecture and download the correct binary. All binaries are always the latest version - they're overwritten when a new build completes.
System Integration
Service Management
# Check status
sudo systemctl status tacticalagent
# Start/stop
sudo systemctl start tacticalagent
sudo systemctl stop tacticalagent
# View logs
sudo journalctl -u tacticalagent -f
# Restart on reboot
sudo systemctl enable tacticalagent
Automatic Updates
Via TacticalRMM Server (Recommended)
The agent can check for updates from your RMM server and apply them automatically. This is handled through the TacticalRMM management interface.
Manual Updates with linuxrmm-update
For manual control or offline updates, use the linuxrmm-update script:
# Download the update script
wget https://cdn.zepheris.com/linuxrmm-update
# Make it executable
sudo chmod +x linuxrmm-update
# Run the update (automatically detects architecture)
sudo bash linuxrmm-update
What the update script does:
- Detects system architecture automatically
- Downloads the latest pre-compiled rmmagent binary from cdn.zepheris.com
- Stops the tacticalagent service gracefully
- Replaces the agent binary
- Restarts the tacticalagent service
Update time: ~10-15 seconds (no compilation, minimal downtime)
Note: The update script only updates the rmmagent binary. MeshAgent updates are handled separately through the MeshCentral interface.
Security
- ✅ Uses HTTPS for all server communication
- ✅ Binaries are pre-compiled and verified
- ✅ No custom build flags (standard Go compilation)
- ✅ Minimal privileges (runs as root, necessary for system monitoring)
What Gets Installed
- rmmagent - Pre-compiled TacticalRMM agent binary (
/usr/local/bin/rmmagent) - meshagent - MeshCentral agent for remote support (
/opt/tacticalmesh)
Files and Directories Created:
/usr/local/bin/rmmagent- Agent executable/opt/tacticalmesh/- MeshAgent installation directory/etc/systemd/system/tacticalagent.service- Systemd service unit file
FAQ
Q: Do I need Go installed? A: No, Go is already compiled into the agent binary. Go installation is only needed if you plan to compile from source.
Q: Can I use this on Raspberry Pi?
A: Yes! Raspberry Pi 1-3 uses ARMv6 (rmmagent-armv6), Pi 4+ uses ARM64 (rmmagent-arm64).
Q: How often are binaries updated? A: Automatically when rmmagent releases a new version (checked daily).
Q: What if my architecture isn't supported? A: Contact your system administrator. Additional architectures can be added to the build process.
Q: Does the installer require internet access? A: Yes, the installer downloads binaries from cdn.zepheris.com and MeshAgent from mesh.zepheris.com. Network connectivity is required.
Q: How do I update the agent? A: You have two options:
- Via TacticalRMM server - The agent can auto-update through your RMM server interface
- Manual update - Use the
linuxrmm-updatescript for quick manual updates:
wget https://cdn.zepheris.com/linuxrmm-update
sudo bash linuxrmm-update
Q: What's the difference between the installer and update script?
A: The installer (linuxrmm) is for initial setup - it installs both rmmagent and MeshAgent, configures everything, and registers with your server. The update script (linuxrmm-update) only updates the rmmagent binary and is much faster (~10-15 seconds vs ~30 seconds).
Support
For issues with:
- TacticalRMM: See TacticalRMM Documentation
- This installer: Check CLAUDE.md for architecture details
- rmmagent: See amidaware/rmmagent
License
This installer script uses open-source components. Refer to individual projects for licensing.