I am curious, does your server "initiate" the connection to the "federation", or do you have to make it publicly accessible (by opening a port, etc)?
Additionally (and optionally for Tangled use), I'm also hosting my own PDS which is my personal data server. This is the home for my AT proto profile, which contains all of my AT proto activity like Bluesky comments and likes. Tangled does look at the PDS for identity but the code is in the parallel structure of the knot. I suspect this is cause AT proto wasn't built for code so the PDS isn't sufficient for an entire git repository but don't quote me on that.
Finally I'm running a spindle, which is just a CI runner, and that's registered with Tangled very similarly to how a self-hosted GitHub or Gitlab action runner would be.