I just uh, wrote a bash script that does it.
It dumps databases as needed, and then makes a single tarball of each service. Or a couple depending on what needs doing to ensure a full backup of the data.
Once all the services are backed up, I just push all the data to a S3 bucket, but you could use rclone or whatever instead.
It's not some fancy cool toy kids these days love like any of the dozens of other backup options, but I'm a fan of simple and well, a couple of tarballs in a S3 bucket is about as simple as it gets since restoring doesn't require any tools or configuration or anything: just snag the tarballs you need, unarchive them, done.
I also use a couple of tools for monitoring the progress and a separate script that can do a full restore to make sure shit works, but that's mostly just doing what you did to make and upload the tarballs backwards.