Skip to content

codemonger-io/mumble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mumble

Mumble Brand

Mumble is a serverless implementation of ActivityPub on AWS.

ActivityPub is a decentralized social networking protocol which is used by Mastodon.

Features

Mumble is not fully compliant with ActivityPub yet, but you can do the following things:

  • Create an account reachable from Mastodon
  • Publish a post with optional attachments
    • Only public posts so far
  • Deliver posts to your followers
  • Be followed by another Mastodon user

Mumble also provides a simple viewer app so that any guests can see your profile and public activites. You can promote your Mumble account by sharing the profile URL on the viewer app. The viewer app also provides a search form to find similar mumblings, which is powered by FlechasDB.

More features will come in the future.

Mumble is Serverless

Since Mumble is implemented with serverless technologies on AWS, you do not have to spin up and manage persistent servers. It will greatly reduce your initial cost, and you can scale up as you gain more traction. FYI: According to this article, hosting a minimal Mastodon setup on AWS would cost about $60.

Mumble is NOT

  • A hosted service
    • You have to deploy and host Mumble yourself on your own AWS account. You have full control over your data in return.
  • An ActivityPub client

Getting started

Prerequisites

You need an AWS account where you have full privileges to provision resources.

Deploying Mumble

To deploy Mumble to your AWS account, please follow the instructions described in cdk/README.md.

Configuring Mumble

You have to do a few configurations after you deploy Mumble. Please refer to Section "After deployment" in cdk/README.md.

Creating a Mumble account

Once you have deployed and configured Mumble, you can create a Mumble account. Please refer to Section "Creating a new Mumble user" in cdk/README.md.

Publish posts from a Mumble client

MumbleBee is the official client for Mumble. Please refer to MumbleBee's repository for more details.

Sharing your profile

Your profile is served at https://${YOUR_MUMBLE_DOMAIN_NAME}/viewer/users/${YOUR_ID}/. If you want an example, you may visit my profile.

Background

I often write down thoughts and findings in short texts (mumblings) while I am working. For that purpose, I used to use Microsoft Teams, Slack, Dicord, or whatever the workplace provided. These mumblings turned out useful for my colleagues and me. Now, as a freelance, I started to want to have my own place to publicly write down these mumblings. Twitter could have been a good place, but I felt somehow it was not the right place for me. During the recent turmoil around Twitter, Mastodon, a decentralized social network, caught my attention, and I was attracted to ActivityPub behind Mastodon. Since hosting Mastodon required a traditional setup of servers that was not the way I was eager to pursue, I decided to implement a serverless version of ActivityPub on AWS.

Development

Architecture

The architecture of the Mumble service is described in docs/architecture.md.

OpenAPI definition

The OpenAPI definition of the Mumble API is available at cdk/openapi/api-production.json.

Thanks to Redoc, you can browse the Mumble API documentation at https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/codemonger-io/mumble/main/cdk/openapi/api-production.json.

License

MIT

The following images are licensed under CC BY-SA 4.0: