More work on monitless installer
This commit is contained in:
parent
4dfd49d12c
commit
8ec6eb0140
|
@ -34,7 +34,7 @@
|
||||||
# The default is /.
|
# The default is /.
|
||||||
#
|
#
|
||||||
# cache_ahead_hours: How many hours ahead of time the Airtime playout
|
# cache_ahead_hours: How many hours ahead of time the Airtime playout
|
||||||
# engine (PYPO) should cache scheduled media files.
|
# engine (pypo) should cache scheduled media files.
|
||||||
# The default is 1.
|
# The default is 1.
|
||||||
#
|
#
|
||||||
[general]
|
[general]
|
||||||
|
@ -128,31 +128,33 @@ monit_password = airtime
|
||||||
# M E D I A M O N I T O R
|
# M E D I A M O N I T O R
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# api_client: ???
|
|
||||||
#
|
|
||||||
# bin_dir: Directory containing media monitor binaries
|
|
||||||
#
|
|
||||||
# log_dir: Directory containing media monitor log files
|
|
||||||
#
|
|
||||||
# check_filesystem_events: How long to queue up events performed on the
|
# check_filesystem_events: How long to queue up events performed on the
|
||||||
# files themselves
|
# files themselves, in seconds
|
||||||
|
# The default is 5
|
||||||
#
|
#
|
||||||
# check_airtime_events: How long to queue metadata input from airtime
|
# check_airtime_events: How long to queue metadata input from airtime,
|
||||||
|
# in seconds
|
||||||
|
# The default is 30
|
||||||
#
|
#
|
||||||
# touch_interval
|
# touch_interval:
|
||||||
|
# The default is 5
|
||||||
#
|
#
|
||||||
# chunking_number
|
# chunking_number:
|
||||||
|
# The default is 450
|
||||||
#
|
#
|
||||||
# request_max_wait
|
# request_max_wait: The maximum request wait time, in seconds
|
||||||
|
# The default is 3.0
|
||||||
#
|
#
|
||||||
# rmq_event_wait
|
# rmq_event_wait: The RabbitMQ event wait time, in seconds
|
||||||
|
# The default is 0.1
|
||||||
#
|
#
|
||||||
# logpath
|
# logpath: The media monitor log file path
|
||||||
|
# The default is '/var/log/airtime/media-monitor/media-monitor.log'
|
||||||
#
|
#
|
||||||
# index_path
|
# index_path: The media monitor index path
|
||||||
|
# The default is '/var/tmp/airtime/media-monitor/last_index'
|
||||||
#
|
#
|
||||||
[media-monitor]
|
[media-monitor]
|
||||||
api_client = "airtime"
|
|
||||||
check_filesystem_events = 5
|
check_filesystem_events = 5
|
||||||
check_airtime_events = 30
|
check_airtime_events = 30
|
||||||
touch_interval = 5
|
touch_interval = 5
|
||||||
|
@ -165,6 +167,116 @@ index_path = '/var/tmp/airtime/media-monitor/last_index'
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
# P Y P O
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# api_client: Set the type of client you are using.
|
||||||
|
# Currently supported types:
|
||||||
|
# 1) 'obp' = Open Broadcast Platform
|
||||||
|
# 2) 'airtime'
|
||||||
|
# The default is 'airtime'
|
||||||
|
#
|
||||||
|
# cache_dir: The directory for pypo cache files
|
||||||
|
# The default is '/var/tmp/airtime/pypo/cache/'
|
||||||
|
#
|
||||||
|
# file_dir: The directory for pypo media files
|
||||||
|
# The default is '/var/tmp/airtime/pypo/files/'
|
||||||
|
#
|
||||||
|
# tmp_dir: The directory for pypo temp files
|
||||||
|
# The default is '/var/tmp/airtime/pypo/tmp/'
|
||||||
|
#
|
||||||
|
# cache_base_dir: The pypo base cache directory
|
||||||
|
# The default is '/var/tmp/airtime/pypo/'
|
||||||
|
#
|
||||||
|
# bin_dir: The directory containing pypo binaries
|
||||||
|
# The default is '/usr/lib/airtime/pypo'
|
||||||
|
#
|
||||||
|
# log_base_dir: The base directory for Airtime log files
|
||||||
|
# The default is '/var/log/airtime'
|
||||||
|
#
|
||||||
|
# pypo_log_dir: The directory for pypo log files
|
||||||
|
# The default is '/var/log/airtime/pypo'
|
||||||
|
#
|
||||||
|
# liquidsoap_log_dir: The directory for liquidsoap log files
|
||||||
|
# The default is '/var/log/airtime/pypo-liquidsoap'
|
||||||
|
#
|
||||||
|
# ls_host: Liquidsoap connection host
|
||||||
|
# The default is '127.0.0.1'
|
||||||
|
#
|
||||||
|
# ls_port: Liquidsoap connection port
|
||||||
|
# The default is '1234'
|
||||||
|
#
|
||||||
|
# poll_interval: Poll interval in seconds
|
||||||
|
#
|
||||||
|
# This will rarely need to be changed because any schedule
|
||||||
|
# changes are automatically sent to pypo immediately
|
||||||
|
# This is how often the poll script downloads new schedules
|
||||||
|
# and files from the server in the event that no changes
|
||||||
|
# are made to the schedule
|
||||||
|
# The default is 3600
|
||||||
|
#
|
||||||
|
# push_interval: Push interval in seconds
|
||||||
|
#
|
||||||
|
# This is how often the push script checks whether it has
|
||||||
|
# something new to push to liquidsoap
|
||||||
|
# The default is 1
|
||||||
|
#
|
||||||
|
# cue_style: Can be set to 'pre' or 'otf'
|
||||||
|
# 'pre' cues while playlist preparation
|
||||||
|
# 'otf' (on the fly) cues while loading into ls
|
||||||
|
# (needs the post_processor patch)
|
||||||
|
# The default is 'pre'
|
||||||
|
#
|
||||||
|
# record_bitrate: The bitrate for recordings
|
||||||
|
# The default is 256
|
||||||
|
#
|
||||||
|
# record_samplerate: The samplerate for recordings
|
||||||
|
# The default is 44100
|
||||||
|
#
|
||||||
|
# record_channels: The number of channels for recordings
|
||||||
|
# The default is 2
|
||||||
|
#
|
||||||
|
# record_sample_size: The sample size for recordings
|
||||||
|
# The default is 16
|
||||||
|
#
|
||||||
|
# record_file_type: Can be either ogg|mp3, mp3 recording requires
|
||||||
|
# installation of the package "lame"
|
||||||
|
# The default is ogg
|
||||||
|
#
|
||||||
|
# base_recorded_files: Base path to store recordered shows at
|
||||||
|
# The default is '/var/tmp/airtime/show-recorder/'
|
||||||
|
#
|
||||||
|
[pypo]
|
||||||
|
api_client = 'airtime'
|
||||||
|
# ---------- Cache directories - !! Include trailing slash !! ----------
|
||||||
|
cache_dir = '/var/tmp/airtime/pypo/cache/'
|
||||||
|
file_dir = '/var/tmp/airtime/pypo/files/'
|
||||||
|
tmp_dir = '/var/tmp/airtime/pypo/tmp/'
|
||||||
|
# ------- Setup directories - !! Don't include trailing slash !! -------
|
||||||
|
cache_base_dir = '/var/tmp/airtime/pypo'
|
||||||
|
bin_dir = '/usr/lib/airtime/pypo'
|
||||||
|
log_base_dir = '/var/log/airtime'
|
||||||
|
pypo_log_dir = '/var/log/airtime/pypo'
|
||||||
|
liquidsoap_log_dir = '/var/log/airtime/pypo-liquidsoap'
|
||||||
|
# ------------------------ Liquidsoap Settings -------------------------
|
||||||
|
ls_host = '127.0.0.1'
|
||||||
|
ls_port = '1234'
|
||||||
|
# -------------------------- Pypo Preferences --------------------------
|
||||||
|
poll_interval = 3600
|
||||||
|
push_interval = 1
|
||||||
|
cue_style = 'pre'
|
||||||
|
# ---------------------- Recorded Audio Settings -----------------------
|
||||||
|
record_bitrate = 256
|
||||||
|
record_samplerate = 44100
|
||||||
|
record_channels = 2
|
||||||
|
record_sample_size = 16
|
||||||
|
record_file_type = 'ogg'
|
||||||
|
base_recorded_files = '/var/tmp/airtime/show-recorder/'
|
||||||
|
#
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
# S O U N D C L O U D
|
# S O U N D C L O U D
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
|
@ -314,6 +314,7 @@ if [ "$icecast" = "t" ]; then
|
||||||
set -e
|
set -e
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
loud "\n-----------------------------------------------------"
|
loud "\n-----------------------------------------------------"
|
||||||
loud " * Installing Python Apps * "
|
loud " * Installing Python Apps * "
|
||||||
loud "-----------------------------------------------------"
|
loud "-----------------------------------------------------"
|
||||||
|
@ -324,10 +325,6 @@ loudCmd "$AIRTIMEROOT/python_apps/python-virtualenv/virtualenv-install.sh"
|
||||||
verbose "\n * Installing liquidsoap..."
|
verbose "\n * Installing liquidsoap..."
|
||||||
loudCmd "apt-get -y --force-yes install liquidsoap"
|
loudCmd "apt-get -y --force-yes install liquidsoap"
|
||||||
|
|
||||||
# ------------ Activate virtualenv ------------
|
|
||||||
virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/"
|
|
||||||
. ${virtualenv_bin}activate
|
|
||||||
|
|
||||||
verbose "\n * Installing API client..."
|
verbose "\n * Installing API client..."
|
||||||
cp -R ${AIRTIMEROOT}/python_apps/api_clients /usr/lib/airtime/api_clients
|
cp -R ${AIRTIMEROOT}/python_apps/api_clients /usr/lib/airtime/api_clients
|
||||||
|
|
||||||
|
@ -335,7 +332,7 @@ verbose "\n * Copying media-monitor files..."
|
||||||
cp -R ${AIRTIMEROOT}/python_apps/media-monitor /usr/lib/airtime/media-monitor
|
cp -R ${AIRTIMEROOT}/python_apps/media-monitor /usr/lib/airtime/media-monitor
|
||||||
cp -R ${AIRTIMEROOT}/python_apps/media-monitor2 /usr/lib/airtime/media-monitor/mm2
|
cp -R ${AIRTIMEROOT}/python_apps/media-monitor2 /usr/lib/airtime/media-monitor/mm2
|
||||||
|
|
||||||
sed -e "s@WEB_USER@${web_user}@g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor
|
sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor
|
||||||
touch /etc/sudoers.d/airtime-media-monitor_${web_user}
|
touch /etc/sudoers.d/airtime-media-monitor_${web_user}
|
||||||
echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \
|
echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \
|
||||||
/sbin/stop airtime-media-monitor, \
|
/sbin/stop airtime-media-monitor, \
|
||||||
|
@ -343,19 +340,23 @@ echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \
|
||||||
/sbin/status airtime-media-monitor" > /etc/sudoers.d/airtime-media-monitor_${web_user}
|
/sbin/status airtime-media-monitor" > /etc/sudoers.d/airtime-media-monitor_${web_user}
|
||||||
|
|
||||||
verbose "\n * Copying pypo files..."
|
verbose "\n * Copying pypo files..."
|
||||||
python $AIRTIMEROOT/python_apps/pypo/install/pypo-copy-files.py
|
cp -R ${AIRTIMEROOT}/python_apps/pypo /usr/lib/airtime/pypo/bin/
|
||||||
|
|
||||||
verbose "\n * Initializing media monitor..."
|
sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout
|
||||||
python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-initialize.py
|
touch /etc/sudoers.d/airtime-playout_${web_user}
|
||||||
|
echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-playout, \
|
||||||
|
/sbin/stop airtime-playout, \
|
||||||
|
/sbin/restart airtime-playout, \
|
||||||
|
/sbin/status airtime-playout" > /etc/sudoers.d/airtime-playout_${web_user}
|
||||||
|
|
||||||
verbose "\n * Initializing pypo..."
|
sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap
|
||||||
python $AIRTIMEROOT/python_apps/pypo/install/pypo-initialize.py
|
touch /etc/sudoers.d/airtime-liquidsoap_${web_user}
|
||||||
|
echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-liquidsoap, \
|
||||||
|
/sbin/stop airtime-liquidsoap, \
|
||||||
|
/sbin/restart airtime-liquidsoap, \
|
||||||
|
/sbin/status airtime-liquidsoap" > /etc/sudoers.d/airtime-liquidsoap_${web_user}
|
||||||
|
|
||||||
loudCmd "service airtime-media-monitor restart 2>/dev/null"
|
# Do we need to run the init scripts for media-monitor and pypo here?
|
||||||
loudCmd "service airtime-playout restart 2>/dev/null"
|
|
||||||
|
|
||||||
deactivate
|
|
||||||
# ------------ Deactivate virtualenv ------------
|
|
||||||
|
|
||||||
if [ ! -d /var/log/airtime ]; then
|
if [ ! -d /var/log/airtime ]; then
|
||||||
loud "\n-----------------------------------------------------"
|
loud "\n-----------------------------------------------------"
|
||||||
|
@ -365,9 +366,29 @@ if [ ! -d /var/log/airtime ]; then
|
||||||
verbose "\n * Creating /var/log/airtime..."
|
verbose "\n * Creating /var/log/airtime..."
|
||||||
mkdir -p /var/log/airtime
|
mkdir -p /var/log/airtime
|
||||||
mkdir -p /var/log/airtime/media-monitor
|
mkdir -p /var/log/airtime/media-monitor
|
||||||
|
mkdir -p /var/log/airtime/pypo
|
||||||
|
mkdir -p /var/log/airtime/pypo-liquidsoap
|
||||||
|
|
||||||
|
verbose "\n * Creating /var/tmp/airtime..."
|
||||||
|
mkdir -p /var/tmp/airtime/media-monitor
|
||||||
|
mkdir -p /var/tmp/airtime/pypo/cache/
|
||||||
|
mkdir -p /var/tmp/airtime/pypo/files/
|
||||||
|
mkdir -p /var/tmp/airtime/pypo/tmp/
|
||||||
|
mkdir -p /var/tmp/airtime/show-recorder/
|
||||||
|
|
||||||
|
verbose "\n * Setting permissions on /var/log/airtime..."
|
||||||
chmod -R a+x /var/log/airtime
|
chmod -R a+x /var/log/airtime
|
||||||
chown -R ${web_user}:${web_user} /var/log/airtime/
|
chown -R ${web_user}:${web_user} /var/log/airtime/
|
||||||
|
|
||||||
|
verbose "\n * Setting permissions on /var/tmp/airtime..."
|
||||||
|
chmod -R a+x /var/tmp/airtime
|
||||||
|
chmod 755 /usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh
|
||||||
|
chown -R ${web_user}:${web_user} /var/tmp/airtime/
|
||||||
|
chown -R ${web_user}:${web_user} /usr/lib/airtime/
|
||||||
|
|
||||||
|
verbose "\n * Copying logrotate files..."
|
||||||
cp ${AIRTIMEROOT}/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php
|
cp ${AIRTIMEROOT}/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php
|
||||||
|
cp /usr/lib/airtime/pypo/bin/liquidsoap_scripts/airtime-liquidsoap.logrotate /etc/logrotate.d/airtime-liquidsoap
|
||||||
fi
|
fi
|
||||||
|
|
||||||
loud "\n-----------------------------------------------------"
|
loud "\n-----------------------------------------------------"
|
||||||
|
|
Loading…
Reference in New Issue