RouterOS Package Installation
RouterOS Package Installation
Section titled “RouterOS Package Installation”RouterOS Version: 7.x+ Difficulty: Beginner Estimated Time: 10 minutes
TL;DR (Quick Start)
Section titled “TL;DR (Quick Start)”For the impatient: here’s the 30-second version.
# Check your architecture/system resource print
# Download package (replace version/arch)/tool fetch url="https://download.mikrotik.com/routeros/7.17/zerotier-7.17-arm.npk"
# Reboot to install/system rebootOverview
Section titled “Overview”RouterOS uses a modular package system where additional features like ZeroTier, Container support, or User Manager are delivered as optional NPK (Network Package) files. These packages must be downloaded, uploaded to the router, and activated through a reboot.
This guide covers the package installation workflow for both manual and automated scenarios.
Understanding the Package System
Section titled “Understanding the Package System”Package Types
Section titled “Package Types”RouterOS packages are architecture-specific NPK files:
routeros-{arch}-{version}.npk # Base system (always installed)zerotier-{arch}-{version}.npk # ZeroTier VPN supportcontainer-{arch}-{version}.npk # Docker container supportuser-manager-{arch}-{version}.npk # Hotspot user managementups-{arch}-{version}.npk # UPS monitoringArchitectures: arm, arm64, tile, mipsbe, smips, ppc, x86, mmips
Installation Workflow
Section titled “Installation Workflow”Prerequisites
Section titled “Prerequisites”- RouterOS 7.x running on your device
- Internet connectivity (for direct download) or file access (for manual upload)
- Packages must match both the RouterOS version AND architecture exactly
Configuration Steps
Section titled “Configuration Steps”Step 1: Check Router Architecture
Section titled “Step 1: Check Router Architecture”Determine your router’s architecture to download the correct package:
/system resource printLook for the architecture-name field. Common values:
arm- Most modern MikroTik devices (hAP, cAP, etc.)arm64- CCR2000 seriestile- CCR1000 seriesx86- CHR (Cloud Hosted Router)
Step 2: Check Current RouterOS Version
Section titled “Step 2: Check Current RouterOS Version”The package version must exactly match your RouterOS version:
/system package printNote the version number (e.g., 7.17).
Step 3: Download Package to Router
Section titled “Step 3: Download Package to Router”Use /tool fetch to download directly from MikroTik’s servers:
/tool fetch url="https://download.mikrotik.com/routeros/7.17/zerotier-7.17-arm.npk"Replace the URL with the appropriate package, version, and architecture.
Step 4: Verify Download
Section titled “Step 4: Verify Download”Confirm the package file is present:
/file print where name~"npk"You should see your downloaded NPK file listed.
Step 5: Reboot to Install
Section titled “Step 5: Reboot to Install”Packages are installed automatically during boot when NPK files are present:
/system rebootConfirm with y when prompted.
Step 6: Verify Installation
Section titled “Step 6: Verify Installation”After the router comes back online, verify the package is installed:
/system package printThe new package should appear in the list with status “installed”.
Verification
Section titled “Verification”Check Package Status
Section titled “Check Package Status”/system package printExpected Output:
Flags: X - disabled # NAME VERSION BUILD-TIME SCHEDULED 0 routeros 7.17 2025-01-06 09:30:00 1 zerotier 7.17 2025-01-06 09:30:00Check Architecture
Section titled “Check Architecture”/system resource printExpected Output:
uptime: 5m30s...architecture-name: x86board-name: CHR...Automation Notes
Section titled “Automation Notes”For Automated Validation
Section titled “For Automated Validation”When validating documentation that requires package installation:
-
Upload the package using the
upload_packageMCP tool:upload_package(router_name="staging-router-01",package_url="https://download.mikrotik.com/routeros/7.17/zerotier-7.17-x86.npk") -
Reboot the router using the
reboot_routerMCP tool:reboot_router(router_name="staging-router-01") -
Wait for router to come back using the
wait_for_routerMCP tool:wait_for_router(router_name="staging-router-01", timeout=120) -
Run validation normally after router is back online.
Package Installation via Scripting
Section titled “Package Installation via Scripting”For automated deployments, create a script:
:local pkgUrl "https://download.mikrotik.com/routeros/7.17/zerotier-7.17-arm.npk":local pkgFile "zerotier-7.17-arm.npk"
# Download package/tool fetch url=$pkgUrl dst-path=$pkgFile
# Schedule reboot (gives time for download to complete):delay 5s/system rebootTroubleshooting
Section titled “Troubleshooting”Problem: Package Not Installing After Reboot
Section titled “Problem: Package Not Installing After Reboot”Symptoms: NPK file present but package not in list after reboot
Causes and Solutions:
-
Version mismatch:
/file print where name~"npk"/system package printCompare versions - they must match exactly.
-
Architecture mismatch:
/system resource printVerify architecture matches the downloaded package.
-
Corrupted download:
- Delete the file and re-download
- Verify file size matches expected size
Problem: Package Download Fails
Section titled “Problem: Package Download Fails”Symptoms: /tool fetch returns error
Causes and Solutions:
-
DNS resolution failure:
/ip dns print/ping download.mikrotik.com count=3 -
Firewall blocking outbound:
/ip firewall filter print where chain=output -
HTTPS certificate issues:
/tool fetch url="http://download.mikrotik.com/..." mode=httpTry HTTP instead of HTTPS.
Problem: Router Won’t Boot After Package Install
Section titled “Problem: Router Won’t Boot After Package Install”Symptoms: Router stuck in boot loop or unresponsive
Solution:
- Use Netinstall to reinstall RouterOS
- Or boot to backup RouterOS (hold reset button during power-on)
Common Packages Reference
Section titled “Common Packages Reference”| Package | Purpose | Size |
|---|---|---|
| zerotier | ZeroTier VPN client | ~2MB |
| container | Docker container support | ~3MB |
| user-manager | HotSpot user management | ~1MB |
| ups | UPS monitoring | ~500KB |
| gps | GPS device support | ~500KB |
| calea | Lawful intercept (US) | ~500KB |
Cleanup
Section titled “Cleanup”After successful installation, remove the NPK file to save storage:
/file remove [find name~"npk"]Related Topics
Section titled “Related Topics”Packages That Require Installation
Section titled “Packages That Require Installation”- ZeroTier - ZeroTier VPN package
- Container/Docker - Docker container support
System Management
Section titled “System Management”- System Backup - backup before package changes
- Reset Configuration - recovery if package causes issues
- RouterBOARD - hardware-specific package considerations
Related Procedures
Section titled “Related Procedures”- License - CHR license requirements for some packages
- Files - manage package files on router
- Resources - check available storage for packages