- About
- Usage
- Example
- Available templates
- Let's Encrypt support
- Requirements
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.
Download the installer, run it with a template name as an argument and drink a coffee. That's it.
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-base/master/installer/eb
wget https://raw.githubusercontent.com/emrahcom/emrah-buster-templates/master/installer/<TEMPLATE_NAME>.conf
bash eb <TEMPLATE_NAME>
To install a streaming media system, login a Debian Buster (version 10) host
as root
and
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
Install only a containerized Debian Buster.
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
Install a ready-to-use live streaming media system. See the livestream page for details.
-
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.
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
-
rtmp://<IP_ADDRESS>/livestream/<CHANNEL_NAME>
to push an RTMP stream. -
http://<IP_ADDRESS>/livestream/hls/<CHANNEL_NAME>/index.m3u8
to pull the HLS stream. -
http://<IP_ADDRESS>/livestream/dash/<CHANNEL_NAME>/index.mpd
to pull the DASH stream. -
http://<IP_ADDRESS>/livestream/hlsplayer/<CHANNEL_NAME>
for the HLS video player page. -
http://<IP_ADDRESS>/livestream/dashplayer/<CHANNEL_NAME>
for the DASH video player page. -
http://<IP_ADDRESS>:8000/livestream/status
for the RTMP status page. -
http://<IP_ADDRESS>:8000/livestream/cloner
for the stream cloner page. Thanks to nejdetckenobi
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.
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
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://<IP_ADDRESS>/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.
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 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 = emrah@domain.com
- [mailer] USER = emrah@domain.com
- [mailer] PASSWD = my-secret
Install a ready-to-use self-hosted Jitsi/Jibri service.
Thanks to Ave and Fatih for their support.
-
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.
Download the installer
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.
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 eb 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
To set the Let's Encrypt certificate, run the following commands on the host:
FQDN="your.host.fqdn"
set-letsencrypt-cert $FQDN
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's droplet, Amazon 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