Skip to content
DartSteven edited this page Jul 7, 2025 · 1 revision

Nutify Wiki

Nutify Official Logo

Note: Nutify now includes an official logo and favicon for better brand recognition and improved user experience across browser tabs.

Table of Contents

  1. Introduction & Overview
  2. Key Features
  3. System Architecture
  4. Docker Compose Configuration
  5. Setup Wizard
  6. Docker Image Tags
  7. Role-Based Authentication System
  8. Dummy UPS Configuration
  9. Supported UPS Drivers
  10. Operational Modes
  11. SSL Configuration
  12. Email Reports and Alerts
  13. Technologies Used
  14. Installation and Usage
  15. Feature Details
  16. Troubleshooting
  17. Bug Reporting Guidelines
  18. Configuration Changes

Introduction & Overview

Welcome to the Nutify Wiki! This comprehensive guide provides detailed information about the Nutify UPS Monitoring System, including configuration options, features, troubleshooting, and more.

Nutify is a modern, modular UPS monitoring system designed to provide real-time insights, advanced reporting, and seamless management of Uninterruptible Power Supply (UPS) devices. With a user-friendly web interface, robust backend, role-based authentication system, and extensive integration options, Nutify ensures your critical systems remain protected and monitored at all times.

  • Backend: Python, Flask, SQLAlchemy (ORM only)
  • Frontend: JavaScript, HTML, CSS, Tailwind CSS
  • Database: SQLite (persistent, optimized for time-series data)
  • Deployment: Docker & Docker Compose (multi-architecture support)

Key Features

Nutify offers a comprehensive set of features for UPS monitoring and management:

  • Real-time UPS Monitoring: Continuously collects and displays data from your UPS devices, including voltage, power, battery status, load, and more.
  • Role-Based Authentication: Multi-user system with admin and user roles, providing secure access control and granular permissions for different configuration areas.
  • Detailed Reports: Generates comprehensive reports on UPS performance over selected time ranges (daily, weekly, monthly, custom). Reports include statistical summaries and visual charts with enhanced pandas integration.
  • Interactive Charts: Visualizes UPS data using interactive charts for easy analysis of trends and anomalies in voltage, power, battery levels, and other metrics.
  • Customizable Dashboards: Provides a web-based dashboard to view real-time data and access reports.
  • Data Persistence: Stores historical UPS data in a SQLite database for trend analysis and reporting with improved schema and integrity.
  • Dockerized Deployment: Easily deployable using Docker and Docker Compose, ensuring consistent setup across different environments.
  • Enhanced Setup Wizard: Easy-to-use configuration wizard with improved UI, button alignment, and navigation for hassle-free initial setup.
  • System Monitoring: Real-time RAM and CPU usage widgets in the dashboard header to monitor system resources.
  • Discord Integration: Send notifications directly to Discord channels with customizable message formatting.
  • User-Friendly Interface: Accessible and intuitive web interface built with modern web technologies.
  • Energy Monitoring: Detailed analysis of energy consumption with cost calculation and efficiency metrics.
  • Battery Management: Monitoring of battery status, remaining runtime, and performance over time.
  • Event Management: Logging and notification of UPS events such as power outages, low battery, etc.
  • UPS Commands: Interface to send commands to the UPS such as battery test, shutdown, etc.
  • Dark/Light Theme: Customizable interface with both dark and light themes for optimal viewing in any environment.
  • Email Reports: Automated email reports with detailed UPS status and alerts for critical events.
  • UPS Data Export: Download complete UPS data in JSON format for analysis or backup.
  • Connection Recovery: Automatic reconnection and recovery mechanisms for UPS communication failures.
  • Expanded UPS Support: Added drivers for a wider range of UPS models including blazer_usb, blazer_ser, richcomm_usb, tripplite_usb, riello_usb and more.
  • Enhanced Security: Comprehensive permission system protecting all API endpoints and configuration areas with role-based access control.
  • Improved User Experience: Fixed Setup Wizard navigation, configuration editor state persistence, and streamlined authentication interface.

System Architecture

Nutify is built using a modular architecture, comprising the following key components:

  1. Data Collection: Nutify interacts with UPS devices to collect real-time data using the Network UPS Tools (NUT) protocol. It retrieves metrics such as:

    • Input and Output Voltage
    • Battery Charge and Runtime
    • UPS Load
    • Power Consumption
    • Frequency
    • Transfer Thresholds
  2. Database: Collected data is stored in a SQLite database. The database schema is designed to efficiently store time-series data from UPS devices.

  3. Backend (Python/Flask): The backend is developed in Python using the Flask framework. It handles:

    • Data retrieval from UPS devices
    • Data processing and storage in the database
    • API endpoints for the frontend to access data and reports
    • Generation of reports and charts
    • Scheduling of data collection tasks
    • Event and notification management
  4. Real-time Data Management: The system uses an optimized approach for handling real-time data:

    • WebSocket-based caching system delivers data efficiently to the frontend
    • Eliminates redundant upsc calls, significantly reducing CPU and RAM usage
    • Native Python integration with upsmon.conf replaces direct queries
    • Enhanced event detection system for improved stability and responsiveness
  5. Frontend (JavaScript/HTML/CSS): The frontend is built using JavaScript and utilizes libraries for interactive charts and Tailwind CSS for styling. It provides:

    • Real-time dashboards displaying current UPS status
    • Navigation to reports and charts
    • User interface for configuring reports and time ranges
    • Visualization of key metrics such as battery charge, power, load, etc.
  6. Specialized Modules: The system is organized into specialized modules to handle different functionalities:

    • energy.py: Energy consumption management and analysis
    • battery.py: Battery monitoring and analysis
    • power.py: Power and load analysis
    • voltage.py: Voltage monitoring
    • upscmd.py: UPS command management
    • upsrw.py: UPS variable reading and writing
    • mail.py: Email notification system
    • scheduler.py: Report and task scheduling
    • webhook.py: External system integration
    • ntfy.py: Push notification services

Docker Compose Configuration

To run Nutify using Docker Compose, you need to configure a minimal docker-compose.yaml file. Below is an example configuration with detailed explanations:

services:
  nut:
    image: dartsteven/nutify:amd64-latest                # Official Nutify image for AMD64 architecture (use amd64-latest, arm64-latest, or armv7-latest)
    # build: . # Or build from source                   # Uncomment to build from source instead of using pre-built image
    container_name: Nutify                              # Name of the container in Docker
    privileged: true                                    # Grants extended privileges to the container for hardware access
    cap_add:                                            # Additional Linux capabilities for the container
      - SYS_ADMIN                                       # Allows administrative operations
      - SYS_RAWIO                                       # Allows direct I/O access
      - MKNOD                                           # Allows creation of special files
    devices:                                            # Device mapping from host to container
      - /dev/bus/usb:/dev/bus/usb:rwm                   # Maps USB devices for UPS detection (read-write-mknod)
    device_cgroup_rules:                                # Control group rules for device access
      - 'c 189:* rwm'                                   # USB device access rule (character device 189)
    environment:                                        # Environment variables for container configuration
      # ===== SERVER CONFIGURATION =====
      - SERVER_PORT=5050                                # Port for web interface [default: 5050]
      - SERVER_HOST=0.0.0.0                             # Host address to bind web server [default: 0.0.0.0]
      - SECRET_KEY=your-secure-secret-key-here          # REQUIRED: Secret key for password encryption (32+ chars)
      
      # ===== OPTIONAL CONFIGURATION =====
      - SSL_ENABLED=false                               # Enable/disable HTTPS [default: false]
      - LOG=true                                        # Enable/disable logging [default: false]
      - LOG_LEVEL=DEBUG                                 # Log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
      - LOG_WERKZEUG=true                               # Enable/disable Flask's Werkzeug logs
      - ENABLE_LOG_STARTUP=Y                            # Set to Y to enable essential startup logs
      
    ports:                                              # Port mapping from host to container
      - 3493:3493                                       # NUT server port
      - 5050:5050                                       # Web interface port
      - 443:443                                         # HTTPS port (when SSL_ENABLED=true)
    volumes:                                            # Volume mapping for persistent data
      - ./Nutify_volumes/logs:/app/nutify/logs          # Log files
      - ./Nutify_volumes/instance:/app/nutify/instance  # Application data including SQLite database
      - ./Nutify_volumes/ssl:/app/ssl                   # SSL certificates directory
      - ./Nutify_volumes/etc/nut:/etc/nut               # NUT configuration directory
    restart: always                                     # Restart policy (always restart on failure)
    user: root                                          # Run container as root user for hardware access

Configuration Notes

  • environment: Sets environment variables for the container:

    • SERVER_PORT: Port on which the web server will listen [default: 5050]
    • SERVER_HOST: Host address to bind web server [default: 0.0.0.0]
    • SECRET_KEY: REQUIRED: Secret key for password encryption (use 32+ chars)
  • volumes: Mounts volumes to persist data:

    • ./Nutify_volumes/logs:/app/nutify/logs: Nutify log files
    • ./Nutify_volumes/instance:/app/nutify/instance: Nutify instance directory, including the SQLite database
    • ./Nutify_volumes/ssl:/app/ssl: SSL certificates directory
    • ./Nutify_volumes/etc/nut:/etc/nut: NUT configuration directory

Unlike previous versions, further configuration is now handled through the Setup Wizard rather than through environment variables.


Setup Wizard

Nutify 0.1.6 introduces a new Setup Wizard that significantly simplifies the configuration process. Instead of manually configuring numerous environment variables in the docker-compose.yaml file, users can now configure Nutify through an intuitive web interface.

Accessing the Setup Wizard

After starting Nutify with the minimal docker-compose configuration, navigate to:

http://localhost:5050

If this is your first time running Nutify, you'll be automatically redirected to the Setup Wizard.

Setup Wizard Steps

  1. Server Name: Name of your server
  2. Timezone Selection: Choose your local timezone for accurate time reporting
  3. UPS Connection Type:
    • SERVER Mode: For direct connection to a UPS device
    • CLIENT Mode: For connecting to a remote NUT server
  4. UPS Driver Selection (SERVER mode only):
    • Choose from a wide range of supported drivers
    • Get guidance on selecting the appropriate driver for your UPS model
  5. Connection Parameters:
    • Configure UPS name, port, and detection settings
    • Set authentication credentials
  6. Review and Confirmation:
    • Summary of your configuration choices
    • Option to modify settings before finalizing

Benefits of the Setup Wizard

  • User-Friendly: No need to manually edit configuration files
  • Guided Approach: Step-by-step process with helpful explanations
  • Error Prevention: Validation of inputs prevents common configuration mistakes
  • Dynamic Configuration: Changes are applied without needing to restart the container
  • Comprehensive Setup: Configures all aspects of Nutify in one interface

Additional Settings

After completing the initial setup, you can access additional configuration options through the Options page:

  • Notification Settings: Configure email, webhooks, and push notifications
  • Advanced NUT Settings: Fine-tune NUT configuration parameters
  • Scheduler Settings: Configure automated reports and tasks
  • Database Management: Database backup and optimization tools

Docker Image Tags

Nutify provides Docker images for different architectures with two types of tags:

Latest Tags

These tags always point to the most recent version of Nutify for each architecture:

Architecture Docker Image Tag Description
AMD64/x86_64 dartsteven/nutify:amd64-latest For standard PCs, servers, and most cloud VMs
ARM64/aarch64 dartsteven/nutify:arm64-latest For Raspberry Pi 4, Pi 400, Compute Module 4, Apple M1/M2 Macs

Using these tags ensures you always get the latest version with all bug fixes and features. This is the recommended approach for most users.

Version-Specific Tags

If you need a specific version of Nutify (for example, for stability or compatibility reasons), you can use version-specific tags:

Architecture Docker Image Tag Format Example
AMD64/x86_64 dartsteven/nutify:amd64-X.Y.Z dartsteven/nutify:amd64-0.1.6
ARM64/aarch64 dartsteven/nutify:arm64-X.Y.Z dartsteven/nutify:arm64-0.1.6

Where X.Y.Z is the version number (e.g., 0.1.6).

Choosing the Right Tag

  • For production environments: If stability is critical, use a version-specific tag to ensure consistent behavior.
  • For development or personal use: Use the latest tag to always get the newest features and fixes.
  • For automatic updates: Use the latest tag in combination with a container update solution like Watchtower.

Updating to the Latest Version

To update to the latest version when using version-specific tags:

  1. Update your docker-compose.yaml file to use the new version tag
  2. Run docker-compose pull to download the new image
  3. Run docker-compose up -d to restart the container with the new image

If you're using the latest tag, simply run:

docker-compose pull
docker-compose up -d

Role-Based Authentication System

Starting with version 0.1.7, Nutify includes a user authentication system with administrator and user roles, where administrators can configure granular permissions for individual users to access specific pages and configuration areas.

User Roles

Nutify supports two main user roles:

Administrator (Admin)

  • Full Access: Complete control over all Nutify features and configurations
  • User Management: Can create, modify, and delete user accounts
  • Configuration Access: Full read/write access to all settings including:
    • Email configuration and testing
    • Webhook management and testing
    • Advanced NUT settings
    • Database management
    • System configuration
  • Execute Permissions: Can perform all actions including tests, saves, and administrative operations

Standard User

  • Configurable Page Access: Administrator can grant access to specific dashboard pages (home, energy, power, battery, voltage, info, command, settings, events, options)
  • Configurable Options Access: Administrator can grant access to specific options tabs (email, extranotifs, webhook, database, log, advanced, admin)
  • Granular Control: Each permission can be individually enabled or disabled by the administrator
  • Default Access: By default has access only to monitoring pages (energy, power, battery, voltage, info, events) but no commands or settings

Permission System

The authentication system uses a flexible approach:

Page Permissions

  • Control access to main dashboard pages: home, energy, power, battery, voltage, info, command, settings, events, options
  • Administrator automatically has access to all pages
  • Users can be individually configured by administrator to access specific pages
  • Each page permission can be enabled or disabled independently

Options Tab Permissions

  • Control access to configuration areas within the Options page: email, extranotifs, webhook, powerflow, database, log, advanced, admin
  • Administrator automatically has access to all options tabs
  • Users can be individually configured by administrator to access specific tabs
  • Each tab permission can be enabled or disabled independently
  • When granted access to a tab, user can perform all operations within that tab

Security Features

  • Secure Password Handling: All passwords are encrypted and securely stored
  • Session Management: Automatic session timeout and secure session handling
  • API Protection: All API endpoints are protected with appropriate permission checks
  • Input Validation: Comprehensive input validation and sanitization
  • Access Control: Granular access control for different system areas

Getting Started with Authentication

  1. Initial Setup: During the Setup Wizard, you'll create the initial administrator account
  2. Login: Access the system using your admin credentials
  3. User Management: Navigate to Options > Admin to manage additional user accounts
  4. Role Assignment: Assign appropriate roles based on user requirements
  5. Permission Testing: Verify that users have appropriate access levels

Best Practices

  • Strong Passwords: Use strong, unique passwords for all accounts
  • Least Privilege: Assign users the minimum permissions required for their role
  • Regular Review: Periodically review user accounts and permissions
  • Admin Protection: Ensure at least one administrator account remains active

Dummy UPS Configuration

If you're experiencing issues with UPS detection or want to test Nutify without a physical UPS, you can use the dummy UPS configuration. This feature can be enabled through the Setup Wizard.

During the setup process, if no physical UPS is detected, the wizard will offer you the option to set up a dummy UPS for testing purposes. Alternatively, you can access this option in the Advanced settings after the initial setup.

The dummy UPS allows Nutify to start properly even when no physical UPS is detected, which is useful for:

  • Testing the interface and functionality
  • Developing and customizing Nutify
  • Configuring notifications and reports before connecting a real UPS
  • Learning how to use Nutify in a safe environment

Supported UPS Drivers

Nutify includes the most essential and widely used UPS drivers from Network UPS Tools (NUT). These drivers support the majority of UPS devices available on the market.

Included UPS Drivers

  1. usbhid-ups

    • Description: The standard driver for most modern USB-connected UPS devices
    • Compatibility: Works with most APC, CyberPower, Eaton, and other major brand UPS devices with USB connections
    • Usage: Select during Setup Wizard or in Advanced settings
  2. nutdrv_qx

    • Description: A generic driver for UPS devices using the Megatec/Q1 protocol
    • Compatibility: Works with many Megatec, Voltronic Power, Blazer, and other UPS models
    • Usage: Select during Setup Wizard or in Advanced settings
  3. blazer_usb

    • Description: Driver for UPS devices using the Megatec/Voltronic protocol (USB)
    • Compatibility: Many budget UPS models from various manufacturers
    • Usage: Select during Setup Wizard or in Advanced settings
  4. blazer_ser

    • Description: Driver for UPS devices using the Megatec/Voltronic protocol (Serial)
    • Compatibility: Voltronic-based UPS models with serial connection
    • Usage: Select during Setup Wizard or in Advanced settings
  5. snmp-ups

    • Description: Driver for network-connected UPS devices using SNMP
    • Compatibility: Works with network-enabled UPS devices from APC, Eaton, and others
    • Usage: Select during Setup Wizard or in Advanced settings
  6. richcomm_usb

    • Description: Driver for Richcomm-based UPS devices with USB connection
    • Compatibility: Various UPS models using Richcomm controllers
    • Usage: Select during Setup Wizard or in Advanced settings
  7. tripplite_usb

    • Description: Driver for Tripp Lite UPS devices with USB connection
    • Compatibility: Various Tripp Lite UPS models
    • Usage: Select during Setup Wizard or in Advanced settings
  8. riello_usb

    • Description: Driver for Riello UPS devices with USB connection
    • Compatibility: Various Riello UPS models
    • Usage: Select during Setup Wizard or in Advanced settings
  9. apcsmart

    • Description: Driver for APC Smart-UPS models with serial connection
    • Compatibility: Older APC Smart-UPS models
    • Usage: Select during Setup Wizard or in Advanced settings
  10. mge-shut

    • Description: Driver for MGE UPS SYSTEMS UPS models
    • Compatibility: Various MGE UPS models
    • Usage: Select during Setup Wizard or in Advanced settings
  11. genericups

    • Description: Generic driver for simple UPS models
    • Compatibility: Basic UPS devices with limited features
    • Usage: Select during Setup Wizard or in Advanced settings
  12. liebert

    • Description: Driver for Liebert UPS models
    • Compatibility: Various Liebert UPS models
    • Usage: Select during Setup Wizard or in Advanced settings
  13. victronups

    • Description: Driver for Victron UPS/inverter models
    • Compatibility: Victron Energy UPS and inverter models
    • Usage: Select during Setup Wizard or in Advanced settings
  14. powercom

    • Description: Driver for PowerCom UPS models
    • Compatibility: Various PowerCom UPS models
    • Usage: Select during Setup Wizard or in Advanced settings
  15. clone

    • Description: Clone driver for UPS with multiple ports/cables
    • Compatibility: UPS models that support multiple connections
    • Usage: Select during Setup Wizard or in Advanced settings
  16. upscode2

    • Description: Driver for UPScode II compatible UPS models
    • Compatibility: UPS models supporting the UPScode II protocol
    • Usage: Select during Setup Wizard or in Advanced settings
  17. bestups

    • Description: Driver for Best Power UPS models
    • Compatibility: Best Power UPS models
    • Usage: Select during Setup Wizard or in Advanced settings
  18. belkin

    • Description: Driver for Belkin UPS models
    • Compatibility: Various Belkin UPS models
    • Usage: Select during Setup Wizard or in Advanced settings
  19. dummy-ups (always included by default)

    • Description: A virtual driver for testing without a physical UPS
    • Usage: Select during Setup Wizard if no physical UPS is available

This selection of drivers covers more than 95% of UPS models available on the market. If you need support for a specific driver not listed here, please open an issue on GitHub.

Determining the Right Driver

The Setup Wizard will help you select the appropriate driver based on your UPS model. For manual selection:

  1. Check the manufacturer and model of your UPS
  2. Start with the default usbhid-ups driver for most modern USB UPS devices
  3. If your UPS is not detected, try nutdrv_qx or blazer_usb for USB connections
  4. For serial-connected devices, use blazer_ser or other specific serial drivers
  5. For specific brand devices, use the corresponding driver (tripplite_usb, riello_usb, etc.)
  6. For network-connected UPS devices, use snmp-ups

You can reference the NUT hardware compatibility list for specific recommendations.


Operational Modes

Nutify supports two operational modes that provide flexibility in how you deploy and use the system:

SERVER Mode

In SERVER mode, Nutify runs a complete Network UPS Tools (NUT) server with local UPS drivers. This is the default mode and is used when:

  • You have a UPS device connected directly to the host machine
  • You want to monitor a UPS through SNMP
  • You want to share your UPS with other devices on the network

To configure SERVER mode, select this option in the Setup Wizard and follow the guided steps to:

  • Select the appropriate UPS driver
  • Configure connection parameters
  • Set up authentication credentials

CLIENT Mode

In CLIENT mode, Nutify connects to a remote NUT server without running local drivers. This is useful when:

  • Your UPS is already connected to another NUT server
  • You want to monitor a UPS from multiple locations
  • You want a lightweight monitoring dashboard without running UPS drivers

To configure CLIENT mode, select this option in the Setup Wizard and provide:

  • The IP address of the remote NUT server
  • The name of the UPS on the remote server
  • Authentication credentials if required

Nutify's robust mode detection system ensures reliable operation even in complex network environments.


SSL Configuration

Nutify supports secure HTTPS connections through SSL/TLS. This feature is particularly useful when accessing your Nutify instance over the internet or when you need to ensure secure communications.

To enable SSL, set the following environment variable in your docker-compose.yaml file:

environment:
  - SSL_ENABLED=true                               # Enable HTTPS

When SSL is enabled:

  1. Nutify will automatically check for existing certificates in the /app/ssl directory
  2. If valid certificates are found, they will be used for HTTPS connections
  3. If no certificates exist or they have expired, Nutify will generate self-signed certificates
  4. The web interface will be accessible via HTTPS on port 443

You can provide your own certificates by mounting them in the /app/ssl directory:

volumes:
  - ./Nutify_volumes/ssl:/app/ssl                         # SSL certificates directory

Place your certificates in the ./Nutify_volumes/ssl directory with the following names:

  • cert.pem: The SSL certificate
  • key.pem: The private key

Self-signed certificates are suitable for personal use, but for production environments, consider using certificates from a trusted certificate authority.


Email Reports and Alerts

Nutify can send automated email reports with detailed information about your UPS status. These reports include:

Regular Status Reports

Comprehensive reports with charts and statistics about your UPS performance over time.

Email Status Report

Alert Notifications

Immediate notifications when critical events occur, such as power outages or low battery conditions.

Email Alert Notification

To configure email reports, use the Options page in the web interface, which now provides an improved interface for email configuration:

  1. Navigate to Options > Email
  2. Select your email provider or configure custom SMTP settings
  3. Enter your email credentials and sender information
  4. Configure notification preferences and schedules
  5. Test your email configuration before saving

Technologies Used

Nutify is built using a variety of modern technologies:

  • Backend: Python, Flask, SQLAlchemy
  • Frontend: JavaScript, HTML, CSS, Tailwind CSS
  • Database: SQLite
  • Charting: Chart.js, ApexCharts.js
  • Containerization: Docker, Docker Compose
  • UPS Communication: Network UPS Tools (NUT)

Installation and Usage

Prerequisites

Before installing Nutify, ensure you have the following:

  • Docker and Docker Compose installed on your system
  • A UPS compatible with NUT (Network UPS Tools) or a remote NUT server

Installation Steps

  1. Create Docker Compose Configuration: Create a docker-compose.yaml file with the minimal configuration described in the "Docker Compose Configuration" section.

  2. Start Nutify:

    docker-compose up -d
  3. Access the Setup Wizard: Open your web browser and navigate to http://localhost:5050

  4. Follow the Setup Wizard: Complete the step-by-step configuration process to set up your UPS monitoring.

  5. Access Nutify Dashboard: After completing the setup, you'll be redirected to the main dashboard where you can view your UPS status.

Architecture Selection

To use a specific architecture, simply modify the image line in your docker-compose.yaml file:

services:
  nut:
    image: dartsteven/nutify:arm64-latest  # For ARM64 devices like Raspberry Pi 4

All architectures provide identical functionality, allowing you to run Nutify on virtually any hardware from small single-board computers to powerful servers.


Feature Details

Main Dashboard

Displays the current status of the UPS, including battery charge, remaining runtime, power, and load.

Main Dashboard

Setup Wizard

The new Setup Wizard simplifies the initial configuration process:

Setup Wizard

System Monitoring

Real-time CPU and RAM usage monitoring is available in the dashboard header:

System Monitoring

Energy Monitoring

Analyzes energy consumption over time, with cost calculation and efficiency metrics.

Energy Monitoring

Real-Time Energy Monitoring

Real-Time Energy Monitoring

Date Range Selection

Date Range Selection 1 Date Range Selection 2

Power Monitoring

Tracks power consumption, load percentage, and other power-related metrics.

Power Monitoring

Real-Time Power Monitoring

Real-Time Power Monitoring

Voltage Monitoring

Displays input and output voltage over time.

Voltage Monitoring

Real-Time Voltage Monitoring

Real-Time Voltage Monitoring

Battery Monitoring

Tracks battery status, remaining runtime, and performance over time.

Battery Monitoring

Real-Time Battery Monitoring

Real-Time Battery Monitoring

UPS Information

Provides detailed information about your UPS device.

UPS Information

UPS Commands

Sends commands to the UPS such as battery test, shutdown, etc.

UPS Commands

UPS Variables

Allows reading and writing UPS variables for advanced configuration.

UPS Variables

Event Management

Logs and notifies UPS events such as power outages, low battery, etc.

Event Management

API Access

Direct access to system APIs for integration with other tools.

API Access

Data Export

Download complete UPS data in JSON format for analysis or backup:

Download JSON

Connection Recovery

Automatic reconnection and recovery mechanisms for UPS communication failures:

Connection Recovery

Scheduler Configuration

Configure scheduled tasks such as reports generation and data collection.

Scheduler Configuration

Database Management

Tools for database maintenance and optimization.

Database Management

Troubleshooting

Common Issues

UPS Not Detected

If your UPS is not detected during the Setup Wizard:

  1. Ensure the UPS is properly connected to your system
  2. Make sure the Docker container has access to USB devices (check the devices section in docker-compose.yaml)
  3. Try using a different UPS driver in the Advanced settings
  4. Check the logs for any error messages

Setup Wizard Not Appearing

If the Setup Wizard doesn't appear automatically:

  1. Ensure the container is running with docker ps
  2. Check if the web interface is accessible at http://localhost:5050
  3. Navigate manually to http://localhost:5050/setup/welcome
  4. Check container logs with docker logs <container_name>

SSL Certificate Issues

If you're having issues with SSL certificates:

  1. Ensure the certificate files are properly named (cert.pem and key.pem)
  2. Check that the certificate files have the correct permissions
  3. Verify that the certificate is valid and not expired

Email Configuration

If email reports are not being sent:

  1. Use the Test Email feature in the Options > Email page
  2. Check your SMTP server settings
  3. Verify that your email provider allows SMTP connections
  4. Check the logs for any error messages related to email sending

Getting Help

If you encounter any issues not covered in this troubleshooting section, please:

  1. Check the logs for any error messages
  2. Search for similar issues in the GitHub repository
  3. Join our Discord server for community support
  4. Open a new issue on GitHub with detailed information about your problem

Bug Reporting Guidelines

To help us effectively address and resolve bugs, please provide the following information when reporting issues:

  1. Environment Details:

    • Platform (Linux, Windows, macOS)
    • Architecture (AMD64, ARM64, etc.)
    • Virtualization (if applicable)
    • Docker version
    • Docker Compose version
  2. Configuration Files:

    • Complete docker-compose.yaml file
    • JSON configuration file (if applicable)
    • Any custom configuration files
  3. System Information:

    • Host operating system details
    • Container logs
    • Relevant system logs
    • UPS model and connection type
  4. Issue Description:

    • Clear steps to reproduce the issue
    • Expected behavior
    • Actual behavior
    • Error messages (if any)
    • Screenshots (if applicable)

Without this information, we cannot effectively investigate or resolve reported issues. Please ensure you provide all relevant details when submitting bug reports.


Configuration Changes

Version 0.1.7 Updates

Version 0.1.7 introduces significant enhancements while maintaining compatibility with existing configurations:

  1. Authentication System:

    • New role-based authentication system with multi-user support
    • Automatic migration of existing configurations to support user roles
    • Enhanced security with comprehensive permission system
  2. Database Schema:

    • Updated database schema to support user authentication and role-based permissions
    • Automatic migration preserves all existing UPS data and configurations
    • Improved data integrity and relationship constraints
  3. Enhanced Security:

    • All API endpoints now protected with permission-based access control
    • Secure password handling and session management
    • Input validation and sanitization improvements
  4. UI Improvements:

    • Fixed Setup Wizard navigation and button alignment issues
    • Improved configuration editor state persistence
    • Streamlined authentication interface

Version 0.1.6 Legacy Information

Starting with version 0.1.6, Nutify transitioned from manual Docker Compose configuration to a Setup Wizard interface:

  1. Configuration Migration: All configuration settings previously managed through Docker Compose environment variables are now handled through the Setup Wizard interface.

  2. Database Impact:

    • Configuration tables were reset during the migration from 0.1.5 to 0.1.6
    • UPS metric data (voltage, power, battery status, etc.) was preserved
    • This was necessary to ensure proper integration with the new configuration system
  3. Current Status: Nutify is continuously evolving with regular improvements and new features. We appreciate your feedback and patience during this development process.

  4. Backup Recommendation: While your UPS metric data is preserved during updates, we recommend backing up your configuration before updating.

  5. Documentation Updates: This wiki is regularly updated to reflect new features and configuration approaches. Please refer to the Setup Wizard and Authentication sections for current information.


Thank you for using Nutify! If you find it useful, please star the project on GitHub and join our community for support and updates.

Clone this wiki locally