Apple now use SMB for time machine backup, but it require F_FULLFSYNC which is not supported by most SMB servers* like Windows server or current stable version of samba.
Thanks to latest version of samba, now time machine can work with linux / unix server. But it seems there isn't so much step by step guidance for it so it caused me lots of time to build a linux server for samba.
Environment: Ubuntu Server (arm64) 18.04 LTS