I found it easy to get the front end showing but the backend stuff required a little trial, error, and searching to get sorted. Here’s a part-example of what I needed to make sure the correct traffic was sent to the back end (this is using a yaml file, not inline in a compose file):
rule: "(Host(`domain.com`) && (PathPrefix(`/pictrs`) || PathPrefix(`/api`) || PathPrefix(`/feeds`) || PathPrefix(`/nodeinfo`) || PathPrefix(`/.well-known`))) || (Host(`domain.com`) && Method(`POST`)) || (Host(`domain.com`) && Headers(`Accept`, `application/activity+json`)) || (Host(`domain.com`) && Headers(`Accept`, `application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"`))"
I also decommissioned mine as I was seeing comments and posts coming up a lot quicker and more reliably on the lemmy.nz instance.
And the zsh equivalent Oh My Zsh