Skip to content

Amijakan/mochatto

Repository files navigation

issues PRs language

mochatto

Mochatto is an open-source proximity voice chat application for virtual meetings.

Requirements

  • docker-compose > 1.28
  • docker

Dev Requirements

  • yarn
  • node ^18.16

image

Try it out

Dev

  1. make dev
  2. make dev-up

Debugging Server

Requires VSCode

  1. make dev-up
  2. open mochatto/server in VSCode
  3. Go to Debug tab
  4. Run with Docker: Attach to node

Prod

  1. make prod-up

Beta

  1. make beta-up

Test

Make sure that the server is up

Without visual check

  • make test

With browser running

  • make test-headed

Debugging with browser

  • make test-debug

Features

  • Choose Audio Input
  • P2P Voice chat
  • Mute (m)
  • Audio Processing toggles (Echo Cancellation / Auto Gain Control / Noise Suppression)
  • Status (Active / Inactive)
  • Separate rooms /[room-id]
  • Screenshares
  • Password protection for rooms
  • User Lists
  • Change Username
  • Mobile Support
    • Disable Sleep Toggle
    • Disable Share screen
    • Mobile Detection: Fails iPad
    • UI Support
      • In screen scroll
  • Place Images in the space
  • Place Videos in the space
  • Audio Recording

Running own iceServer

docker run -d --network=host coturn/coturn

This will run at port 3478. Make sure that your firewall for port 3478 is not blocked.

Jenkins pipeline

Currently using

Creating dev environment

Whent pull request is created, it will run beta-up, which hosts the branch content to

https://[PR_NUMBER].dev.mochatto.com

Stopping dev environment

We couldn't find a good way to bring the container down, so we're using a crontab with check-for-closed-pr.

NOTE: check-for-closed-pr uses gh command, so make sure to check your token is not expired.

e.g.

0 * * * * sh -c "cd /path/to/repo && ./check-for-closed-pr"