Well, the systemd service is started as root, but calibre defaults to looking at the user database in "${XDG_CONFIG_HOME:-$HOME/.config}/calibre/server-users.sqlite". So you have edited it in /home/dom134/ (or whatever your username is) and then the systemd instance tried accessing it in /root/
You can pass the --userdb /path/to/server-users.sqlite if you like, but I suggest running calibre-server under your systemd user instance.
There is also no need for a pidfile, and if you don't specify a library calibre will fallback on serving all the libraries known to the GUI configuration.
Code:
[eschwartz@arch ~]$ cat ~/.config/systemd/user/calibre-server.service
[Unit]
Description=Main calibre server
After=network.target
[Service]
ExecStart=/usr/bin/calibre-server \
--port=8080 \
--enable-auth \
--access-log=/%h/.local/share/calibre.log
[Install]
WantedBy=default.target