Audio space for Mastodon, Pleroma, and Calckey https://audon.space
 
 
 
 
 
 
Go to file
Namekuji 77ddfb1125 change default activation level 2022-12-24 15:58:11 +09:00
.vscode add version number 2022-12-07 14:03:22 -05:00
audon-fe move favicon to assets so that they are properly hashed 2022-12-18 20:48:45 -05:00
config change default activation level 2022-12-24 15:58:11 +09:00
.env.production.sample add initial support of i18n 2022-12-16 21:30:46 -05:00
.gitignore ignore data directories 2022-12-10 13:07:44 -05:00
.gitmodules add koruri as a submodule 2022-12-08 03:58:41 -05:00
Dockerfile copy .git for hash 2022-12-18 02:39:44 -05:00
LICENSE add license 2022-12-15 15:29:19 -05:00
README.md add git clone instruction 2022-12-17 19:12:30 -05:00
config.go remove unnecessary session secret 2022-12-10 12:16:56 -05:00
docker-compose.dev.yaml add initial support of i18n 2022-12-16 21:30:46 -05:00
docker-compose.yaml add initial support of i18n 2022-12-16 21:30:46 -05:00
error.go fix instant room creation 2022-12-06 01:09:15 -05:00
go.mod change cookie seesion to redis 2022-12-05 02:45:51 -05:00
go.sum change cookie seesion to redis 2022-12-05 02:45:51 -05:00
oauth.go add room restriction 2022-12-15 15:28:41 -05:00
room.go fix issues/9 2022-12-18 01:15:33 -05:00
schema.go support changing title, description and restriction 2022-12-15 22:36:51 -05:00
server.go move favicon to assets so that they are properly hashed 2022-12-18 20:48:45 -05:00
utils.go add room restriction 2022-12-15 15:28:41 -05:00
webhooks.go fix potential infinite loop 2022-12-04 21:38:34 -05:00

README.md

Audon

Audio + Mastodon = Audon

Audon is a service for Mastodon (and Pleroma) users to create and join rooms of live audio conversations.

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.

  • .end.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