Furthermore, arguably every RPC service (rpc-statd.service, nfs-mountd.service, etc.) should explicitly have
BindsTo=rpcbind.service
After=rpcbind.service
because they literally are bound to rpcbind. If rpcbind is stopped/restarted, every RPC service must also be stopped/restarted so as to rebind (as stated in rpcbind(8)). Depending on rpcbind.socket seems wrong when rpcbind must itself be running for any RPC service to start serving requests.
Or perhaps just put that in nfs-server.service and have everything transitively bind to rpcbind via that unit.
Furthermore, arguably every RPC service (rpc-statd.service, nfs-mountd.service, etc.) should explicitly have
BindsTo= rpcbind. service rpcbind. service
After=
because they literally are bound to rpcbind. If rpcbind is stopped/restarted, every RPC service must also be stopped/restarted so as to rebind (as stated in rpcbind(8)). Depending on rpcbind.socket seems wrong when rpcbind must itself be running for any RPC service to start serving requests.
Or perhaps just put that in nfs-server.service and have everything transitively bind to rpcbind via that unit.