A multitenant ActivityPub server for Ghost, built with Fedify. This service makes it possible for independent websites to publish their content directly to the Fediverse, enabling networked publishing to the open social web.
This repository is being actively developed and is currently in early alpha - expect many breaking changes. It is not suitable for production use.
We're publishing a weekly build-log about the development of this project. Sign up on https://activitypub.ghost.org
All requests to /.ghost/activitypub/*
and /.well-known/webfinger
are proxied to this ActivityPub service using NGINX. All other requests are forwarded to Ghost.
- Follow
- Unfollow
- Auto Accept Follows
- Manually Accept/Reject Follows
- Publish Articles to Followers
- Receive Articles in Inbox
- Receive Notes in Inbox
This has only been tested on MacOS using Docker for Mac and OrbStack.
- Install Ghost
- Ensure Ghost is running locally at
localhost:2368
.
- Ensure Ghost is running locally at
- Proxy with Tailscale (or ngrok)
- Use
tailscale funnel 80
orngrok http 80
to expose your local port 80.
- Use
- Configure Ghost
- Run
ghost config url
and set it to the URL provided by Tailscale
- Run
- Start the ActivityPub Service
- Run
yarn dev
in the root directory of this project
- Run
- Open Ghost Admin
- Access your Ghost instance via the URL provided by Tailscale
- Configure a Webhook
- Set up a webhook for the
post.published
event pointing tohttps://<your-url>/.ghost/activitypub/webhooks/post/published
.
- Set up a webhook for the
- Enable ActivityPub Alpha
- Enable the ActivityPub Alpha flag in Settings → Labs
- Run
yarn test
to execute tests within a Docker Compose stack.
Copyright (c) 2013-2024 Ghost Foundation - Released under the MIT license. Ghost and the Ghost Logo are trademarks of Ghost Foundation Ltd. Please see our trademark policy for info on acceptable usage.