Skip to content

munshkr/muxy

Repository files navigation

muxy

Django CI

RTMP-based streaming muxer for online events

Allows user to organize online self-streaming events, where each user can stream herself to public channels or other streaming services.

Requirements

  • Postgres
  • Python
  • nginx-rtmp

Install

Docker

The easiest way to get everything running quickly is by using Docker Compose.

Run:

docker compose up 

This will build Muxy and start the server, while also serving Postgres database service and nginx-rtmp.

Manual

Clone repository or download zipfile and extract somewhere.

Create virtual environment and activate:

python -m venv .venv
source .venv/bin/activate

Install the dependencies:

pip install -r requirements.txt

Initial configuration

Copy env.sample to .env and update if necessary. You should set at least:

  • SECRET_KEY: Use a unique random string.
  • ALLOWED_HOSTS: Add your hostname.
  • CORS_ALLOWED_ORIGINS: Add your request origin.
  • LANGUAGE_CODE: Set default language code.
  • TIME_ZONE: Set server time zone if different than UTC.
  • DB_PATH: Set path where to save database file

Now, run migrations to create and prepare database:

./manage.py migrate

Then, create a super user to enter admin panel:

./manage.py createsuperuser

Finally, collect static files for admin panel:

./manage.py collectstatic

Usage

If you are using Docker, just use docker compose up

Otherwise, to run server locally, use:

./manage.py runserver

Deploy

Read the deployment wiki page.

License

This project is licensed under the GNU Affero General Public License v3.0. See the LICENSE file for details.

About

RTMP-based streaming muxer for online events

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages