Skip to content

Commit

Permalink
Updated README
Browse files Browse the repository at this point in the history
  • Loading branch information
allouis committed Jul 4, 2024
1 parent ff3de4c commit c2b951e
Showing 1 changed file with 39 additions and 15 deletions.
54 changes: 39 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,56 @@
# Activity Pub
# ActivityPub V3 Final

ActivityPub Service for Ghost
## Project Overview

**ActivityPub V3 Final** is a multitenant ActivityPub service built using the Fedify framework. This service is designed to integrate seamlessly with the Ghost blogging platform, enabling ActivityPub functionality such as follow requests and publish requests. Ghost communicates with this service to manage all ActivityPub data.

## Usage
**Note:** This project is intended for development use only and is not suitable for production environments.

## How It Works

## Develop
The service integrates with Ghost by sitting in front of Ghost and intercepting requests to `/.ghost/activitypub/*` and `/.well-known/webfinger`. Instead of these endpoints being handled by Ghost, they are proxied to this ActivityPub service. All other requests are forwarded to Ghost.

1. `git clone` this repo & `cd` into it as usual
2. Run `yarn` to install top-level dependencies.
### Current Features

- [x] Follow
- [ ] Unfollow
- [x] Auto Accept Follows
- [ ] Manually Accept/Reject Follows
- [x] Publish Articles to Followers
- [x] Receive Articles in Inbox
- [x] Receive Notes in Inbox

## Run
## Running Locally / Development

- `yarn dev`
- View: [http://localhost:9999](http://localhost:9999)
To run this service, you need `docker` installed - this has only been tested on MacOS using Docker for Mac and OrbStack.

## Test

- `yarn lint` run just eslint
- `yarn test` run lint and tests
### Setup Steps

## Publish
1. **Set up a Ghost development environment**
- Ensure Ghost is running locally at `localhost:2368`.
2. **Proxy your local environment**
- 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.
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**
- Set up a webhook for the `post.published` event pointing to `https://<your-url>/.ghost/activitypub/webhooks/post/published`.
7. **Enable ActivityPub Alpha**
- Switch on the ActivityPub Alpha flag in Labs

- `yarn ship`
### Running Tests

- Run `yarn test` to execute tests within a Docker Compose stack.

## Related Projects and Resources

- [Fedify framework](https://github.com/dahlia/fedify/)
- [Ghost blogging platform](https://ghost.org/)

# Copyright & License

Copyright (c) 2013-2024 Ghost Foundation - Released under the [MIT license](LICENSE).
Copyright (c) 2013-2024 Ghost Foundation - Released under the [MIT license](LICENSE).

0 comments on commit c2b951e

Please sign in to comment.