# Ghost 6 + Docker: ActivityPub setup issue

**URL:** <https://forum.ghost.org/t/ghost-6-docker-activitypub-setup-issue/60040>\
**Category:** Self-hosting\
**Created:** [September 7, 2025, 3:16pm UTC](https://forum.ghost.org/t/ghost-6-docker-activitypub-setup-issue/60040 "2025-09-07T15:16:34Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Doubrovski](https://avatars.discourse-cdn.com/v4/letter/d/2acd7d/32.png) [@Doubrovski](https://forum.ghost.org/u/Doubrovski)\
**Post date:** [September 7, 2025, 3:16pm UTC](https://forum.ghost.org/t/ghost-6-docker-activitypub-setup-issue/60040/1 "2025-09-07T15:16:34Z")

</div>

Hi ! For the upgrade to Ghost 6, I decided to switch to Docker on my VPS in order to easily use Tinybird and the Network (ActivityPub). In the end, I think I’ve installed everything correctly, and here’s my Caddyfile below.

```auto
{$DOMAIN} {
    encode gzip

    route {
        # Tinybird tracker
        handle_path /.ghost/analytics/* {
            reverse_proxy http://traffic-analytics:3000
        }

        # ActivityPub
        handle /.ghost/activitypub/* {
            reverse_proxy {$ACTIVITYPUB_TARGET}
        }
        handle /.well-known/webfinger* {
            reverse_proxy {$ACTIVITYPUB_TARGET}
        }
        handle /.well-known/nodeinfo* {
            reverse_proxy {$ACTIVITYPUB_TARGET}
        }
        handle /.well-known/host-meta* {
            reverse_proxy {$ACTIVITYPUB_TARGET}
        }

        # Fallback 
        handle {
            reverse_proxy http://ghost:2368
        }
    }
}

www.{$DOMAIN} {
    redir https://{$DOMAIN}{uri} 301
}

```

$ACTIVITYPUB\_TARGET = [https://ap.ghost.org](https://ap.ghost.org)

The issue is with the Network: I’m not sure if I’ve really understood how ActivityPub works. The Reader page returns “page not found,” and the profile returns “profile not found.” Other pages (explore, etc.) are accessible.

/ghost/#/activitypub/reader

 ![reader](https://us1.discourse-cdn.com/flex015/uploads/ghost2/original/3X/4/b/4b722ba20491d2d2cca77e78208c916982ad93c6.jpeg)

/ghost/#/activitypub/profile

 ![profile](https://us1.discourse-cdn.com/flex015/uploads/ghost2/original/3X/8/f/8f4bef1649b11a7c19b9659eb5d396137d1f5e7a.jpeg)

/ghost/#/activitypub/explore

 ![explore](https://us1.discourse-cdn.com/flex015/uploads/ghost2/original/3X/b/1/b16217de9491831f1af4debe325d077c70c2c942.jpeg)

The owner of my site, whose slug is _jbb_, returns “index” on ActivityPub. Its supposed to be @index@domain.com.

```auto
user@vps:/opt/blog$ curl -sL -H 'Accept: application/jrd+json, application/json' \
  "https://$DOMAIN/.well-known/webfinger?resource=acct:jbb@$DOMAIN" \
| jq -r '.subject, (.aliases[]? // empty), (.links[]? | select(.rel=="self") | .href)'
acct:index@$DOMAIN
https://$DOMAIN/.ghost/activitypub/users/index
https://$DOMAIN/.ghost/activitypub/users/index

```

So I’m not really sure what to do or whether I’ve understood how ActivityPub works. I find it strange that you can’t choose anything other than “index,” and I don’t understand why the reader and profile pages aren’t displaying. If I don’t find a solution, I think I’ll just disable the network.  
Thanks for your help.

---

<div class="post-metadata">

**Author:** ![Doubrovski](https://avatars.discourse-cdn.com/v4/letter/d/2acd7d/32.png) [@Doubrovski](https://forum.ghost.org/u/Doubrovski)\
**Post date:** [September 9, 2025, 6:51am UTC](https://forum.ghost.org/t/ghost-6-docker-activitypub-setup-issue/60040/2 "2025-09-09T06:51:04Z")

</div>

So it seems this is a browser-related issue with Chrome…  
On Firefox I can see the reader (still empty for now) as well as the profile, and I can also change the ActivityPub slug.  
I’ll probably wait until this feature is a bit better integrated in the upcoming versions!  
Even if I can change the profile with Firefox, it isn’t loaded in Chrome.
