Turns out this was being worked on by lemmy.ca at the same time I was noticing it - they were sending everything 3 times because they're running 3 containers, so maybe you're running 2?
For federation I run 3 containers as lemmy.ca seems to do, however the indexes are set to the correctly value. So that doesn't seem to be the cause, as it has been for lemmy.ca
I run 2 lemmy-ui and backend containers, so maybe that has something do with it? I run a test site, so I will look into it and see if I can figure out the issue.
I restarted the federation containers and my test site now only receives 1 activity, when I upvote something. Before I received 2 activity requests, where nginx returned 400 for the first request and then 200 for the second request.
Just thought I'd check it wasn't due to something at my end, so I send a Like to a community on a test instance (where I can use ngrok's Inspect utility to see the incoming traffic):
It's a bit blurry, but hopefully it's visible that they're exactly the same