Audio space for Mastodon, Pleroma, and Calckey https://audon.space
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Namekuji 0fc4e5fbec
update introduction
1 week ago
.devcontainer remove docker 1 month ago
.vscode add gif indicator 4 months ago
audon-fe reduce sound effect volumes 1 week ago
config change default activation level 6 months ago
locales change description 5 months ago
public add listener online indicator 4 months ago
.dockerignore add gif indicator 4 months ago
.env.production.sample change timing to create room 4 months ago
.gitignore use rootless 1 month ago
.gitmodules add logo and mascot 5 months ago
CREDITS implement #19 5 months ago
Dockerfile use twemoji 4 months ago
LICENSE add license 6 months ago
README.md update introduction 1 week ago
auth.go fix returning string 3 months ago
avatar.go disable avatar conversion 1 week ago
config.go change timing to create room 4 months ago
docker-compose.yaml fix preview avatar issue 4 months ago
error.go fix instant room creation 6 months ago
go.mod remove avatar restore 2 weeks ago
go.sum add gif indicator 4 months ago
locale.go add bot support 5 months ago
room.go disable avatar conversion 1 week ago
schema.go fix host avatar restore 4 months ago
server.go disable avatar update 1 month ago
user.go remove error from url 4 months ago
utils.go add gif indicator 4 months ago
webhooks.go remove avatar restore 2 weeks ago

README.md

Branding Logo

Mascot

Audio + Mastodon = Audon

Audon is a service of realtime audio chat for Mastodon, Akkoma, GoToSocial, and Calckey.

Other Fediverse platforms supporting Mastodon API may work, but not tested (yet).

Tech Stack

Deployment

Only Docker-based installation is currently supported. This repository provides pre-configured Dockerfile and docker-compose.yaml.

Note that the LiveKit service runs in the Host-network mode, thus the following ports have to be available in the host machine.

  • 7880/tcp
  • 7881/tcp
  • 50000-60000/udp
  • 5349/tcp
  • 3478/udp

These ports are changeable in config/livekit.yaml. Please refer to the documentation of LiveKit here.

Requirements

  • Docker 20.10+
  • docker-compose 2.12+

Installation Steps

Before getting started, clone this repo in your working directory.

git clone --recursive https://codeberg.org/nmkj/audon.git

Edit Config Files

The followings config files are needed to run Audon.

  • .env.production
  • config/livekit.yaml
  • config/redis.conf

First, create them by copying the sample files.

cp .env.production.sample .env.production && cp config/livekit.sample.yaml config/livekit.yaml && cp config/redis.sample.conf config/redis.conf

Then, create a pair of API key and secret to connect to LiveKit.

docker run --rm -it livekit/generate

You will be asked some questions, but they do not matter. Just enter random domains and keep hitting Return/Enter key.

Then generated API key and secret appear as follows:

API Key: your-key
API Secret: your-secret

Copy and paste these values to .env.production and config/livekit.yaml, for example,

keys:
  your-key:your-secret
# Same as the keys field in livekit.yaml
LIVEKIT_API_KEY=your-key
# Same as the keys field in livekit.yaml
LIVEKIT_API_SECRET=your-secret

Prepare Reverse Proxy

The easiest way is to use Caddy as TLS endpoints. Here is an example Caddyfile:

audon.example.com {
    encode gzip
    reverse_proxy 127.0.0.1:8100
}

livekit.example.com {
    reverse_proxy 127.0.0.1:7880
}

h2://livekit-turn.example.com {
    reverse_proxy 127.0.0.1:5349
}

h3://livekit-turn.example.com {
    reverse_proxy h3://127.0.0.1:3478
}

You may want to use your own TLS certificates with tls directive of Caddyfile.

Build and Start Containers

With your config files ready, run the following command to start containers.

docker compose build && docker compose up -d