Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/emrahcom/emrah-buster-templates
The templates of the emrah-buster installer.
https://github.com/emrahcom/emrah-buster-templates
automation bash container dash debian debian-buster git gitea hls installer jibri jitsi livestreaming lxc nginx-rtmp shell video video-conferencing
Last synced: 3 months ago
JSON representation
The templates of the emrah-buster installer.
- Host: GitHub
- URL: https://github.com/emrahcom/emrah-buster-templates
- Owner: emrahcom
- License: gpl-3.0
- Created: 2019-08-22T19:06:07.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-11-30T10:27:51.000Z (about 1 year ago)
- Last Synced: 2024-04-24T06:20:08.841Z (9 months ago)
- Topics: automation, bash, container, dash, debian, debian-buster, git, gitea, hls, installer, jibri, jitsi, livestreaming, lxc, nginx-rtmp, shell, video, video-conferencing
- Language: Shell
- Size: 792 KB
- Stars: 60
- Watchers: 13
- Forks: 40
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Table of contents
=================- [About](#about)
- [Usage](#usage)
- [Example](#example)
- [Available templates](#available-templates)
- [eb-base](#eb-base)
- [To install eb-base](#to-install-eb-base)
- [eb-livestream](#eb-livestream)
- [Main components of eb-livestream](#main-components-of-eb-livestream)
- [To install eb-livestream](#to-install-eb-livestream)
- [After installing eb-livestream](#after-installing-eb-livestream)
- [Related links to eb-livestream](#related-links-to-eb-livestream)
- [eb-gitea](#eb-gitea)
- [Main components of eb-gitea](#main-components-of-eb-gitea)
- [To install eb-gitea](#to-install-eb-gitea)
- [After installing eb-gitea](#after-installing-eb-gitea)
- [Customizing eb-gitea](#customizing-eb-gitea)
- [eb-jitsi](#eb-jitsi)
- [Main components of eb-jitsi](#main-components-of-eb-jitsi)
- [Before installing eb-jitsi](#before-installing-eb-jitsi)
- [To install eb-jitsi](#to-install-eb-jitsi)
- [Customizing eb-jitsi](#customizing-eb-jitsi)
- [Jitsi cluster](#jitsi-cluster)
- [Let's Encrypt support](#lets-encrypt-support)
- [Requirements](#requirements)---
About
=====`emrah-buster` is an installer to create the containerized systems on Debian
Buster (_version 10_) host. It built on top of LXC (Linux containers). This
repository contains the `emrah-buster` templates.Usage
=====Download the installer, run it with a template name as an argument and drink a
coffee. That's it.```bash
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-base/master/installer/eb
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-templates/master/installer/.conf
bash eb
```Example
=======To install a streaming media system, login a Debian Buster (_version 10_) host
as `root` and```bash
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-base/master/installer/eb
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-templates/master/installer/eb-livestream.conf
bash eb eb-livestream
```Available templates
===================eb-base
-------Install only a containerized Debian Buster.
### To install eb-base
```bash
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-base/master/installer/eb
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-templates/master/installer/eb-base.conf
bash eb eb-base
```---
eb-livestream
-------------Install a ready-to-use live streaming media system. See the
[livestream](doc/livestream.md) page for details.### Main components of eb-livestream
- Nginx server with nginx-rtmp-module as a stream origin.
It gets the RTMP stream and convert it to HLS and DASH.- Nginx server with standart modules as a stream edge.
It publish the HLS and DASH stream.- Web based HLS video player.
- Web based DASH video player.
### To install eb-livestream
```bash
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-base/master/installer/eb
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-templates/master/installer/eb-livestream.conf
bash eb eb-livestream
```### After installing eb-livestream
- `rtmp:///livestream/` to push
an RTMP stream.- `http:///livestream/hls//index.m3u8` to pull
the HLS stream.- `http:///livestream/dash//index.mpd` to pull
the DASH stream.- `http:///livestream/hlsplayer/` for
the HLS video player page.- `http:///livestream/dashplayer/` for
the DASH video player page.- `http://:8000/livestream/status` for the RTMP status page.
- `http://:8000/livestream/cloner` for the stream cloner page.
Thanks to [nejdetckenobi](https://github.com/nejdetckenobi)### Related links to eb-livestream
- [nginx-rtmp-module](https://github.com/arut/nginx-rtmp-module)
- [video.js](https://github.com/videojs/video.js)
- [dash.js](https://github.com/Dash-Industry-Forum/dash.js/)
---
eb-gitea
-------------Install a ready-to-use self-hosted Git service. Only AMD64 architecture is
supported for this template. Please contact me if you need eb-gitea for an
other architecture.### Main components of eb-gitea
- [Gitea](https://gitea.io/)
- [Git](https://git-scm.com/)
- [MariaDB](https://mariadb.org/)
- [Nginx](http://nginx.org/)### To install eb-gitea
```bash
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-base/master/installer/eb
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-templates/master/installer/eb-gitea.conf
bash eb eb-gitea
```### After installing eb-gitea
There is one more step to finish the installation. It's needed to fill
the initial configuration form of Gitea. Only two fields will be changed:
**SSH Server Domain** and **Gitea Base URL**.Very easy!
- Access `https:///install` to fill the Gitea config form.
- **SSH Server Domain**: Write your host FQDN or IP address. Examples:
*git.mydomain.com*
*123.2.3.4*- **Gitea Base URL**: Write your URL. HTTP and HTTPS are OK. Examples:
*https://git.mydomain.com/*
*https://123.2.3.4/*- Don't change the other fields. They are all OK.
- The first registered user will be the administrator.
### Customizing eb-gitea
Edit `/home/gitea/custom/conf/app.ini` file and restart the service to
customize Gitea. These are the customized settings of my private server.
See [cheat-sheet](https://docs.gitea.io/en-us/config-cheat-sheet/) for more
details.- PASSWORD_COMPLEXITY = lower,upper,digit
- FORCE_PRIVATE = true
- DEFAULT_PRIVATE = true
- DISABLE_REGISTRATION = true
- REQUIRE_SIGNIN_VIEW = true
- DEFAULT_KEEP_EMAIL_PRIVATE = true
- [mailer] ENABLED = true
- [mailer] HOST = my-smtp-server.domain.com:587
- [mailer] FROM = [email protected]
- [mailer] USER = [email protected]
- [mailer] PASSWD = my-secret---
eb-jitsi
--------Install a ready-to-use self-hosted Jitsi/Jibri service.
Thanks to [Ave](https://ave.zone/) and [Fatih](https://www.fatihmalakci.com/)
for their support.### Main components of eb-jitsi
- [Jitsi](https://jitsi.org/)
- [Jibri](https://github.com/jitsi/jibri)
- [Nginx](http://nginx.org/)### Before installing eb-jitsi
- Jibri needs `snd_aloop` kernel module, therefore it's not OK with the cloud
kernel. Install the standard Linux kernel first if this is the case.- It's needed a resolvable host address for your server and this address has to
point to your server. Therefore add the DNS A record first if you didn't add
yet. This host address will be used as `JITSI_HOST` in the installer config
file.### To install eb-jitsi
Download the installer
```bash
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-base/master/installer/eb
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-templates/master/installer/eb-jitsi.conf
```Open `eb-jitsi.conf` file with an editor and change the `JITSI_HOST` value.
```bash
vim eb-jitsi.conf
```Write the host address of your server as `JITSI_HOST`, save it and close the file.
```
export JITSI_HOST=jitsi.mydomain.com
```And run the installer
```bash
bash eb eb-jitsi
```### Customizing eb-jitsi
You may want to change the following values in
`/etc/jitsi/meet/YOUR_HOST_ADDRESS-config.js`. This file is on the
`eb-jitsi` container, not on the host.- startAudioMuted
- resolution
- startVideoMuted
- channelLastN
- requireDisplayName
- defaultLanguage
- disableAudioLevels### Jitsi cluster
See [Jitsi cluster document](doc/jitsi_cluster.md)---
Let's Encrypt support
=====================To set the Let's Encrypt certificate, run the following commands on the host:
```bash
FQDN="your.host.fqdn"
set-letsencrypt-cert $FQDN
```---
Requirements
============`emrah-buster` requires a Debian Buster (_version 10_) host with a minimal
install and the Internet access during the installation. It's not a good
idea to use your desktop machine or an already in-use production server as
a host machine. Please, use one of the followings as a host:- a cloud computer from a hosting/cloud service
([DigitalOcean](https://www.digitalocean.com/?refcode=92b0165840d8)'s
droplet, [Amazon](https://console.aws.amazon.com) EC2 instance etc)- a virtual machine (VMware, VirtualBox etc)
- a Debian Buster container (_with the nesting support_)
```
lxc.include = /usr/share/lxc/config/nesting.conf
lxc.apparmor.profile = unconfined
lxc.apparmor.allow_nesting = 1
```- a physical machine with a fresh installed
[Debian 10 Buster](https://www.debian.org/releases/buster/debian-installer/)