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.
{$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
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
/ghost/#/activitypub/profile
/ghost/#/activitypub/explore
The owner of my site, whose slug is jbb, returns “index” on ActivityPub. Its supposed to be @index@domain.com.
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.


