I can install and run pixelfed on a subdomain, for example, pixelfed.example.com
[http://pixelfed.example.com]. However, I also run mastodon.example.com
[http://mastodon.example.com]. My webfinger points at mastodon. How do I
configure a webfinger for both pixelfed and mastodon? How do you all have your
webfingers setup when you run multiple activitypub-based services? Edit: I
should also add that I’m trying to tie my mastodon account to
[email protected],
not specific to the mastodon subdomain, but specific to my user email identity.
My mastodon domain would be sometime like mastodon.domain.com
[http://mastodon.domain.com], which would normally make my user
[email protected] [
[email protected]]. I do see this as a
potential solution - I could route the specific service based on user agent to
the correct webfinger:
https://serverfault.com/questions/775463/nginx-redirect-based-on-user-agent#825725
[https://serverfault.com/questions/775463/nginx-redirect-based-on-user-agent#825725]
So here is the issue on github: https://github.com/pixelfed/pixelfed/issues/3563
[https://github.com/pixelfed/pixelfed/issues/3563] If folks have GitHub
accounts, could you please bump this/thumbs up?
I was hoping that pixelfed would request a different rel than mastodon. I’m pretty sure I have my webfinger configured to use [email protected], which works fine for diaspora and mastodon because they operate off different resources - but I think pixelfed copies mastodon so requesting the mastodon rel gives my mastodon user. That seems like a bug in pixelfed, to me.
Maybe there is some kind of workaround, but I have not seen it so far.
Looks like someone has filed this issue:
https://github.com/pixelfed/pixelfed/issues/3563
Yes, but I think this still would not allow having two different AP services on the same root domain.
For that it would need to do some webfinger multiplexing and also the s2s connections would need to be somehow marked according to what specific type of AP software they are supposed to address.
If a service was serving the webfinger, it could guess which account needed to be returned based on the requesters user agent. If the UA was mastodon, it could return the mastodon link rel, if pixelfed then return that link rel, etc.
Might be able to rig it with some more complex conditional logic and regex in nginx as a bandaid. AFAICT, the webfinger spec doesn’t really allow for this, which if true, was pretty short sighted.
I haven’t considered more in depth S2S connections. I’ll have to watch the traffic logs and see what exactly is being requested and see if all of it can be directed accordingly. I see now you commented on that issue. Also, to be clear, I’m still running the services in subdomains, but I’m trying to use [email protected] as the discovery account.
How do you run two AP services on the same domain?
Exactly… But as I wrote it might be possible with some nginx multiplexing hack.
I’m not sure I understand why hacks are needed. In order to run two AP services you either need two different [sub]domains, or two different URLs on the same domain. In both cases the webfinger URL will be specific to the AP [sub]domain or URL. So the problem is already solved.
How would this “multiplexed” webfinger URL even look?
The webfinger would be the same, but once the server gets contacted it would need to multiplex requests on some sort of identifier.