If we resume packaging nutify we will likely remove SSH from the image (and move it to hlhd/nutify) as we find that embedding SSH in this container is not preferred to NUT server & client interaction. Hosts can listen to the master NUT server and shutdown when it has reported on battery status for a specific duration. If you choose this image, continue informed that it is outdated and not best practice, ever.
In the meantime you can use the packaging from the official maintainer:
docker pull dartsteven/nutify:0.3.0-amd64
0.3.0-amd64was specified as an example, a newer version may be available.
➡️ Official Repository: https://hub.docker.com/r/dartsteven/nutify
Please update your image references. Tags here are frozen at the last version published before the move.
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.
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!
Note: This is a modified version of Nutify with SSH added to it. The developer has stated upon reaching out that he will soon add, official support. This image was published by SoFMeRight. I did a best effort to document this after pushing it by incident, not truly mistake as part of a GitOps pipeline test. So I guess this is published now 🤷🏽♀️ So I may as well document it I guess????
In the Nutify UI: Custom configurations via the Settings⚙️ on top right -> Advanced Section
Look to edit the file "/etc/nut/upsmon.conf" For the deault config we should replace this line:
SHUTDOWNCMD "/sbin/shutdown -h now"
For something like this:
SHUTDOWNCMD "/bin/bash /root/script/nutify-shutdown.sh"
We will need to create a script. i.e.
docker exec -it Nutify nano /root/script/nutify-shutdown.sh
Change its contents to something like this:
#!/bin/bash
apt update
apt install -f -y openssh-client
hosts=( "Avocado" "Bamboo" "Cosmos" "Dragonfruit" "Eggplant" )
for host in "${hosts[@]}"; do
ssh root@$host "shutdown now"
done
Note that we will need to ensure the script has execute permissions, i.e.
docker exec -it Nutify chmod +x nutify-shutdown.shdocker exec -it Nutify ssh-keygen -b 4096docker exec -it Nutify ssh-copy-id <user>@<host>Note: Running this command WILL SHUT DOWN THE HOSTS YOU SPECIFIED in the nutify-shutdown.sh script if you configured everything correct, so just be aware of that as you run this command!
docker exec -it Nutify /usr/local/sbin/upsmon -c fsd
Additional Note: your UPS may need additional setup to ensure it sends the proper command to Nutify to actually execute this properly. If the above command works you should do any further tweaking to your actual UPS if its still behaving wrong when you cut the power.
Other Useful Links you may Reference: https://www.virtono.com/community/tutorial-how-to/restrict-executable-ssh-commands-with-authorized-keys/ https://forum.proxmox.com/threads/shutdown-the-server-via-api.98125/ https://dan.langille.org/2020/09/10/nut-testing-the-shutdown-mechanism/
🆕 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.
⚠️ IMPORTANT: Latest Updates in v0.1.7 ⚠️
Version 0.1.7 introduces significant improvements including:
👉 For detailed information on new features and migration, please see the Nutify Wiki.
To run Nutify using Docker Compose:
docker-compose.yaml file with the following minimal configuration:services:
nutify:
cap_add:
- SYS_ADMIN
- SYS_RAWIO
- MKNOD
container_name: Nutify
device_cgroup_rules:
- 'c 189:* rwm'
devices:
- /dev/bus/usb:/dev/bus/usb:rwm
env_file: nutify-secret.env
environment:
# - SECRET_KEY=$SECRET_KEY # for password encryption and decryption in the database
- UDEV=1
image: cr.pcfae.com/prplanit/nutify-ssh:latest # Use amd64-latest or armv7-latest based on your architecture
ports:
- 3493:3493
- 5050:5050
- 443:443
privileged: true
restart: always
user: root
volumes:
- /opt/docker/Nutify/logs:/app/nutify/logs
- /opt/docker/Nutify/instance:/app/nutify/instance
- /opt/docker/Nutify/ssl:/app/ssl
- /opt/docker/Nutify/etc/nut:/etc/nut
- /opt/docker/Nutify/.ssh:/root/.ssh
- /opt/docker/Nutify/script:/root/script
- /dev:/dev:rw # Full /dev access improves hotplug handling
- /run/udev:/run/udev:ro # Access to udev events # Improve USB detection
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:
SERVER (Standalone): If the UPS is directly connected to this machine.CLIENT (Netclient): If connecting to a remote NUT server.myups).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:
The setup wizard allows you to configure:
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.
For detailed documentation, including:
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!
Content type
Image
Digest
sha256:915485704…
Size
9.2 MB
Last updated
about 1 year ago
docker pull prplanit/nutify-ssh