diff --git a/README.md b/README.md index d4edf895..fa5856a0 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,21 @@ -# ActivityPub V3 Final +# ActivityPub 🚧 -A multitenant ActivityPub service built using the [Fedify](https://fedify.dev/) framework, designed to integrate seamlessly with [Ghost](https://ghost.org/). This service provides ActivityPub functionality for following other users and publishing to the fediverse. Ghost communicates with this service to manage all ActivityPub features. +A multitenant ActivityPub server for [Ghost](https://ghost.org/), built with [Fedify](https://fedify.dev/). This service makes it possible for independent websites to publish their content directly to the Fediverse, enabling networked publishing to the open social web. -**Note:** ⚠️ This project is in its early phases and not yet ready for production +This repository is being actively developed and is currently in early alpha - expect many breaking changes. It is not suitable for production use. -## How It Works +## Subscribe to updates +We're publishing a weekly build-log about the development of this project. Sign up on [https://activitypub.ghost.org](https://activitypub.ghost.org) + +[![image](https://github.com/TryGhost/ActivityPub/assets/120485/b341451c-3281-43b8-a6df-e7e34d75f9b5)](https://activitypub.ghost.org) + +  + +# How it works All requests to `/.ghost/activitypub/*` and `/.well-known/webfinger` are proxied to this ActivityPub service using NGINX. All other requests are forwarded to Ghost. -### Current Features +## Current features - [x] Follow - [ ] Unfollow @@ -18,36 +25,37 @@ All requests to `/.ghost/activitypub/*` and `/.well-known/webfinger` are proxied - [x] Receive Articles in Inbox - [x] Receive Notes in Inbox -## Running Locally / Development +  -You need `docker` installed - this has only been tested on MacOS using Docker for Mac and OrbStack. +# Running locally for development -### Setup Steps +This has only been tested on MacOS using [Docker for Mac](https://docs.docker.com/desktop/install/mac-install/) and [OrbStack](https://orbstack.dev/). -1. **Set up a Ghost development environment** +## Setup + +1. **[Install Ghost](https://ghost.org/docs/install/)** - Ensure Ghost is running locally at `localhost:2368`. -2. **Proxy your local environment** +2. **Proxy with [Tailscale](https://tailscale.com/) ([ngrok](https://ngrok.com/) can also work)** - Use `tailscale funnel 80` or `ngrok http 80` to expose your local port 80. 3. **Configure Ghost** - - Set the URL in your Ghost config to the URL output by the above command. + - Run `ghost config url` and set it to tthe URL provided by Tailscale 4. **Start the ActivityPub Service** - - Run `yarn dev` in the root directory of this project. -5. **Visit the Exposed URL** - - Access your Ghost instance via the URL provided by Tailscale or Ngrok. -6. **Configure Webhook** + - Run `yarn dev` in the root directory of this project +5. **Open Ghost Admin** + - Access your Ghost instance via the URL provided by Tailscale +6. **[Configure a Webhook](https://ghost.org/integrations/custom-integrations/)** - Set up a webhook for the `post.published` event pointing to `https:///.ghost/activitypub/webhooks/post/published`. 7. **Enable ActivityPub Alpha** - - Switch on the ActivityPub Alpha flag in Labs + - Enable the ActivityPub Alpha flag in Settings → Labs -### Running Tests +## Running Tests - Run `yarn test` to execute tests within a Docker Compose stack. -## Related Projects and Resources -- [Fedify](https://github.com/dahlia/fedify/) -- [Ghost](https://github.com/TryGhost/Ghost/) +  + +# Copyright & license -# Copyright & License +Copyright (c) 2013-2023 Ghost Foundation - Released under the [MIT license](LICENSE). Ghost and the Ghost Logo are trademarks of Ghost Foundation Ltd. Please see our [trademark policy](https://ghost.org/trademark/) for info on acceptable usage. -Copyright (c) 2013-2024 Ghost Foundation - Released under the [MIT license](LICENSE).