docs: update structure and create links between pages (#1611)

* docs: rework files structure

* rewrite documentation entrypoint

* update category files and use yml

* add manuals entry page

* update admin-manual titles and page order

* create releases sections

* move ssl configuration to reverse proxy

* docs: update website vars and links

* update release note codeblock syntax key

* resurect troubleshooting guide

* Update freeipa custom auth documentation

* add notice about the state of the documentation

* update the backup documentation

* tmp: allow to deploy the website for preview

* Don't use require.resolve for plugins

* Update the main page link dest

* update development environment title

* rewrite the install/upgrade/migrate as guides

* update website docs sections links

* Fix urls

* move release note to documentation

* move home links to vars files

* tmp: update deploy url

* add react to tsconfig to handle jsx linting

* fix: replace absolute url to relative path to files

* tmp: allow CI Website dpeloy on working branch

* Update release note title

* use default syntax highlighting theme

* update the troubleshooting guide

* Wording

* use CodeBlock components

* Better prose

* remove api_client config section

* fix prose errors

* update import prefix for vars file

* reroder docs manuals links

* use sentence capitalization for page titles

* Wording

* missing word

* Update note about syslog log file

* wording
This commit is contained in:
Jonas L 2022-02-21 08:16:54 +01:00 committed by GitHub
parent 5769821995
commit 3ec85d7821
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
107 changed files with 682 additions and 512 deletions

View File

@ -2,7 +2,7 @@ name: Website
on:
push:
branches: [main]
branches: [main, docs_update]
paths:
- .github/workflows/website.yml
- website/**
@ -60,7 +60,7 @@ jobs:
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
if: ${{ github.ref == 'refs/heads/main' }}
if: ${{ github.ref == 'refs/heads/docs_update' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./website/build

View File

@ -5,3 +5,5 @@ Vocab = Docs
[*.md]
BasedOnStyles = Vale, Google, Microsoft, LibreTime
Vale.Spelling = False

29
docs/README.md Normal file
View File

@ -0,0 +1,29 @@
---
title: Welcome
sidebar_position: 10
---
Welcome to the **LibreTime documentation**, you should find everything you need to know about LibreTime.
:::caution
:construction: LibreTime is in being modernized and is finalizing the forking process. Be aware that breaking change may occur and that the documentation may not be up to date.
:::
## Getting started
**Are you new to LibreTime? This is the place to start!**
The documentation is divided into multiple parts:
- the [Administrator manual](./admin-manual) provide guides and references to setup and configure LibreTime.
- the [User manual](./user-manual) provide guides and tutorials for managers, and content creators to use LibreTime.
- the [Developer manual](./developer-manual) provide guides to integrate LibreTime, or improve and contribute to LibreTime.
## Getting help
Having trouble? Wed like to help!
- [:question: Try the Forum its got answers to many common questions](https://discourse.libretime.org/).
- [:bug: Report bugs with LibreTime in our ticket tracker.](https://github.com/libretime/libretime/issues)

View File

@ -26,7 +26,7 @@ Any custom changes that you make to the administration interface should be backe
# Modifying the Icecast interface
If you have installed Icecast, in the directory `/etc/icecast2/web/` you will find several XSLT and other files which are used to generate the Icecast web interface. If you are familiar with HTML you should be able to modify these pages, as they are well commented. You do have to be careful with syntax, because something as simple as a missing bracket can cause the Icecast web interface to break down.
If you have installed Icecast, in the directory `/etc/icecast2/web/` you will find several XSLT and other files which are used to generate the Icecast web interface. If you are familiar with HTML you should be able to modify these pages, as they're well commented. You do have to be careful with syntax, because something as simple as a missing bracket can cause the Icecast web interface to break down.
For example, you could change the `status.xsl` page:

View File

@ -1,57 +0,0 @@
---
title: Troubleshooting
---
Is something not working for your LibreTime installation? Here's a quick guide to help you
troubleshoot most issues you'll run into.
## 1. Let's check the basics
Is your server on? (We hate to ask.) Is it connected to the internet? Is it connected to your
broadcast console or mixer if being used for soundcard output? If you're using a cloud host,
does your cloud provider's status page indicate any system outages?
Once you know your physical (or virtual) system is functional, was a show scheduled for the
current time with tracks or an autoplaylist scheduled?
## 2. Are all services working?
If you can log in to LibreTime, go to **Settings** > **Status** to see the service indicators.
A fully working server should have green checkmarks next to all services.
![](/img/Screenshot521-System_status_240.png)
If one of the services isn't working, text will display with a terminal command to restart the service
or get status information for a particular service. For example (for Ubuntu 18.04), the following
commands would restart or check the status of LibreTime's Liquidsoap instance, respectively.
```bash
sudo systemctl restart libretime-liquidsoap
sudo systemctl status libretime-liquidsoap
```
If the service isn't wanting to restart, look at its status for clues as to why it stopped working.
> If you find yourself constantly needing to restart a service, there's a chance it was never set to autostart on system boot. Use `sudo systemctl enable servicename` to fix this problem.
## 3. Known problems
If you have one of these issues, please try to resolve it with the instructions below before moving on in the
troubleshooting checklist.
- **Streaming player on Microsite and Listen player on Dashboard not working?** The problem could be caused by a bug in writing to the database during the setup wizard. This can be fixed by going to **Settings** -> **Stream Settings** and toggling the **Default Streaming** and **Custom/ 3rd Party Streaming** option, accepting the popup dialogues, and clicking **Save** at the top of the settings page.
- **File not importing successfully?** LibreTime has been known to work with MP3 and WAV files, encoded using 41,100 Hz. Variable Bit Rate (VBR) files are currently hit or miss with the importer. Please convert your file to an MP3 or WAV at 41,100 Hz. and try uploading again.
- **Podcast hosted by Anchor.fm not importing?** There is no known work-around at this time. Ask your producers to provide their show files manually or check with the show's distributer.
- **Tracks won't publish?** We know the Publish screen is broken and we're working on it. A potential work-around is to use an external podcast host like [Anchor.fm](https://anchor.fm) or [Blubrry](https://blubrry.com/).
- **Can't hear any sound coming from your soundcard (for analog audio output)?** If you are using ALSA as your audio driver, use `alsamixer` to see the current volume your system is set to. If still nothing, go to **Settings** > **Streams** and make sure **Hardware Audio Output** is checked. If you need to play a tone to help you troubleshoot, you can use `speaker-test` (does not come installed with LibreTime).
## 4. Read the docs
Our main documentation listing is [here](/docs) and can be searched [here](/search).
## 5. Reach out to the developers
LibreTime is still in active development, meaning bugs and issues are expected to pop up every so often.
See if an issue is still open by looking at our [Issues page](https://github.com/LibreTime/libretime/issues).
If you don't get the help you need, please [open an issue](https://github.com/LibreTime/libretime/issues/new/choose)
so we can take a look at it.

View File

@ -0,0 +1,33 @@
---
title: Administrator manual
---
Welcome to the **LibreTime administrator manual**, you should find guides and references to setup and configure LibreTime.
:::caution
This documentation assumes that you:
- have basic understanding of command line interfaces,
- have a basic understanding of networking.
:::
:::tip
Before following any steps, be sure that your system is up-to-date.
:::
## Install and configure
- [:rocket: Install LibreTime](./setup/install.md)
- [:arrow_up: Upgrade from a previous install](./setup/upgrade.md)
- [:airplane_arriving: Migrate from Airtime](./setup/migrate-from-airtime.md)
- [:gear: Configure your installation](./setup/configuration.md)
- [:lock: Put your installation behind a reverse proxy](./setup/reverse-proxy.md)
## Advanced
- [:warning: Setup automated backups](./backup.md)
- [:heavy_check_mark: Use a custom authentication system](./custom-authentication.md)

View File

@ -0,0 +1,2 @@
label: Admin manual
position: 20

View File

@ -0,0 +1,56 @@
---
title: Backup
sidebar_position: 10
---
## Create a backup
This guide walk you though the steps required to create a full backup of your installation.
:::info
Remember to **automate** and **test** the backup process and to have it run regularly. Having an **automated** and **tested** restoring process is also recommended.
:::
:::caution
Feel free to pick the backup software of your choice, but know that rsync and similar tools are not backup tools. You could use [restic](https://restic.net/) or [borg](https://borgbackup.readthedocs.io/).
:::
### Backup the configuration
On common setups, you need to backup the entire `/etc/airtime` folder.
### Backup the database
You need to backup the PostgreSQL database, which holds the entire data of your installation.
Here is an example to dump your PostgreSQL database:
```bash
sudo -u postgres pg_dump --file=libretime.sql libretime
```
Please read the `pg_dump` usage for additional details.
### Backup the storage
You need to backup the entire file storage, which holds all the files of your installation.
The path to your storage was defined during the installation process.
## Restore a backup
### Restore the configuration
Copy the backed configuration files back to the configuration folder.
### Restore the database
:construction:
### Restore the storage
:construction:

View File

@ -1,13 +1,16 @@
---
title: FreeIPA configuration
title: Custom authentication
sidebar_position: 40
---
## Setup FreeIPA authentication
You can configure LibreTime to delegate all authentication to a FreeIPA server.
This allows you users to use their existing FreeIPA credentials. For this to
work you need to configure Apache to use `mod_authnz_pam` and `mod_intercept_form_submit`.
## Apache configuration
### Apache configuration
After installing the needed modules you can set up Apache to intercept form logins and
check them against pam.
@ -37,7 +40,7 @@ check them against pam.
</Location>
```
## PAM configuration
### PAM configuration
The above configuration expects a PAM configuration for the `http-libretime` service.
@ -48,7 +51,7 @@ auth required pam_sss.so
account required pam_sss.so
```
## LDAP configuration
### LDAP configuration
LibreTime needs direct access to LDAP so it can fetch additional information. It does so with
a [system account](https://www.freeipa.org/page/HowTo/LDAP#System_Accounts) that you need to
@ -94,7 +97,7 @@ groupmap_admin = 'cn=admins,cn=groups,cn=accounts,dc=int,dc=example,dc=org'
groupmap_superadmin = 'cn=superadmin,cn=groups,cn=accounts,dc=int,dc=example,dc=org'
```
## Enable FreeIPA authentication
### Enable FreeIPA authentication
After everything is set up properly you can enable FreeIPA auth in `airtime.conf`:

View File

@ -1,6 +1,6 @@
---
title: Change Default Passwords
sidebar_position: 3
title: Change default passwords
sidebar_position: 80
---
## LibreTime

View File

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View File

@ -1,5 +1,6 @@
---
title: Icecast Configuration
title: Icecast configuration
sidebar_position: 30
---
## Background
@ -20,7 +21,7 @@ Setting a higher bitrate for your output stream will only benefit your listeners
## UTF-8 metadata in Icecast MP3 streams
When sending metadata about your stream to an Icecast server in non-Latin alphabets, you may find that Icecast does not display the characters correctly for an MP3 stream, even though they are displayed correctly for an Ogg Vorbis stream. In the following screenshot, Russian characters are being displayed incorrectly in the _Current Song_ field for the MP3 stream:
When sending metadata about your stream to an Icecast server in non-Latin alphabets, you may find that Icecast does not display the characters correctly for an MP3 stream, even though they're displayed correctly for an Ogg Vorbis stream. In the following screenshot, Russian characters are being displayed incorrectly in the _Current Song_ field for the MP3 stream:
![](./icecast-screenshot223-icecast_utf-8_metadata.png)

View File

@ -1,6 +1,6 @@
---
title: Setting the Server Time
sidebar_position: 2
title: Setting the server time
sidebar_position: 20
---
Accurate time keeping on your server is vital for LibreTime performance. You can confirm that the date and time of your server are set correctly with the `date` command.

View File

@ -0,0 +1,2 @@
label: Setup
position: 00

View File

@ -1,5 +1,6 @@
---
title: Host configuration
title: Configuration
sidebar_position: 20
---
The streaming host configuration for LibreTime is shown in the file `/etc/airtime/liquidsoap.cfg` which is automatically generated by the **Streams** page, found on the **System** menu of the LibreTime administration interface. For this reason, you would not normally edit the streaming configuration manually, as any changes are likely to be overwritten by the administration interface.
@ -8,7 +9,7 @@ The streaming host configuration for LibreTime is shown in the file `/etc/airtim
Optionally, you may wish to edit the file `/etc/airtime/airtime.conf` to set the PostgreSQL database host, and the username and password to connect to the database with.
You can also set options for RabbitMQ messaging and the LibreTime server in this file, although you should not normally need to adjust the defaults unless you are running a large LibreTime system distributed across multiple servers. To run the LibreTime server in demo mode, which changes the greeting on the login page and prevents user accounts from being created or modified, set the value of _demo_ to 1.
You can also set options for RabbitMQ messaging and the LibreTime server in this file, although you shouldn't normally need to adjust the defaults unless you are running a large LibreTime system distributed across multiple servers. To run the LibreTime server in demo mode, which changes the greeting on the login page and prevents user accounts from being created or modified, set the value of _demo_ to 1.
```ini title="/etc/airtime/airtime.conf"
[database]
@ -51,26 +52,9 @@ sudo systemctl restart libretime-celery
sudo systemctl restart libretime-analyzer
```
## API client configuration
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.
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.
If you have changed the _base_url_, _base_port_ or _base_dir_ setting in `/etc/airtime/airtime.conf` from the defaults, you will probably also have to update the _Hostname_ settings in the file `/etc/airtime/api_client.cfg` accordingly.
```ini
bin_dir = /usr/lib/airtime/api_clients
api_key = 'XXXXXXXXXXXXXXXXXXXX'
api_base = api
host = libretime.example.com
base_port = 80
base_dir = /
```
## Apache max file size configuration
By default, the maximum upload file size is 40 MB, which may not be large enough for some stations, especially if they are uploading prerecorded shows. The setting for this is located in `/etc/apache2/sites-available/airtime.config`. Search for and update the following in megabytes:
By default, the maximum upload file size is 40 MB, which may not be large enough for some stations, especially if they're uploading prerecorded shows. The setting for this is located in `/etc/apache2/sites-available/airtime.config`. Search for and update the following in megabytes:
```ini
; Maximum allowed size for uploaded files.
@ -80,7 +64,7 @@ upload_max_filesize = 40M
post_max_size = 40M
```
For quick reference, 1024 MB = 1 GB and 2048 MB = 2 GB, but most will be okay with rounding to the nearest thousand. After updating the config file, restart Apache with `sudo systemctl restart apache2`.
For quick reference, 1024 MB = 1 GB and 2048 MB = 2 GB, but most should be okay with rounding to the nearest thousand. After updating the config file, restart Apache with `sudo systemctl restart apache2`.
## Playout settings
@ -168,7 +152,7 @@ If the Airtime logs indicate failures to connect to the RabbitMQ server, such as
2013-10-31 08:21:11,255 ERROR - \[pypomessagehandler.py : main() : line 99\] - Error connecting to RabbitMQ Server. Trying again in few seconds - See more at: https://forum.sourcefabric.org/discussion/16050/#sthash.W8OJrNFm.dpuf
```
but the RabbitMQ server is running normally, this error might be due to a change in the server's hostname since LibreTime installation. Directory names under `/var/lib/rabbitmq/mnesia/` indicate that RabbitMQ's database files are organised according to the hostname of the server (ex. `rabbit@airtime`) where the hostname is `airtime.example.com`. If the hostname has changed, it may be necessary to reconfigure RabbitMQ manually, as follows:
but the RabbitMQ server is running normally, this error might be due to a change in the server's hostname since LibreTime installation. Directory names under `/var/lib/rabbitmq/mnesia/` indicate that RabbitMQ's database files are organized according to the hostname of the server (ex. `rabbit@airtime`) where the hostname is `airtime.example.com`. If the hostname has changed, it may be necessary to reconfigure RabbitMQ manually, as follows:
1. Delete the files in `/var/lib/rabbitmq/mnesia/`

View File

@ -0,0 +1,144 @@
---
title: Install
sidebar_position: 10
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import CodeBlock from '@theme/CodeBlock';
import vars from '@site/vars';
This guide walk you though the steps required to install LibreTime on your system.
:::tip
If you are coming from **Airtime**, please follow the [Airtime migration guide](./migrate-from-airtime.md).
:::
You can install LibreTime using the one of the following methods:
- [:rocket: Using the installer](#using-the-installer)
- :construction: Using Ansible
#### Minimum system requirements
- One of the following Linux distributions
- Ubuntu [current LTS](https://wiki.ubuntu.com/Releases)
- Debian [current stable](https://www.debian.org/releases/)
- 1 Ghz Processor
- 2 GB RAM recommended (1 GB required)
- A static external IP address ([How to setup a static ip using Netplan](../tutorials/setup-a-static-ip-using-netplan.md))
## Using the installer
The installer is shipped in the released tarballs or directly in the project repository.
### Download
You can either download the latest released tarball or clone the repository.
<Tabs>
<TabItem label="Release tarball" value="tarball" default>
Download the [latest released](https://github.com/libretime/libretime/releases) tarball from Github.
Or directly from the command-line:
<CodeBlock language="bash">
wget https://github.com/libretime/libretime/releases/download/{vars.version}/libretime-{vars.version}.tar.gz
</CodeBlock>
And extract the tarball:
<CodeBlock language="bash">
tar -xvf libretime-{vars.version}.tar.gz && cd libretime
</CodeBlock>
</TabItem>
<TabItem label="Git repository" value="git">
Clone the project repository:
```bash
git clone https://github.com/libretime/libretime
cd libretime
```
And checkout the latest version:
<CodeBlock language="bash">
git checkout {vars.version}
</CodeBlock>
</TabItem>
</Tabs>
### Run the installer
Install LibreTime with the recommended options:
```bash
sudo ./install -fiap
```
Additional options can be listed with the following command:
```bash
./install --help
```
Once the installation is completed, open [http://localhost:80](http://localhost:80) to complete the [setup wizard](#setup-wizard).
:::note
- If installed on a remote device, make sure to replace `localhost` with your server's remote address.
- If installed with a custom port, make sure to replace `80` with the custom port.
:::
:::warning
Make sure that you have configured a **firewall** and it's not blocking connection to the desired ports.
- [How to setup a firewall using UFW](../tutorials/setup-a-firewall-using-ufw.md)
LibreTime requires the following ports to be open:
- `80` for the web interface,
- `8000` for the Icecast streams,
- `8001` and `8002` for the live stream input endpoint.
Consider putting your installation behind a [reverse proxy](./reverse-proxy.md) to increase the security.
:::
#### Using hardware audio output
If you plan to output analog audio directly to a mixing console or transmitter, the user running LibreTime (by default `www-data`) needs to be added to the `audio` user group using the command below:
```bash
sudo adduser www-data audio
```
### Setup wizard
The setup wizard walk you through the rest of the installation process.
#### Changing default passwords
It's recommended that you change the passwords prompted in the setup wizard. Be sure to apply the changes on the server before going to any next step.
You can change the default PostgreSQL user password using:
```bash
sudo -u postgres psql -c "ALTER USER airtime PASSWORD 'new-password';"
```
You can change the default RabbitMQ user password using:
```bash
sudo rabbitmqctl change_password "airtime" "new-password"
```
Once completed, it's recommended to [install a reverse proxy](./reverse-proxy.md) to setup SSL termination and secure your installation.

View File

@ -0,0 +1,40 @@
---
title: Migrate from Airtime
sidebar_position: 90
---
This guide walk you though the steps required to migrate your data from Airtime to LibreTime.
:::info
Airtime **linked files** and **watched folders** features are either deprecated or not working in LibreTime.
:::
LibreTime dropped support for Ubuntu 16.04, which is the last supported version of Ubuntu that Airtime supports.
## Make a backup
<!-- TODO: Airtime backup process might be different from the LibreTime one, we might need to write a dedicated backup guide here. -->
Follow [the backup guide](../backup.md) to make a backup of your current Airtime installation.
## Install
Install LibreTime on a new system by following the [install guide](./install.md), and **don't run the setup wizard**.
## Restore the backup
Restore [the Airtime backup](../backup.md#restore) on the newly installed LibreTime server.
You have to restore the **database**, the **files storage** and the **configuration files**.
## Update the configuration files
Update the configuration file to match the new configuration schema and update any changed values. See the [configuration](./configuration.md) documentation for more details.
Edit the Icecast password in `/etc/icecast2/icecast.xml` to reflect the password used in Airtime.
## Finish
Restart the LibreTime services and navigate to the LibreTime web-page.

View File

@ -1,29 +1,29 @@
---
title: Reverse Proxy
sidebar_position: 5
title: Reverse proxy
sidebar_position: 30
---
In some deployments, the LibreTime server is deployed behind a reverse proxy,
for example in containerization use-cases such as Docker and LXC. LibreTime
makes extensive use of its API for some site functionality, which causes
makes extensive use of its API for some site features, which causes
[Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
to occur. By default, CORS requests are blocked by your browser and the origins
need to be added to the **Allowed CORS URLs** block in
[**General Settings**](/docs/guides/settings). These origins should include any
domains that will be used externally to connect to your reverse proxy that you
[**General Settings**](../../user-manual/settings.md). These origins should include any
domains that are used externally to connect to your reverse proxy that you
want handled by LibreTime. These URLS can also be set during the first run configuration
that is displayed when you first install LibreTime
that's displayed when you first install LibreTime
### Reverse proxy basics
A reverse proxy allows the LibreTime server to not be connected to the open internet. In
this configuration, it is rather behind another server that proxies traffic to it from
this configuration, it's rather behind another server that proxies traffic to it from
users. This provides some advantages in the containerization space, as this means that
the containers can be on their own internal network, protected from outside access.
A reverse proxy also allows SSL to be terminated in a single location for multiple sites.
This means that all your traffic to the proxy from clients is encrypted, but the reverse
proxy's traffic to the containers on the internal network is not. All the SSL certificates
proxy's traffic to the containers on the internal network isn't. All the SSL certificates
live on the reverse proxy and can be renewed there instead of on the individual
containers.
@ -32,14 +32,14 @@ containers.
For SSL redirection to work, you need two domains: one for LibreTime and one for Icecast.
Here, these will be `libretime.example.com` and `icecast.example.com`.
You will also require two VMs, servers or containers. Alternatively the reverse proxy can
You require two VMs, servers or containers. Alternatively the reverse proxy can
be located on the server, proxying connections to containers also on the host. Setting up
a containerization environment is beyond the scope of this guide. It assumes that you have
Nginx set up on `localhost` and LibreTime will be installed on `192.168.1.10`. You will need root
access on both. `192.168.1.10` also needs to be able to be accessed from `localhost`
(`ping 192.168.1.10` on `localhost`).
On `192.168.1.10`, install LibreTime as described in the [install guide](/docs/getting-started/install). Once it has installed, replace `<hostname>localhost</hostname>` in
On `192.168.1.10`, install LibreTime as described in the [install guide](./install.md). Once it has installed, replace `<hostname>localhost</hostname>` in
`/etc/icecast2/icecast.xml` with the following:
```xml
@ -108,3 +108,18 @@ needs to be set to true:
...
force_ssl = true
```
## SSL Configuration
To increase the security of your server, you can enable encrypted access to the LibreTime administration interface, and direct your users towards this more secure login page. The main advantage of using this encryption is that your remote users' login names and passwords are not sent in plain text across the public Internet or untrusted local networks, such as shared Wi-Fi access points.
## Deploying a certificate with Certbot
One of the fastest, easiest, and cheapest ways to get an SSL certificate is through [Certbot](https://certbot.eff.org/), as created by the
Electronic Frontier Foundation. To use Certbot, your LibreTime installation must be open to the internet on port 80.
Follow [Certbot's documentation](https://certbot.eff.org/instructions) for your OS and webserver to install an SSL certificate. You'll need to renew the certificate every 90 days to keep your installation secure.
## Mixed encrypted and unencrypted content
Whether your certificate is self-signed or not, you will see browser security warnings whenever a https:// page is delivering unencrypted content, such as the stream from an Icecast server. In Firefox, an exclamation mark icon is displayed in the address bar of the **Listen** pop-up.

View File

@ -0,0 +1,45 @@
---
title: Upgrade
sidebar_position: 80
---
This guide walk you though the steps required to upgrade LibreTime.
:::tip
You should always have a fallback system available during the upgrade to ensure **broadcast continuity**.
:::
#### Make a backup
Follow [the backup guide](../backup.md) to make an extra backup of your installation in case of accidental data loss during
the upgrade process.
#### Install the new version
Follow [the install guide](./install.md) to download and install the new version.
#### Verify
Verify that all the services are still running after the install process:
```bash
sudo systemctl status \
libretime-analyzer \
libretime-api \
libretime-celery \
libretime-liquidsoap \
libretime-playout \
apache2
```
Verify for any error in the logs after the install process:
```bash
sudo tail -n 20 /var/log/libretime/**/*.log
```
Log into the interface and verify for any error after the install process.
If you encounter issues with the new interface, you may need to clear your web browser's cache.

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

View File

@ -0,0 +1,52 @@
---
title: Troubleshooting
sidebar_position: 90
---
This guide walk you though the steps required to troubleshoot LibreTime.
## Services status
When facing a problem with LibreTime the first reflex is to verify whether the services are running.
In the web interface, go to **Settings** > **Status** to see the state of the services.
![](./troubleshooting-status-page.png)
If a service isn't running, you should search for details using the tool running those services.
On a common setup, you should use the systemd service status:
```bash
sudo systemctl status libretime-celery
```
:::note
Be sure to replace the service name with the problematic one.
:::
## Logs
The next place to search for details on potential errors are the log files.
On a common setup, you should search for the following files:
- `/var/log/libretime/analyzer.log` contains logs from the analyzer,
- `/var/log/libretime/api.log` contains logs from the api,
- `/var/log/libretime/legacy.log` contains logs from the legacy app,
- `/var/log/libretime/liquidsoap.log` contains logs from liquidsoap,
- `/var/log/libretime/playout.log` contains logs from playout.
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/airtime.conf --log-level debug
```
- `/var/log/syslog` contains most of the system logs combined. This log file may contain information that the application logger wasn't able to log, such as early startup errors. You can get the LibreTime logs using:
```bash
sudo tail -f "/var/log/syslog" | grep "libretime-"
```
- `/var/log/apache2/error.log` contains logs from the web server.

View File

@ -0,0 +1,4 @@
# Always add "How to" at the beginning of your tutorials title
#
label: Tutorials
position: 99

View File

@ -0,0 +1,28 @@
---
title: How to setup a firewall using UFW
---
This tutorials will walk you though the steps required to setup a firewall using [UFW](https://doc.ubuntu-fr.org/ufw).
## 1. Install and enable `UFW`
First you need to make sure UFW is installed and enabled:
```bash
sudo apt install ufw
sudo ufw enable
```
## 2. Configure allowed ports
Next, you need to configure the firewall allowed ports:
```bash
sudo ufw allow 22,80,8000/tcp
```
If you plan to use the live stream input endpoint, be sure to open the `8001` and `8002` ports:
```bash
sudo ufw allow 8001,8002/tcp
```

View File

@ -0,0 +1,44 @@
---
title: How to setup a static ip using Netplan
---
This tutorials will walk you though the steps required to configure a server static IP address by modifying the [Netplan](https://netplan.io/reference/) configuration.
## 1. Edit the configuration
First find the right Netplan configuration filename, and edit the file:
```bash
cd /etc/netplan && ls # find the netplan filename
sudo nano ##-network-manager-all.yaml
```
If the Netplan configuration is empty, fill in the file with the example below. Otherwise,
input the IP address reserved for the server in `xxx.xxx.xxx.xxx/yy` format, the gateway (the IP address
of your router), and your DNS server's address.
```yaml
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses: [192.168.88.8/24]
gateway4: 192.168.88.1
nameservers:
addresses: [192.168.88.1]
```
:::tip
If you don't have your own DNS server you can use the router's address in most cases or a public DNS server like Google `8.8.8.8` or Cloudflare `1.1.1.1`.
:::
## 2. Apply the configuration
After the Netplan file has been saved, apply the changes by running:
```bash
sudo netplan apply
```

View File

@ -1,4 +0,0 @@
{
"label": "Appendix",
"position": 7
}

View File

@ -0,0 +1,2 @@
label: Appendix
position: 70

View File

@ -0,0 +1,13 @@
---
title: Developer manual
---
Welcome to the **LibreTime developer manual**, you should find guides to integrate LibreTime and tools to improve and contribute to LibreTime.
## Integrate LibreTime
- :construction: Work in progress
## Improve and contribute to LibreTime
- :construction: Work in progress

View File

@ -0,0 +1,2 @@
label: Developer manual
position: 40

View File

@ -1,5 +1,5 @@
---
title: Local development
title: Development environment
---
## Vagrant
@ -112,7 +112,7 @@ multipass shell ltTEST
```
Multipass isn't currently able to do an automated install from the cloud-init script.
After you enter the shell for the first time, you will still need to [run the LibreTime installer](/docs/getting-started/install).
After you enter the shell for the first time, you will still need to [run the LibreTime installer](../admin-manual/setup/install.md).
The IP address of your new VM can be found by running `multipass list`. Copy and paste it into your web browser to access the LibreTime interface and complete the setup wizard.

View File

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View File

@ -24,7 +24,7 @@ The streaming player widget inserts your LibreTime stream into your website. One
![](./widgets-widgets_player.png)
From **Widgets** > **Player**, enter a title for your streaming widget and select what stream you'd like to use. All selectible streams must first be configured in **Settings** > **Streams** (see [Settings](/docs/guides/settings)). **Auto detect** should be fine for most.
From **Widgets** > **Player**, enter a title for your streaming widget and select what stream you'd like to use. All selectible streams must first be configured in **Settings** > **Streams** (see [Settings](../user-manual/settings.md)). **Auto detect** should be fine for most.
## Show schedule widget

View File

@ -1,4 +0,0 @@
{
"label": "Getting started",
"position": 2
}

View File

@ -1,117 +0,0 @@
---
title: Installation
sidebar_position: 1
---
## Minimum system requirements
- One of the following Linux distributions
- Ubuntu [current LTS](https://wiki.ubuntu.com/Releases)
- Debian [current stable](https://www.debian.org/releases/)
- 1 Ghz Processor
- 2 GB RAM recommended (1 GB required)
- A static IP address for your server
## Preparing the server
Configure the server to have a static IP address by modifying the Netplan configuration.
```bash
cd /etc/netplan && ls # find the netplan filename
sudo nano ##-network-manager-all.yaml
```
If the Netplan configuration is empty, fill in the file with the example below. Otherwise,
input the IP address reserved for the server in `xxx.xxx.xxx.xxx/yy` format, the gateway (the IP address
of your router), and your DNS server's address.
:::tip
Don't have a DNS server of your own? You can use a public DNS server like Google (`8.8.8.8`) or Cloudflare (`1.1.1.1`), or input your router's address in most cases.
:::
:::caution
Do not use tabs in YAML files. Use two spaces to indent instead.
:::
```yaml title="Netplan configuration on Ubuntu"
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses: [192.168.88.8/24]
gateway4: 192.168.88.1
nameservers:
addresses: [192.168.88.1]
```
After the netplan file has been saved, run `sudo netplan apply` to apply changes.
Next, configure Ubuntu's firewall by running:
```bash
sudo ufw enable
sudo ufw allow 22,80,8000/tcp
```
:::info
Unblock ports 8001 and 8002 if you plan to use LibreTime's Icecast server to broadcast livestreams without an external Icecast server acting as a repeater.
```bash
sudo ufw allow 8001,8002/tcp
```
:::
## Installing LibreTime
<iframe width="560" height="315" src="https://www.youtube.com/embed/Djo_55LgjXE" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Installing LibreTime consists of running the following commands in the terminal:
```bash
git clone https://github.com/LibreTime/libretime.git
cd libretime
sudo bash install -fiap
```
After the install is completed, head to the IP address of the server LibreTime was just installed on
to complete the welcome wizard. While not strictly necessary, it is recommended that you change the passwords prompted in the welcome wizard if you intend on accessing the server from the Internet. The welcome wizard will
walk you through the rest of the installation process.
## Services
Once all of the services needed to run LibreTime are installed and configured,
it is important that the server starts them during the boot process, to cut down on downtime, especially in live environments.
Ubuntu 18.04 uses the `systemctl` command to manage services, so run the following commands to enable all
LibreTime-needed services to run at boot:
```bash
sudo systemctl enable libretime-liquidsoap
sudo systemctl enable libretime-playout
sudo systemctl enable libretime-celery
sudo systemctl enable libretime-analyzer
sudo systemctl enable apache2
sudo systemctl enable rabbitmq-server
```
:::tip
If an error is returned, try adding `.service` to the end of each command.
:::
## User permissions
If you plan to have LibreTime output analog audio directly to a mixing console or transmitter,
the `www-data` user needs to be added to the `audio` user group using the command below:
```
sudo adduser www-data audio
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

View File

@ -1,17 +0,0 @@
---
title: SSL Configuration
sidebar_position: 4
---
To increase the security of your server, you can enable encrypted access to the LibreTime administration interface, and direct your users towards this more secure login page. The main advantage of using this encryption is that your remote users' login names and passwords are not sent in plain text across the public Internet or untrusted local networks, such as shared Wi-Fi access points.
## Deploying a certificate with Certbot
One of the fastest, easiest, and cheapest ways to get an SSL certificate is through [Certbot](https://certbot.eff.org/), as created by the
Electronic Frontier Foundation. To use Certbot, your LibreTime installation must be open to the internet on port 80.
Follow [Certbot's documentation](https://certbot.eff.org/instructions) for your OS and webserver to install an SSL certificate. You'll need to renew the certificate every 90 days to keep your installation secure.
## Mixed encrypted and unencrypted content
Whether your certificate is self-signed or not, you will see browser security warnings whenever a https:// page is delivering unencrypted content, such as the stream from an Icecast server. In Firefox, an exclamation mark icon is displayed in the address bar of the **Listen** pop-up.

View File

@ -1,4 +0,0 @@
{
"label": "Guides",
"position": 3
}

View File

@ -1,57 +0,0 @@
---
sidebar_position: 1
---
# Introduction
LibreTime is an open-source radio automation system. It can be used for music and show playout in a radio studio or start an internet radio station on its own. LibreTime runs on Ubuntu and Debian Linux; [we're also working on making Docker images](https://github.com/LibreTime/libretime/issues/949).
## Getting started
Get started by installing LibreTime on your server. Open up your terminal and enter
```bash
git clone https://github.com/LibreTime/libretime.git
cd libretime
sudo ./install -fiap
```
After the installer is done, head to your server's IP address in a web browser and complete the setup wizard.
### Upload some music
Login using the default username and password and click on the blue **Upload** button in the left pane. Drag and drop files onto the upload area or click to browse for files on your computer.
![](./guides/scheduling-shows-select_files.png)
Once the files have uploaded and finished being analyzed, you can schedule your first show.
### Schedule your first show
Navigate to the Calendar and click the **+ New Show** button on the toolbar.
![](./guides/scheduling-shows-screenshot560-show_when.png)
Fill out the **What** (name, description of your show) and **When** (start time, end time) blocks, then click the grey **+ Add This Show** button at the top.
Click on the new show in the Calendar to open its context menu and select **Schedule Tracks**.
![](./guides/scheduling-shows-screenshot561-add_show_content.png)
Your uploaded tracks, playlists, smartblocks, and webstreams appear in the left pane; drag them to the right pane in the order you want them to play back for your show. The bar at the bottom of the right playlist tells you how much time you have left in your show.
![](./guides/scheduling-shows-screenshot562-drag_show_content.png)
When you're done, click **Ok** at the bottom of the window.
### That's it!
You just scheduled your first show! It will automatically begin playing back at the time your show is set to start. You can listen to what is playing live by clicking the **Listen** button under the On Air indicator in the top right corner.
## Next steps
- Make sure you [set the time on your server](/docs/getting-started/set-server-time)
- Learn how to [work with podcasts](/docs/guides/podcasts)
- [Create user accounts](/docs/guides/users) for your DJs, Program Managers, and Administrators
- Learn how to [broadcast live](/docs/guides/live-broadcast) from your studio

View File

@ -1,14 +1,12 @@
---
title: LibreTime 3.0 Alpha 10 Released
title: LibreTime 3.0.0 alpha 10
---
# Release Notes for LibreTime 3.0 Alpha 10
The full tarball for the **3.0.0-alpha.10** release of LibreTime is available [here](https://github.com/LibreTime/libretime/releases/download/3.0.0-alpha.10/libretime-3.0.0-alpha.10.tar.gz).
Since this is an alpha release there will be bugs in the code.
Please report new issues and/or feature requests in the [issue tracker](https://github.com/LibreTime/libretime/issues). Join our [discourse](https://discourse.libretime.org/) or chat to us on our [Mattermost](https://chat.libretime.org/e) instance if you need help and for general discussion.
Please report new issues and/or feature requests in the [issue tracker](https://github.com/LibreTime/libretime/issues). Join our [discourse](https://discourse.libretime.org/) or chat to us on our [Mattermost](https://chat.libretime.org/) instance if you need help and for general discussion.
## Features
@ -57,7 +55,7 @@ The LibreTime project wants to thank the following contributors for authoring PR
## Installation
The main installation docs may be found [here](/docs/getting-started/install/). They describe a "developer" install using the bundled `install` script.
The main installation docs may be found [here](../admin-manual/setup/install.md). They describe a "developer" install using the bundled `install` script.
We are preparing packages for supported distros and you can take those for a spin if you would like to. Usually the packages get built pretty soon after a release is published. If the current version is not available from the below sources you should wait for a while until they get uploaded.
@ -71,14 +69,14 @@ If you want to skip the installer GUI completely you can configure LibreTime usi
## Updating
See [the docs](/docs/upgrading) for complete information on updating. Please ensure that you have proper backups and a rollback scenario in place before updating.
See [the docs](../admin-manual/backup.md) for complete information on updating. Please ensure that you have proper backups and a rollback scenario in place before updating.
If the update does not go smoothly, it may cause significant downtime, so you should always have a fallback system available during the update to ensure broadcast continuity.
If you installed from GitHub you can `git pull` in your local working copy and re-run the `./install` script with the same `--web-root` and `--web-user` arguments you used during the initial install. Tarball users can leave out the git pull part and just call the new version of the install script.
Once the update has taken place, you will need to run the following commands to clean up old scripts and configuration:
```shell
```bash
# Remove the old packages
sudo pip3 uninstall \
airtime-playout \
@ -144,14 +142,14 @@ Some minimal OS installs do not have a default locale configured. This only seem
You can set up the locale using a combination of the following commands. You might also want to consult the documentation of your VPS provider as it may contain an official way to set up locales when provisioning a VPS.
```shell
```bash
# Set locale using systemds localectl
localectl set-locale LANG="en_US.utf8"
```
These instructions do not seem to work on all Debian based distros so you might need to use update-locale as follows.
```shell
```bash
#Purge all locales but en_US.UTF-8
sudo locale-gen --purge en_US.UTF-8
#Populate LANGUAGE=

15
docs/releases/README.md Normal file
View File

@ -0,0 +1,15 @@
---
title: Releases
---
:::info
LibreTime is following [semantic versioning](https://semver.org/).
:::
:::note
:sparkles: New LibreTime versions are released when it is ready :tm:.
:::

View File

@ -0,0 +1,2 @@
label: Releases
position: 50

View File

@ -0,0 +1,3 @@
---
title: Unreleased
---

View File

@ -1,4 +0,0 @@
{
"label": "Server configuration",
"position": 5
}

View File

@ -1,68 +0,0 @@
---
title: Backing up LibreTime
---
:::info
At the moment, there is no script to cleanly restore a LibreTime backup. To restore a LibreTime backup, install a fresh copy, go through the standard setup process, and reupload the backed-up media files.
:::
A backup script is supplied for your convenience in the `utils/` folder of the LibreTime repo.
Run it using:
```
sudo bash libretime-backup.sh # backs up to user's home folder
# or
sudo bash libretime-backup.sh /backupdir/
```
The backup process can be automated with Cron. Simply add the following to the root user's
crontab with `sudo crontab -e`:
```
0 0 1 * * /locationoflibretimerepo/libretime/backup.sh
```
> For more information on how Cron works, check out [this Redhat guide](https://www.redhat.com/sysadmin/automate-linux-tasks-cron).
If you wish to deploy your own backup solution, the following files and folders need to
be backed up.
```
/srv
/airtime
/stor
/imported - Successfully imported media
/organize - A temporary holding place for uploaded media as the importer works
/etc
/airtime
airtime.conf - The main LibreTime configuration
icecast_pass - Holds the password for the Icecast server
liquidsoap.cfg - The main configuration file for Liquidsoap
```
In addition, you should keep a copy of the database current to the backup. The below code
can be used to export the LibreTime database to a file.
```
sudo -u postgres pg_dumpall filename
# or to a zipped archive
sudo -u postgres pg_dumpall | gzip -c > archivename.gz
```
It is recommended to use an incremental backup technique to synchronize
the your LibreTime track library with a backup server regularly. (If
the backup server also contains an LibreTime installation, it should be possible
to switch playout to this second machine relatively quickly, in case of a
hardware failure or other emergency on the production server.)
Two notible backup tools are [rsync](https://rsync.samba.org/) (without version control) and
[rdiff-backup](https://rdiff-backup.net/) (with version control). _rsync_ comes
preinstalled with Ubuntu Server.
:::note
Standard rsync backups, which are used by the backup script, cannot restore files deleted in the backup itself
:::

View File

@ -1,49 +0,0 @@
---
title: Upgrading LibreTime
---
:::caution
While upgrading your installation may not cause any station downtime or data loss, always plan for the worst. Only upgrade your installation when LibreTime isn't playing out shows, notify your DJs and essential personnel, and back up your database, configuration files, and media library before you make any changes.
:::
1. [Back up the server](/docs/server-config/backing-up-the-server) and make a copy of all the configuration files under `/etc/airtime/`.
2. Run `./install -fiap` as described in the [installation guide](/docs/getting-started/install).
This will detect an existing LibreTime deployment and backup any
configuration files that if finds. The install script also tries to restart
the needed services during an upgrade. In any case you should monitor if this
happened and also take a quick look at the logs files to be sure everything
is still fine. Now might be the time to reboot the system or virtual machine
LibreTime is running on since regular reboots are part of a healthy system
anyway.
3. Log into the new version of the LibreTime administration interface. If the
playout engine starts up and detects that a show should be playing at the
current time, it will skip to the correct point in the current time and start
playing. If you encounter issues trying to connect to the new administration
interface, you may need to clear your web browser's cache.
### Migrating from Airtime
:::note
Airtime's _linked files_ and _watched folders_ features currently do not work in LibreTime.
:::
LibreTime has dropped support for Ubuntu 16.04, which is the last supported
version of Ubuntu that Airtime supports. The following instructions describe how
to migrate from Airtime to LibreTime. If there are issues encountered while
upgrading, please [file a bug](https://github.com/libretime/libretime/issues/new?labels=bug&template=bug_report.md)
1. Take a [backup of the server](/docs/server-config/backing-up-the-server)
2. Create a new system for LibreTime and run the install script, as described in the [install guide](/docs/getting-started/install).
3. Before running the web-configuration, restore the Airtime database to the new
PostgreSQL server, media database and configuration file
4. Update the configuration file to match the new configuration schema and update any
changed values. See the [host configuration](/docs/server-config/host-configuration) documentation
for more details.
5. Edit the Icecast password in `/etc/icecast2/icecast.xml` to reflect the
password used in Airtime
6. Restart the LibreTime services
7. Open LibreTime's dashboard and verify all services are running

View File

@ -0,0 +1,21 @@
---
title: User manual
---
Welcome to the **LibreTime user manual**, you should find guides and tutorials for managers, and content creators to use LibreTime.
## Introduction
:construction:
## As manager
:construction:
## As content creator
:construction:
## As guest
:construction:

View File

@ -0,0 +1,2 @@
label: User manual
position: 30

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,5 +1,5 @@
---
title: Show Calendar
title: Show calendar
---
The Calendar page of the LibreTime administration interface has three views: **day**, **week** and **month**, which can be switched using the grey buttons in the top right corner. By default, the **month** view is shown, with today's date highlighted by a pale grey background.

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

View File

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -94,7 +94,7 @@ playing immediately. This manual triggering of playout can be used as a live
assist technique, in which the LibreTime server's soundcard output is mixed with
other sources such as microphones or telephone hybrids on its way to a
transmitter, or a separate stream encoder. For instance, a live show's host may
not wish to cut off a studio discussion in order to play music at a fixed time.
not wish to cut off a studio discussion to play music at a fixed time.
![](./dashboard-drag-and-drop.png)

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View File

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -54,7 +54,7 @@ Click the **plus button** on the left to add OR criteria, such as **Creator** co
:::tip
If you see the message **0 files meet the criteria**, it might mean that the files in the Library have not been tagged with the correct metadata. See the chapter [Preparing media](/docs/guides/preparing-media) for tips on tagging content.
If you see the message **0 files meet the criteria**, it might mean that the files in the Library have not been tagged with the correct metadata. See the chapter [Preparing media](./preparing-media.md) for tips on tagging content.
:::

View File

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -1,5 +1,5 @@
---
title: Playout History
title: Playout history
---
On the History menu, the **Playout History** page enables you to view a list of files played within a specific date and time range. This page is designed to help your station prepare reports for music royalty collection societies and regulatory agencies.

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View File

@ -12,7 +12,7 @@ Podcast feeds coming from Anchor.fm have been known to have a similar issue.
:::
The podcast interfaces provides you with the ability to generate [Smartblocks](/docs/guides/playlists) that can be used in conjunction with autoloading playlists to schedule the newest episode of a podcast without human intervention.
The podcast interfaces provides you with the ability to generate [Smartblocks](./playlists.md) that can be used in conjunction with autoloading playlists to schedule the newest episode of a podcast without human intervention.
<html>
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/g-4UcD8qvR8" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

View File

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

View File

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View File

@ -1,5 +1,5 @@
---
title: Preparing Media for Upload
title: Preparing media for upload
---
Before uploading media to an LibreTime server, there are a number of factors which should be considered. Getting your ingest workflow right will save you a lot of time later.

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View File

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -1,5 +1,5 @@
---
title: Scheduling Shows
title: Scheduling shows
---
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/TJtWUzAlP08" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -57,7 +57,7 @@ refactors. You can switch back at any time.
You can enable live, read-only access to the LibreTime schedule calendar for
your station's public website with the **Public LibreTime API** option, if you
wish. (There is more about this feature in the
[_Exporting the schedule_](/docs/guides/playout-history) chapter, in the
[_Exporting the schedule_](./playout-history.md) chapter, in the
_Advanced Configuration_ section of this book).
The **Allowed CORS URLs** is intended to deal with situations where you want a

View File

Before

Width:  |  Height:  |  Size: 263 KiB

After

Width:  |  Height:  |  Size: 263 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Some files were not shown because too many files have changed in this diff Show More