A powerful web-based solution for managing and updating MikroTik RouterOS devices across your network. MUM provides a user-friendly interface to monitor, update, and maintain multiple MikroTik routers from a single dashboard.
- Centralized Management: Manage multiple MikroTik routers from a single interface
- Version Control: Monitor and update RouterOS versions across your network
- Architecture Support: Handles different RouterOS architectures automatically
- Secure Updates: Secure package upload and deployment
- Real-time Status: Monitor device status and update progress
- Bulk Operations: Perform operations on multiple devices simultaneously
Uploading a RouterOS package file
Bulk device operations and update process
- Python 3.8 or higher
- Node.js 14 or higher
- Access to MikroTik routers with API and SSH enabled
- Clone the repository:
git clone https://github.com/masoudigram/mikrotik-update-manager.git
cd mikrotik-update-manager- Set up the backend:
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt- Set up the frontend:
cd frontend
npm install- Create a
devices.yamlfile in the backend directory:
devices: []- Create an
osdirectory in the project root to store RouterOS packages:
mkdir os- Start the backend server:
cd backend
python app.py- Start the frontend development server:
cd frontend
npm startThe application will be available at http://localhost:3000
-
Adding Devices:
- Click "Add Device" in the interface
- Enter the router's IP address, username, password, and ports
- The system will automatically detect the architecture and current version
-
Uploading Packages:
- Navigate to the package management section
- Upload RouterOS package files (.npk) for different architectures
- The system will organize packages by architecture
-
Updating Routers:
- Select the target router(s)
- Choose the desired RouterOS version
- Initiate the update process
- Monitor the progress in real-time
- Store sensitive credentials securely
- Use strong passwords for router access
- Consider using SSH keys instead of passwords
- Keep the application behind a firewall
- Regularly update the application and dependencies
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is not officially affiliated with MikroTik. Use at your own risk and always backup your router configuration before performing updates.