Join our Discord channel for any issues, questions, information, or testing!
If you like Nutify, please give it a ⭐️ on GitHub to help the project grow!
Nutify is a comprehensive monitoring system designed to track the health and performance of your Uninterruptible Power Supply (UPS) devices. It provides real-time insights into critical UPS metrics, allowing you to ensure the continuous operation and protection of your valuable equipment. Nutify collects data, generates detailed reports, and visualizes key parameters through interactive charts, all accessible via a user-friendly web interface.
🆕 LATEST DOCKER IMAGES
Use these tags to always get the latest version:
• AMD64/x86_64:dartsteven/nutify:amd64-latest
• ARM64/aarch64:dartsteven/nutify:arm64-latest
📊 Is Nutify working with your UPS?
Please share your experience in the Discussions section under "Nutify UPS Compatibility List". Your feedback helps the community!
Current Version: 0.1.7 (07/07/2025)
For a detailed list of changes and improvements, please see the changelog.txt file.
Version 0.1.7 introduces significant improvements including:
- User Authentication System: Multi-user login with configurable permissions for individual pages and options
- Enhanced Security: Comprehensive permission system for all configuration areas
- Improved Setup Wizard: Fixed UI issues and enhanced user experience
- System Stability: Upgraded to NUT 2.8.3 and improved core architecture
- Better Reporting: Fixed time/battery reports with enhanced pandas integration
👉 For detailed information on new features and migration, please see the Nutify Wiki.
- Real-time UPS Monitoring: Continuously collects and displays data from your UPS devices
- User Authentication System: Multi-user login with granular permission control for individual pages and configuration areas
- Detailed Reports: Generates comprehensive reports on UPS performance with enhanced pandas integration
- Interactive Charts: Visualizes UPS data using interactive charts
- Setup Wizard: Enhanced configuration wizard with improved UI and navigation
- Customizable Dashboards: Provides a web-based dashboard to view real-time data
- Data Persistence: Stores historical UPS data in a SQLite database with improved schema
- Dockerized Deployment: Easily deployable using Docker and Docker Compose
- Flexible Deployment Modes: Run as a complete NUT server or as a lightweight client connecting to a remote NUT server
- Robust Mode Detection: Multi-layered CLIENT/SERVER mode detection with automatic fallback mechanisms
- Enhanced Notification System: Database-driven notifications with multiple channels (Email, Ntfy, Webhooks)
- Discord Integration: Send notifications directly to Discord channels
- System Monitoring: Real-time RAM and CPU usage widgets in the dashboard header
- Multi-account Email Support: Configure multiple email accounts for notifications with simplified provider setup
- Energy Monitoring: Detailed analysis of energy consumption
- Battery Management: Monitoring of battery status and performance
- Event Management: Logging and notification of UPS events
- UPS Commands: Interface to send commands to the UPS with permission control
- Dark/Light Theme: Customizable interface with both dark and light themes
- Automated Reports: Scheduled reports with detailed UPS status and improved accuracy
- Push Notifications: Integration with Ntfy for instant mobile alerts
- Webhook Integration: Flexible HTTP callbacks for third-party system integration
- Advanced Configuration: Fine-grained control over NUT settings and polling with user-based access
- Connection Recovery: Automatic reconnection and recovery from UPS communication failures
- Optimized Event Handling: Native Python integration with upsmon.conf for improved stability and responsiveness
- WebSocket-based Real-time Data: Efficient caching system significantly reducing CPU and RAM usage
- Modular Architecture: Extensible design with clean separation of concerns
- Professional Branding: Official logo and favicon for consistent identity across platforms
- Expanded UPS Support: Added drivers for a wider range of UPS models
- Enhanced Security: User authentication and permission system protecting configuration areas
To run Nutify using Docker Compose:
- Create a
docker-compose.yamlfile with the following minimal configuration:
services:
nut:
image: dartsteven/nutify:arm64-latest # Use amd64-latest or armv7-latest based on your architecture
container_name: Nutify
privileged: true
cap_add:
- SYS_ADMIN
- SYS_RAWIO
- MKNOD
devices:
- /dev/bus/usb:/dev/bus/usb:rwm
device_cgroup_rules:
- 'c 189:* rwm'
volumes:
- ./Nutify/logs:/app/nutify/logs
- ./Nutify/instance:/app/nutify/instance
- ./Nutify/ssl:/app/ssl
- ./Nutify/etc/nut:/etc/nut
- /dev:/dev:rw # Full /dev access improves hotplug handling
- /run/udev:/run/udev:ro # Access to udev events
environment:
- SECRET_KEY=test1234567890 # for password encryption and decryption in the database
- UDEV=1 # Improve USB detection
ports:
- 3493:3493
- 5050:5050
- 443:443
restart: always
user: root-
Start Nutify:
docker-compose up -d
-
Access the Setup Wizard: Open your web browser and navigate to
http://localhost:5050 -
Follow the Setup Wizard for initial configuration:
- Select your Timezone.
- Choose the Operating Mode:
SERVER(Standalone): If the UPS is directly connected to this machine.CLIENT(Netclient): If connecting to a remote NUT server.
- Enter a Name for your UPS (e.g.,
myups). - Configure the connection details (driver, port, etc.). The wizard can attempt Automatic Detection or allow Manual Configuration.
- Review your settings.
- Save & Restart to apply the configuration.
Nutify 0.1.6 introduces a new setup wizard that simplifies the entire configuration process. Instead of manually editing the docker-compose.yaml file, you can now:
- Start with minimal configuration: Only a few environment variables are needed in docker-compose.yaml
- Access the web interface: Navigate to the web UI after starting the container
- Follow the setup wizard: Step-by-step configuration for your UPS setup
- Configure all settings via the UI: No need to restart containers when changing settings
The setup wizard allows you to configure:
- UPS connection type (Standalone/Netwrok Server - Network Client)
- Manual Configuration or Auto-detect with nut-scanner
- Driver selection from the extensive list of supported drivers
- Connection parameters (hostname, port, etc.)
Here are some examples of the Setup Wizard screens:
Nutify is available for multiple hardware platforms:
| Architecture | Docker Image Tag | Devices |
|---|---|---|
| 🖥️ AMD64/x86_64 | dartsteven/nutify:amd64-latest |
Standard PCs, servers, most cloud VMs |
| 🍓 ARM64/aarch64 | dartsteven/nutify:arm64-latest |
Raspberry Pi 4, Pi 400, Compute Module 4, Apple M1/M2 Macs |
You can also use specific version tags (e.g., dartsteven/nutify:amd64-0.1.6) if you need a particular version.
Nutify aims for broad compatibility with UPS devices supported by Network UPS Tools (NUT).
Is your UPS model working with Nutify but not listed here? Please help us expand this list by sharing your experience in the
UPS Compatibility List discussion
Knowing which models work helps the entire community.
While Nutify should work with most NUT-compatible devices, the models listed above have specific confirmation from users.
Documentation Nutify Wiki
For detailed documentation, including:
- Complete configuration options
- Advanced features
- Troubleshooting
- Screenshots and examples
- Technical details
- ... And More ...
This project is licensed under the MIT License - see the LICENSE file for details.
Nutify is developed and maintained in my free time. If you find this project useful and would like to support its continued development, please consider making a donation.
Your support helps cover development costs and encourages further improvements and new features. Thank you for your generosity!








