Hi, I’m a bit struggling with Activity Pub configuration (everything else seems right).
I will use ghost activity pub (not selfhost). Activitypub docker is up and running (i use Portainer). It is listening to 8080 port. It seems that ProxyReverse is working too (i use Apache a web server). But still the network tab don’t show anything, with a “Loading interrupted” error. And when I try to see Activitypub mysql database is empty. I don’t know how to restart everything so the first account is created.
Thanks!
Restart Ghost and look for a message on startup about webhooks. Report back what it says. Also look for any 404s right on start.
When you visit the network tab, take a look for failed network requests in your browser console (F12) and in the Ghost logs. Anything there?
Thanks. At startup I found the error I saw cited many times in the forum about webhook:
[2025-09-16 15:12:07] ERROR Could not get webhook secret for ActivityPub FetchError: invalid json response body at https://luddita.cc/.ghost/activitypub/v1/site reason: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
[2025-09-16 15:12:07] ERROR No webhook secret found - cannot initialise
From last time it was up, I found several 404 to /.ghost/ links too. Then in the console:
XHRGET
https://luddita.cc/.ghost/activitypub/v1/feed/reader/
[HTTP/1.1 404 Not Found 790ms]
XHRGET
https://luddita.cc/.ghost/activitypub/users/index
[HTTP/1.1 301 Moved Permanently 659ms]
XHRGET
https://luddita.cc/.ghost/activitypub/v1/account/me
[HTTP/1.1 301 Moved Permanently 331ms]
XHRGET
https://luddita.cc/.ghost/activitypub/v1/notifications/unread/count
[HTTP/1.1 301 Moved Permanently 273ms]
XHRGET
https://luddita.cc/.ghost/activitypub/v1/blocks/accounts
[HTTP/1.1 301 Moved Permanently 210ms]
XHRGET
https://luddita.cc/.ghost/activitypub/v1/blocks/domains
[HTTP/1.1 301 Moved Permanently 337ms]
XHRGET
https://luddita.cc/.ghost/activitypub/v1/account/me/follows/following
[HTTP/1.1 301 Moved Permanently 210ms]
I think it was what you expected to see. I coudl understand that maybe that Proxy is not working as it should. I’m trying to convert the solutions on nginx to apache (the server I have, and I use apache as proxy for other stuff, like the same ghost that is working).
There’s a mention on documentation about the url, that maybe is not working correctly: How To Install Ghost With Docker (preview) - Ghost Developer Docs
And also, maybe trying to force recreate ghost as suggested after made some changes
It looks like you’re not correctly proxying .ghost/activitypub/* to the activitypub container. I can’t tell you how to do that with Apache, but that’s what you need to accomplish.
I’m still trying to figure out how to transform those intructions to apache. But I think I have another doubt, if I want to use ap.ghost.org proxy, do I need the activitypub docker from ghost?
I don’t see any call to that 8080 in my docker
No. You either use the ap.ghost.org, and you set up your proxy to send .ghost/activitypub/* requests THERE, /or/ you run the activitypub docker, and you proxy those requests to it.
Thanks, still not working but at least I don’t need to add that docker container
You’re probably missing a redirect. Take a careful look for 404 message in Ghost’s logs or your proxy’s logs right after restarting Ghost, and again when you try to visit the Network tab. Any hints?
Thanks for your patience, I found the error now. A IA changed Location to LocationMatch, but didn’t change ProxyPass to ProxyPassMatch, and I found in some old school forums that if you use LocationMatch, you need to use ProxyPassMatch. Now it’s working.
Again, thanks!