feat: change config dir path to /etc/libretime

BREAKING: The configuration directory changed from `/etc/airtime` to
`/etc/libretime`. Please rename your configuration directory accordingly.
This commit is contained in:
jo 2022-06-06 17:10:44 +02:00 committed by Kyle Robbertze
parent 604ff20239
commit aed6d2f294
29 changed files with 51 additions and 45 deletions

View File

@ -3,7 +3,7 @@ Description=LibreTime Media Analyzer Service
[Service]
Environment=LIBRETIME_LOG_FILEPATH=/var/log/libretime/analyzer.log
Environment=LIBRETIME_CONFIG_FILEPATH=/etc/airtime/config.yml
Environment=LIBRETIME_CONFIG_FILEPATH=/etc/libretime/config.yml
WorkingDirectory=/var/lib/libretime/analyzer
ExecStart=/usr/local/bin/libretime-analyzer

View File

@ -19,7 +19,7 @@ post_file() {
file_path="${stripped_file_path}"
# filename="${file_path##*/}"
airtime_conf_path=/etc/airtime/config.yml
airtime_conf_path=/etc/libretime/config.yml
#instance_path will look like 1/1384, for example
http_path=$(grep base_url ${airtime_conf_path} | awk '{print $3;}')

View File

@ -125,7 +125,7 @@ class AirtimeApiClient:
UPLOAD_RETRIES = 3
UPLOAD_WAIT = 60
def __init__(self, logger=None, config_path="/etc/airtime/config.yml"):
def __init__(self, logger=None, config_path="/etc/libretime/config.yml"):
self.logger = logger or logging
config = Config(filepath=config_path)

View File

@ -37,7 +37,7 @@ api_endpoints["file_download_url"] = "files/{id}/download/"
class AirtimeApiClient:
API_BASE = "/api/v2"
def __init__(self, logger=None, config_path="/etc/airtime/config.yml"):
def __init__(self, logger=None, config_path="/etc/libretime/config.yml"):
self.logger = logger or logging
config = Config(filepath=config_path)

View File

@ -7,7 +7,7 @@ KillMode=mixed
PrivateTmp=true
Environment=LIBRETIME_LOG_FILEPATH=/var/log/libretime/api.log
Environment=LIBRETIME_CONFIG_FILEPATH=/etc/airtime/config.yml
Environment=LIBRETIME_CONFIG_FILEPATH=/etc/libretime/config.yml
ExecStart=/usr/bin/gunicorn \
--workers 4 \

View File

@ -7,7 +7,7 @@ import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "libretime_api.settings.prod")
os.environ.setdefault("LIBRETIME_CONFIG_FILEPATH", "/etc/airtime/config.yml")
os.environ.setdefault("LIBRETIME_CONFIG_FILEPATH", "/etc/libretime/config.yml")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:

View File

@ -21,7 +21,7 @@ Feel free to pick the backup software of your choice, but know that rsync and si
### Backup the configuration
On common setups, you need to backup the entire `/etc/airtime` folder.
On common setups, you need to backup the entire `/etc/libretime` folder.
### Backup the database

View File

@ -58,7 +58,7 @@ a [system account](https://www.freeipa.org/page/HowTo/LDAP#System_Accounts) that
set up beforehand.
You can configure everything pertaining to how LibreTime accesses LDAP in
`/etc/airtime/config.yml`. The default file has the following values you need to change.
`/etc/libretime/config.yml`. The default file has the following values you need to change.
```yml
#

View File

@ -28,7 +28,7 @@ It is strongly recommended that you do this before exposing your server to the i
Make sure to include the semicolon at the end! A response of `ALTER ROLE` means that the command ran successfully.
3. Change the password for the _airtime_ user with `ALTER USER airtime WITH PASSWORD 'new_password';`
A response of `ALTER ROLE` means that the command ran successfully.
4. If all is successful, logout of PostgreSQL with `\q`, go back to `/etc/airtime/config.yml` to edit the password
4. If all is successful, logout of PostgreSQL with `\q`, go back to `/etc/libretime/config.yml` to edit the password
in the config file, and restart all services mentioned in the previous section.
## Icecast
@ -61,4 +61,4 @@ To change the default password for RabbitMQ, run the following command
sudo rabbitmqctl change_password airtime newpassword
```
and then update the `/etc/airtime/config.yml` file with the new password.
and then update the `/etc/libretime/config.yml` file with the new password.

View File

@ -46,7 +46,7 @@ The Icecast server has a _fallback-mount_ feature which can be used to move clie
To enable fallback mounts, edit the main Icecast configuration file (`/etc/icecast2/icecast.xml`) to define the mount points you will use, and the relationship between them.
The example mount section provided in the `icecast.xml` file is commented out by default. Before or after the commented section, add three mount point definitions. The default mount point used by LibreTime is `/airtime_128` which is shown in the `/etc/airtime/liquidsoap.cfg` file. You must also define a mount point for the live source (ex. `/live.ogg`) and a mount point for the public to connect to (ex. `/stream.ogg`).
The example mount section provided in the `icecast.xml` file is commented out by default. Before or after the commented section, add three mount point definitions. The default mount point used by LibreTime is `/airtime_128` which is shown in the `/etc/libretime/liquidsoap.cfg` file. You must also define a mount point for the live source (ex. `/live.ogg`) and a mount point for the public to connect to (ex. `/stream.ogg`).
```xml title="/etc/icecast2/icecast.xml"
<mount>
@ -75,7 +75,7 @@ Setting the value of _fallback-override_ to 1 (enabled) means that when the `/li
## Source configuration
Connect the other source to the Icecast server with the same parameters defined in the `/etc/airtime/liquidsoap.cfg` file, except for the mount point. This should one of the mount points you have defined in the `/etc/icecast2/icecast.xml` file, such as `/live.ogg` in the example above.
Connect the other source to the Icecast server with the same parameters defined in the `/etc/libretime/liquidsoap.cfg` file, except for the mount point. This should one of the mount points you have defined in the `/etc/icecast2/icecast.xml` file, such as `/live.ogg` in the example above.
:::tip Streaming with Mixxx

View File

@ -3,7 +3,7 @@ title: Configuration
sidebar_position: 20
---
To configure LibreTime, you need to edit the `/etc/airtime/config.yml` file. This page describe the available options to configure your installation.
To configure LibreTime, you need to edit the `/etc/libretime/config.yml` file. This page describe the available options to configure your installation.
## General

View File

@ -49,7 +49,7 @@ On a common setup, to access LibreTime specific logs you should search for the f
For some LibreTime services, you can set a higher log level using the `LIBRETIME_LOG_LEVEL` environment variable, or by running the service by hand and using a command line flag:
```bash
sudo -u www-data libretime-analyzer --config /etc/airtime/config.yml --log-level debug
sudo -u www-data libretime-analyzer --config /etc/libretime/config.yml --log-level debug
```
The `/var/log/apache2/libretime.error.log` file contains logs from the web server.

View File

@ -8,7 +8,7 @@ We're in the process of rewriting LibreTime's API. This page contains the instru
:::
The LibreTime API enables many types of information about the broadcast schedule and configuration to be retrieved from the LibreTime server. Other than the live-info and week-info data fetched by website widgets (see the chapter _Exporting the schedule_), all API requests must be authenticated using the secret API key stored in the file `/etc/airtime/api_client.cfg` on the LibreTime server. This key is autogenerated during LibreTime installation and should be unique for each server.
The LibreTime API enables many types of information about the broadcast schedule and configuration to be retrieved from the LibreTime server. Other than the live-info and week-info data fetched by website widgets (see the chapter _Exporting the schedule_), all API requests must be authenticated using the secret API key stored in the file `/etc/libretime/api_client.cfg` on the LibreTime server. This key is autogenerated during LibreTime installation and should be unique for each server.
If you intend to use the LibreTime API across a public network, for security reasons it is highly recommended that all API requests are sent over encrypted https: and that the web server is configured to accept requests to the api/ directory from specific host names or IP addresses only.

View File

@ -32,6 +32,12 @@ The configuration file name changed from `airtime.conf` to `config.yml`. Please
sudo mv /etc/airtime/airtime.conf /etc/airtime/config.yml
```
The configuration directory changed from `/etc/airtime` to `/etc/libretime`. Please rename your configuration directory using the following command:
```bash
sudo mv /etc/airtime /etc/libretime
```
The configuration file format changed to `yml`. Please rewrite your [configuration file](../admin-manual/setup/configuration.md) using the [yaml format](https://yaml.org/).
### Apache and PHP configuration files

22
install
View File

@ -843,7 +843,7 @@ if [ -f /etc/airtime/airtime.conf ]; then
verbose "...Done"
echo "Looks like you have an old version of Airtime. Your current /etc/airtime/airtime.conf \
will be moved to /etc/airtime/airtime.conf.tmp"
will be moved to /etc/libretime/airtime.conf.tmp"
# If we don't remove the existing python files in /usr/lib and the
# /etc/init.d startup scripts, services won't work properly
if [ -d /usr/lib/airtime/ ]; then
@ -864,7 +864,7 @@ will be moved to /etc/airtime/airtime.conf.tmp"
rm -rf "/usr/share/airtime"
fi
mv /etc/airtime/airtime.conf /etc/airtime/airtime.conf.tmp
mv /etc/airtime/airtime.conf /etc/libretime/airtime.conf.tmp
set -e
fi
fi
@ -964,7 +964,7 @@ if [ "$icecast" = "t" ]; then
fi
systemInitCommand enable "${icecast_unit_name}"
# only update icecast password if
if [ ! -e "/etc/airtime/airtime.conf" ] && [ ! -e "/etc/airtime/airtime.conf.tmp" ]; then
if [ ! -e "/etc/libretime/airtime.conf" ] && [ ! -e "/etc/libretime/airtime.conf.tmp" ]; then
icecast_pass=$(tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c"${1:-12}")
echo "$icecast_pass" > /tmp/icecast_pass
loud "\n New install detected setting icecast password to random value."
@ -1128,23 +1128,23 @@ if [ $skip_rabbitmq -eq 0 ]; then
loudCmd "rabbitmqctl set_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USER} .\* .\* .\*"
fi
if [ ! -d "/etc/airtime" ]; then
if [ ! -d "/etc/libretime" ]; then
loud "\n-----------------------------------------------------"
loud " * Installing Libretime * "
loud "-----------------------------------------------------"
verbose "\n * Creating /etc/airtime/ directory..."
mkdir /etc/airtime
verbose "\n * Creating /etc/libretime/ directory..."
mkdir /etc/libretime
fi
if [ "$icecast" = "t" ]; then
if [ ! -e "/etc/airtime/airtime.conf" ] && [ ! -e "/etc/airtime/airtime.conf.tmp" ]; then
# need to copy the icecast_pass from temp to /etc/airtime so web-based installer can read it
cp /tmp/icecast_pass /etc/airtime/icecast_pass
if [ ! -e "/etc/libretime/airtime.conf" ] && [ ! -e "/etc/libretime/airtime.conf.tmp" ]; then
# need to copy the icecast_pass from temp to /etc/libretime so web-based installer can read it
cp /tmp/icecast_pass /etc/libretime/icecast_pass
fi
fi
chown -R ${web_user}:${web_user} /etc/airtime
chown -R ${web_user}:${web_user} /etc/libretime
if [ ! -d "/srv/airtime" ]; then
mkdir -p /srv/airtime
@ -1159,7 +1159,7 @@ if [ "$selinux" = "t" ]; then
loud "-----------------------------------------------------"
verbose "\n * Running restorecon..."
loudCmd "restorecon -Rv /etc/airtime /srv/airtime > /dev/null 2>&1"
loudCmd "restorecon -Rv /etc/libretime /srv/airtime > /dev/null 2>&1"
verbose "...Done"
fi

View File

@ -125,12 +125,12 @@ setsebool -P git_system_use_nfs 1 # same for git
semanage port -a -t http_port_t -p tcp 9080 # default vagrant web port
# Allow apache full access to /vagrant and /etc/airtime
# Allow apache full access to /vagrant and /etc/libretime
semanage fcontext -a -t httpd_sys_rw_content_t "/vagrant(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/etc/airtime(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/etc/libretime(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/srv/airtime(/.*)?"
restorecon -Rv /vagrant /etc/airtime /srv/airtime
restorecon -Rv /vagrant /etc/libretime /srv/airtime
# Disable default apache page
sed -i -e 's/^/#/' /etc/httpd/conf.d/welcome.conf

View File

@ -13,7 +13,7 @@ resources.modules[] = ""
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.modules[] = ""
resources.view[] =
; These are no longer needed. They are specified in /etc/airtime/config.yml:
; These are no longer needed. They are specified in /etc/libretime/config.yml:
;resources.db.adapter = "Pdo_Pgsql"
;resources.db.params.charset = "utf8"
;resources.db.params.host = "localhost"

View File

@ -20,7 +20,7 @@ defined('VERBOSE_STACK_TRACE') || define('VERBOSE_STACK_TRACE', getenv('VERBOSE_
define('LIBRETIME_LOG_DIR', getenv('LIBRETIME_LOG_DIR') ?: '/var/log/libretime');
define('LIBRETIME_LOG_FILEPATH', getenv('LIBRETIME_LOG_FILEPATH') ?: LIBRETIME_LOG_DIR . '/legacy.log');
define('LIBRETIME_CONFIG_DIR', getenv('LIBRETIME_CONFIG_DIR') ?: '/etc/airtime');
define('LIBRETIME_CONFIG_DIR', getenv('LIBRETIME_CONFIG_DIR') ?: '/etc/libretime');
define('LIBRETIME_CONF_DIR', LIBRETIME_CONFIG_DIR); // Deprecated
define('LIBRETIME_CONFIG_FILEPATH', getenv('LIBRETIME_CONFIG_FILEPATH') ?: LIBRETIME_CONFIG_DIR . '/config.yml');

View File

@ -64,7 +64,7 @@
?>">
Make sure you aren't missing any of the Postgres dependencies in the table above.
If your dependencies check out, make sure your database configuration settings in
<code>/etc/airtime/config.yml</code> are correct and the LibreTime database was installed correctly.
<code>/etc/libretime/config.yml</code> are correct and the LibreTime database was installed correctly.
<?php
}
?>
@ -81,7 +81,7 @@
<?php
} else {
?>">
Make sure RabbitMQ is installed correctly, and that your settings in /etc/airtime/config.yml
Make sure RabbitMQ is installed correctly, and that your settings in /etc/libretime/config.yml
are correct. Try using <code>sudo rabbitmqctl list_users</code> and <code>sudo rabbitmqctl list_vhosts</code>
to see if the airtime user (or your custom RabbitMQ user) exists, then checking that
<code>sudo rabbitmqctl list_exchanges</code> contains entries for airtime-analyzer, airtime-pypo,

View File

@ -65,7 +65,7 @@ class MediaSetup extends Setup
rename($tmpFile, $bakFile);
}
} else {
self::$message = "Failed to move config.yml; /etc/airtime doesn't exist!";
self::$message = "Failed to move config.yml; /etc/libretime doesn't exist!";
self::$errors[] = 'ERR';
}
@ -76,7 +76,7 @@ class MediaSetup extends Setup
}
/**
* Moves /tmp/airtime.temp.conf to /etc/airtime/config.yml and then removes it to complete setup.
* Moves /tmp/airtime.temp.conf to /etc/libretime/config.yml and then removes it to complete setup.
*
* @return bool false if either of the copy or removal operations fail
*/

View File

@ -124,7 +124,7 @@ require_once 'general-setup.php';
require_once 'media-setup.php';
// If config.yml exists, we shouldn't be here
if (!file_exists('/etc/airtime/config.yml')) {
if (!file_exists('/etc/libretime/config.yml')) {
if (isset($_GET['obj']) && $objType = $_GET['obj']) {
$obj = new $objType($_POST);
if ($obj instanceof Setup) {

View File

@ -48,8 +48,8 @@ class AirtimeInstall
} catch (PropelException $e) {
return null;
}
if (file_exists('/etc/airtime/config.yml')) {
$values = parse_ini_file('/etc/airtime/config.yml', true);
if (file_exists('/etc/libretime/config.yml')) {
$values = parse_ini_file('/etc/libretime/config.yml', true);
} else {
return null;
}

View File

@ -3,7 +3,7 @@ Description=Libretime Liquidsoap Service
[Service]
Environment=LIBRETIME_LOG_FILEPATH=/var/log/libretime/liquidsoap.log
Environment=LIBRETIME_CONFIG_FILEPATH=/etc/airtime/config.yml
Environment=LIBRETIME_CONFIG_FILEPATH=/etc/libretime/config.yml
WorkingDirectory=/var/lib/libretime/playout
ExecStart=/usr/local/bin/libretime-liquidsoap

View File

@ -4,7 +4,7 @@ After=network-online.target
[Service]
Environment=LIBRETIME_LOG_FILEPATH=/var/log/libretime/playout.log
Environment=LIBRETIME_CONFIG_FILEPATH=/etc/airtime/config.yml
Environment=LIBRETIME_CONFIG_FILEPATH=/etc/libretime/config.yml
WorkingDirectory=/var/lib/libretime/playout
ExecStart=/usr/local/bin/libretime-playout

View File

@ -1,4 +1,4 @@
%include "/etc/airtime/liquidsoap.cfg"
%include "/etc/libretime/liquidsoap.cfg"
if (log_file != "") then
set("log.file.path", log_file)

View File

@ -1,4 +1,4 @@
%include "/etc/airtime/liquidsoap.cfg"
%include "/etc/libretime/liquidsoap.cfg"
if (log_file != "") then
set("log.file.path", log_file)

View File

@ -1,4 +1,4 @@
%include "/etc/airtime/liquidsoap.cfg"
%include "/etc/libretime/liquidsoap.cfg"
if (log_file != "") then
set("log.file.path", log_file)

View File

@ -11,7 +11,7 @@ from loguru import logger
def generate_liquidsoap_config(ss, log_filepath: Optional[Path]):
data = ss["msg"]
fh = open("/etc/airtime/liquidsoap.cfg", "w")
fh = open("/etc/libretime/liquidsoap.cfg", "w")
fh.write("################################################\n")
fh.write("# THIS FILE IS AUTO GENERATED. DO NOT CHANGE!! #\n")
fh.write("################################################\n")

View File

@ -3,7 +3,7 @@ Description=LibreTime Worker Service
[Service]
Environment=LIBRETIME_LOG_FILEPATH=/var/log/libretime/worker.log
Environment=LIBRETIME_CONFIG_FILEPATH=/etc/airtime/config.yml
Environment=LIBRETIME_CONFIG_FILEPATH=/etc/libretime/config.yml
WorkingDirectory=/var/lib/libretime/worker
ExecStart=/usr/bin/sh -c 'celery worker \