1
0
Fork
You've already forked audon
0
forked from namekuji/audon
Audio chat space for Mastodon, Akkoma, GoToSocial, and Calckey
  • Go 46.9%
  • Vue 45.2%
  • JavaScript 5.1%
  • HTML 1.3%
  • CSS 0.8%
  • Other 0.7%
2023年07月02日 12:04:34 -04:00
.devcontainer remove docker 2023年04月28日 14:15:43 -04:00
.vscode add gif indicator 2023年01月23日 07:10:21 -05:00
audon-fe use native 2023年07月02日 12:04:34 -04:00
config change default activation level 2022年12月24日 15:58:11 +09:00
locales change description 2023年01月19日 13:57:32 -05:00
public add listener online indicator 2023年01月25日 15:58:15 -05:00
.dockerignore add gif indicator 2023年01月23日 07:10:21 -05:00
.env.production.sample change timing to create room 2023年01月26日 17:31:53 -05:00
.gitignore use rootless 2023年04月28日 13:32:50 -04:00
.gitmodules add logo and mascot 2023年01月03日 12:58:41 +09:00
auth.go fix returning string 2023年03月22日 10:45:00 -04:00
avatar.go disable avatar conversion 2023年05月28日 08:36:24 -04:00
config.go change timing to create room 2023年01月26日 17:31:53 -05:00
CREDITS implement #19 2023年01月13日 20:20:08 -05:00
docker-compose.yaml fix preview avatar issue 2023年01月24日 01:03:15 -05:00
Dockerfile use twemoji 2023年02月20日 15:08:35 -05:00
error.go fix instant room creation 2022年12月06日 01:09:15 -05:00
go.mod remove avatar restore 2023年05月26日 10:32:52 -04:00
go.sum add gif indicator 2023年01月23日 07:10:21 -05:00
LICENSE add license 2022年12月15日 15:29:19 -05:00
locale.go add bot support 2023年01月14日 18:02:15 -05:00
README.md update introduction 2023年05月28日 08:59:39 -04:00
room.go disable avatar conversion 2023年05月28日 08:36:24 -04:00
schema.go fix host avatar restore 2023年01月28日 23:33:16 -05:00
server.go disable avatar update 2023年04月28日 09:31:40 -04:00
user.go remove error from url 2023年01月29日 23:12:07 -05:00
utils.go add gif indicator 2023年01月23日 07:10:21 -05:00
webhooks.go remove avatar restore 2023年05月26日 10:32:52 -04:00

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