2.1 KiB
2.1 KiB
IPMI Controller - Persistence Setup
Data Persistence
All configuration and user data is stored in the data/ directory:
data/config.json- All settings, fan curves, IPMI configdata/users.json- User accounts and passwords
IMPORTANT: The data/ directory is committed to git for version control of your settings.
Backup Your Settings
# Create backup
cd ~/ipmi-controller
cp -r data data.backup.$(date +%Y%m%d)
# Or backup to external location
cp data/config.json /mnt/backup/ipmi-controller-config.json
Auto-Start on Boot (systemd)
- Create service file:
sudo tee /etc/systemd/system/ipmi-controller.service << 'EOF'
[Unit]
Description=IPMI Controller
After=network.target
[Service]
Type=simple
User=devmatrix
WorkingDirectory=/home/devmatrix/ipmi-controller
ExecStart=/usr/bin/python3 /home/devmatrix/ipmi-controller/web_server.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
- Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable ipmi-controller
sudo systemctl start ipmi-controller
- Check status:
sudo systemctl status ipmi-controller
sudo journalctl -u ipmi-controller -f
Docker Deployment (Persistent)
# Using docker-compose
cd ~/ipmi-controller
docker-compose up -d
# Data is persisted in ./data directory
Updating Without Losing Settings
cd ~/ipmi-controller
# Backup first
cp -r data data.backup
# Pull updates
git pull
# Restart
sudo systemctl restart ipmi-controller
# OR if using docker:
docker-compose restart
What Gets Persisted
✅ IPMI connection settings
✅ HTTP sensor configuration
✅ Fan curves (Balanced, Silent, Performance, etc.)
✅ User accounts and passwords
✅ Theme preference (dark/light)
✅ Fan groups and custom names
✅ All control settings (poll interval, panic temps, etc.)
Migration to New Server
- Copy
data/config.jsonanddata/users.jsonto new server - Install ipmitool:
sudo apt-get install ipmitool - Install Python deps:
pip install -r requirements.txt - Start server:
python3 web_server.py