Zeus:
Contents⌗
Video⌗
Networking⌗
I decided I don’t want to use NetworkManager, so I instead wrote my own /etc/network/interfaces
file (no need for IPv4 on this node, so inet6 auto only):
auto eth0
iface eth0 inet6 auto
Then uninstalled network-manager
and reboot. I get an IP based on the EUI64 which is the easiest way to do things and I don’t care about privacy extensions with my little IoT router here.
PBS Backups⌗
I backup everything to Proxmox Backup Server, so I need to install the client to backup this host.
If you’re running on an ARM device you can get deb packages from https://github.com/wofferl/proxmox-backup-arm64
If you are running on x86 you can use Proxmox’s client-only repository. In any case, install PBS from packages.
Here’s my backup script (/etc/systemd/system/backup.service
):
[Unit]
Description=Run Backup to Proxmox Backup Server
After=network-online.target
[Service]
#TLS fingerprint if cert is self-signed
Environment=PBS_FINGERPRINT=your_fingerptint
#Your API key here
Environment=PBS_PASSWORD=api_key_here
#Use your user @ realm ! api key name @ hostname : repository
Environment=PBS_REPOSITORY=user@pbs!apikey@localhost:backup
Type=oneshot
#Backup the root fs. This will not backup any other mount points, only the mount point which mounts /
#You can add more pxars if you want more mount points
#--change-detection-mode=metadata is optional, but I prefer it
ExecStart=proxmox-backup-client backup root.pxar:/ --change-detection-mode=metadata
[Install]
WantedBy=default.target
I also have a backup timer (/etc/systemd/system/backup.timer
):
[Unit]
Description=Backup System Daily
RefuseManualStart=no
RefuseManualStop=no
[Timer]
#Run 540 seconds after boot for the first time
#OnBootSec=540
#Run at 7pm
OnCalendar=*-*-* 19:00:00
Unit=backup.service
[Install]
WantedBy=timers.target
Then a quick systemctl daemon-reload
and sytemctl enable backup.timer
is all you need.
Waveshare UPS Monitor⌗
I used my code from the last project. Here are the steps to install it:
#Install git to clone repo
sudo apt install git
#Clone repo
git clone https://github.com/apalrd/waveshare_ups_mqtt
#Cd into repo, run install script
cd waveshare_ups_mqtt
./install.sh
#Now edit the yaml (/etc/waveshare_ups.yaml) to add your broker and uname/password
#Then start the service
sudo systemctl start waveshare_ups
ZwaveJS UI⌗
I previously used Snap packages but I really hated them so I am now using the NPN (nodeJS package manager) version combined with a systemd service script. Install:
#Node 22 (ZwaveJS is using 18 I think?
curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh
sudo -E bash nodesource_setup.sh
#Install it from packages
sudo apt install nodejs -y
#Since we used apt here, we can run `apt upgrade -y` to upgrade Node minor versions
#Install zwave js ui
sudo npm install -g zwave-js-ui
#Create directory
mkdir -p /var/zwavejs
Service:
[Unit]
Description=Z-Wave Network Manager
After=network-online.target
[Service]
#ZwaveJS binary
ExecStart=/usr/bin/zwave-js-ui
#Storage location
Environment=STORE_DIR=/var/zwavejs
#Config location
Environment=ZWAVEJS_EXTERNAL_CONFIG=/var/zwavehs/.config-db
[Install]
WantedBy=default.target
Then it’s just a systemctl daemon-reload
and systemctl enable --now zwavejs