Channels - patchwork-hub/patchwork_dashboard GitHub Wiki
Overview
Channels are custom feeds for the open social web, connecting conversations and communities from across the decentralised open social web.
The Channels package allows you to build and host Channels locally on your server. Channel creation and management happen in the dashboard.
See examples of Channels curated by us here and made by the public here.
Channels features
Channels are:
- Customisable with an avatar, header and bio
- Curated by following contributors and muting keywords or post types like replies or reposts
- Broadcast across the open social web, including to platforms like Mastodon or Bluesky
- Followable
The Channel creation wizard in the dashboard offers a step by step guide to creating Channels.
Installation guide
Please note, by installing Patchwork Channels you will install an enhanced version of the Patchwork Dashboard and gain access to all its features. You do not need to install the dashboard separately.
You can install Patchwork Channels from source-code or using a Docker image. To install from source-code, please see the instructions on below. To install Patchwork Channels using a Docker image, please use the guides here.
1.1 Project setup
Pre-requisites
- Up & running a Mastodon instance
- Ruby v3.3.0
-
Download Patchwork Channels repository:
Download the latest release of Patchwork Channels Basic from here.
-
Create .env file by copying the .env.sample file:
cp .env.sample .env
-
Read the comments mentioned in the ENV file thoroughly and configure the environment accordingly.
-
Install the gems:
bundle install
- Run database migrations:
bundle exec rails db:migrate
- Import required data and create a master admin account:
bundle exec rails db:seed
- Start your server(change the port number according to your need):
bundle exec rails s -p 3002
1.2 Activate Patchwork Dashboard
To fully activate your Patchwork Dashboard, add an API key by following below steps:
-
Generate an API key
- Go to Patchwork Hub, register a new account and verify it.
- Once you have verified it, generate an API key on the landing page of the Patchwork Hub.
-
Add the generated API key in your Patchwork Dashboard
- Login to your Patchwork Dashboard with the master admin account.
- On the left-side menu, click the "API key".
- In the API key page, add the Key and Secret values generated from the Patchwork Hub.
- After entering the credential, the Patchwork Dashboard is fully activated.
1.3 Plug-ins installation
In order to expand your server’s capabilities and let its unique features interface with apps, you must install the following plug-ins in your Mastodon instance. This is an essential step. If you do not do this, key features enabled by Patchwork will not be usable by users on your server.
This setup assumes that you have installed Mastodon from source. All four plug-ins are mandatory for your instance.
-
Accounts
A Ruby on Rails plugin that adds custom account management, push notifications, and authentication overrides to Mastodon instance. -
Content filters
A Ruby on Rails plugin that filters Mastodon timelines by defined keywords and hashtags. -
Conversations
A Ruby on Rails plugin that extends Mastodon conversations with custom API endpoints and mobile app functionality. -
Posts
A Ruby on Rails plugin that enhances Mastodon’s posting features with customizable character limits, draft management, quote posts, and automatic ALT text generation.
- Connect to your Mastodon instance's server, access the installation files and locate the Gemfile. Add the ruby gems below to the Gemfile:
gem "accounts", git: "https://github.com/patchwork-hub/accounts/"
gem "content_filters", git: "https://github.com/patchwork-hub/content_filters"
gem "conversations", git: "https://github.com/patchwork-hub/conversations"
gem "posts", git: "https://github.com/patchwork-hub/posts"
- Run the bundle command to install the gems:
$ bundle install
- Run migration command:
$ bundle exec rails db:migrate
- Run the gem setup command for the necessary setup:
bundle exec rake content_filters:install
- Add below environment keys to your Mastodon instance:
AUTO_FOLLOW_ENABLED=false
ALT_TEXT_ENABLED=false
BOOST_POST_ENABLED=false
- After that, restart your application to load the gems.