Activity Pub profile issue - "Profile not found"

Hello all,

I have read all the topics on the AP, but considering there are no recent threads, and existing ones are not covering this particular issue, I have opened a new one.

Running multiple Ghost (latest 6.19.2) instances in Docker for years. I have zero issues with the setup, but AP is giving me some problems that I’m not sure is it related to a configuration layer or something else.

After a fresh boot, the log is reporting:

[2026-02-26 09:37:35] INFO Checking ActivityPub Webhook state
[2026-02-26 09:37:35] INFO ActivityPub webhooks in correct state
[2026-02-26 09:37:35] INFO Explore Response 200 OK

Visiting the Network section via Ghost admin, everything loads just fine including the Profile page, Reader, accounts that are being followed etc.

What doesn’t work is when trying to visit my profile by clicking the avatar icon/name inside the loaded Profile section, I get: “Profile not found”

This is followed by the browser console error 404:

GET
https://www.blackvoid.club/.ghost/activitypub/v1/account/@index@blackvoid.club
[HTTP/3 404  162ms]

Also, when trying to use the @index@blackvoid.club to search for my profile via Mastadon for example I also do not get the profile loaded.

Blusky sharing/linking works via the configured URL: @index.www.blackvoid.club.ap.brid.gy.

So, my question here is why can’t I locate my profile via Mastadon for example? Is there something that I have not configured or missed?

Reverse proxy is nginx (NPM to be exact) and added blocks look like this in that particular order:

 # Serve JWKS from local Ghost app (required for ActivityPub)
location = /ghost/.well-known/jwks.json {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $http_host;
    proxy_pass http://127.0.0.1:2368;
}

  location ~ /.ghost/activitypub/* {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $http_host;
    #add_header X-Content-Type-Options $header_content_type_options;
    add_header X-Content-Type-Options nosniff;
    proxy_ssl_server_name on;
    proxy_pass https://ap.ghost.org;
}

location ~ /.well-known/(webfinger|nodeinfo) {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $http_host;
    #add_header X-Content-Type-Options $header_content_type_options;
    add_header X-Content-Type-Options nosniff;
    proxy_ssl_server_name on;
    proxy_pass https://ap.ghost.org;
}

Also I’m not using the selfhosted AP container, but wanted to rely on the ghost provided one, but that is more than obvious from the configuration.

Thanks for any heads up and assistance on the matter!

Something odd is going on with your search results:

Although I can see blackvoid.club (and .tech) in the search results and with your logo, I also see the “profile not found” error.

Always my first thought: Try turning off the network toggle in Ghost admin wait a bit, then turn it back on. (Hoping that un- and re-register will get it sorted out.)

More complicated thought: Are .club and .tech separate Ghost installs on the same server, and might there be some interference? (And did you mean to have uat and uatv6 on activitypub?)

Hi there

Thank you for the reply. All 4 instances are separate containers (UAT is a test instance that gets patched 1st), UAT6 was a one time major v5 to v6 update instance, and .club and .tech are two production instances (EN and non-EN version).

So are those on the same bare metal device, yes, but they are all running separate DBs, separate Docker containers, separate reverse proxy hosts etc… So, separation is 100% and those instances are not aware of each other.

Try turning off the network toggle in Ghost admin wait a bit, then turn it back on. (Hoping that un- and re-register will get it sorted out.)

Ok will try and and I will turn it off for my test instances as well.

Am I to understand that un/re-registering happens automatically? How long should I wait, is there any ballpark time frame?

Thank you again for the assistance!

Thanks for clarifying! It sounds like you’ve got good isolation there, although it’s interesting that all your instances have the same problem… :thinking:

My understanding (but I don’t work for Ghost Foundation and haven’t dug into the AP code very much) is that turning off the network toggle should unregister you. No promises, but it’s easy enough to try it. (Yesterday I had to reboot my CAR to fix a problem, so ya know…)

If that doesn’t work, we might need some participation from one of the Ghost staff members – it’s sometimes happened that things get into a weird state and aren’t self-healing.

2 Likes