ActivityHub merges diverse content streams (news, social media, videos) into a unified Mastodon feed. Using open protocols like Activity Pub and RSS, the service makes any RSS feed compatible. Users paste the feed URL, receive a user handle, and updates from the RSS feed are posted directly into their Mastodon feed.
.
├── app # contains source files of web app
├── backend # contains source files of backend
└── terraform # contains infrastructure deployment files
After cloning the repo there a a few steps that you should run:
$ cd backend && mv .env.example .env
$ cd app
$ mv .env.example .env
$ npm install
Make sure you have go 1.21 or higher and node 21 or higher installed
to run everything in docker run
$ docker compose up
- api is listening on
http://localhost:8080
- web app ist listening on
http://localhost:5173
You can also run the api outside of docker. This can be helpful in the developing procress. For that run the following commands:
$ docker compose up postgresql pub-sub-emulator
$ cd backend && make run-local
- api is listening on
http://localhost:8080
If you want to start the web app outside of docker with a dev server
$ cd app
$ npm run dev
- web app ist listening on
http://localhost:5173
If you want to interact with Activity Pub services your local api needs to be addressable from the web. You can do that by using ngrok. Run:
$ ngrok 8080
Take the public URL you are getting and put it into the backend/.env
file as HOST=ngrok.host
. Its important to leave out the https:// in the beginning.