IOTA Friend is built on top of IPM. IPM is great but missing many features that causes friction on the usability. One of major headache I have with IPM is users have to update iota.ini every time a peer has been added or removed and IOTA Friend resolved this issue by making the iota-fd config file as the source of the truth; which mean everytime a peer got added or removed, IOTA Friend will automatically mirror that in the config file and it will also re-add those peers back after restarting IRI.
I strongly recommand to remove all neighbours from the iota.ini and re-add them back one by one manually through the UI.
If you want to run IOTA Friend under a different user, then jump to Setup 2.
npm install -g iota-friend
#generate config file
iota-friend -i
#run iota-friend
iota-friend
Remember to replace <user> to a real username
# install iota-fried globally
npm install -g iota-friend
#generate config file
export IOTA_FD=/home/<user> && sudo -Eu <user> bash -c 'iota-friend -i'
Remember to replace <user> to a real username
cat << "EOF" | sudo tee /lib/systemd/system/iota_friend.service
[Unit]
Description=IOTA Friend
After=network.target
[Service]
#change the username
User=<user>
Group=<user>
Type=simple
ExecStart=/usr/local/bin/iota-friend
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable iota_friend.service
sudo systemctl start iota_friend.service
You can see the dashboard under http://<ip-address>:<port>
sudo journalctl -u iota_friend -f
npm install -g iota-friend@latest