Publishing just 54 files it times out with 4 to go. There is no visible delay between publishing the last file and the “timeout” so I suspect there isn’t really a timeout error.
Trying again with 25 files to publish it quits with 2 files to go. Then publishing again it naturally starts the whole 25 files and fails with just 1 to go. Does the publishing engine not keep track of what has already been uploaded?