Good afternoon, evening or night, it all depends on the time of day in which you happened to read my article.
In connection with the opening of the sales area, the task was set to organize background music in the sales area, namely:
- Broadcast from the main office of the prepared music;
- Management only from the central office, without access by the staff of the sales area;
- Periodic reproduction of advertising (requires a daily change of commercials;
- Work only during the opening hours of the trading hall;
- Without the purchase of additional equipment and software.
')
What we have:
- Container LXC Ubuntu Server 16.04 (Memory 1Gb, HDD 32 Gb);
- VPN network with a trading floor;
- Old computer (Celeron 800, Memory 256 Mb, WinXP):
- An audio system with an amplifier (leased) was prepared.
For the basis of the article were taken:
-
Online radio do it yourself ;
-
Control of the radio through the browser ;
-
Internet radio with a host of leading from different cities and calls live ;
-
Internet radio station on Liquidsoap + IceCast .
It was originally planned to do everything on the basis of
AirTime , but since the Open source project has not been abandoned for 3 years and the maximum that could be put on Ubuntu server 14.04, I had to look for another product, at that moment the search engine issued fork AirTime, namely
LibreTime .
The installation process is trivial and requires a minimum of actions, namely:
Download the source and set:
git clone https://github.com/libretime/libretime.git cd libretime sudo ./install
Immediately about the nuances:
- While there are no finished packages, but the development team is planning to release them;
- When installing, you can use the keys, then the whole process will go without participation, the keys can be recognized by the command
sudo ./install --help
;
- In the active mode, be sure to manually specify the keys
y
or
n
, the register is required;
- After the initial configuration, which is done via the web interface, it is necessary to reload linux, otherwise you cannot add files to the library, or rather, they will be uploaded to the server but will not be displayed;
- I use 3 streams with different bitrates, for this in icecast2 the sources limit streams were increased, in the file icecast.xml.
The interface is pretty clear, besides Russified. The main page (data from the test bench, a web stream is used for the location of the local library, the admin login section is also removed):

Login page:

Desktop:

My setup example:

In the sales area, a computer is connected to the amplifier and a broadcast from the central office is launched on it via VLC. In the future, replace this case with a raspberry pi, and configure it so that if the connection with the central raspberry is lost, it loses the workpiece, and after the connection with the server is restored, it continues to broadcast the finished program.
As a result, we have:
- Trading room with music;
- The staff of the sales area does not have access to music;
- In the central office through the web interface of LibreTime, broadcast programs are configured;
- The responsible person can change schedules.
In perspective:
- Replacing the old computer with raspberry pi;
- User authentication based on Active Directory (this feature is provided in LibreTime).
PS The fact that the decision is the most correct and so it is necessary for everyone to do, I do not pretend. Just sharing one of the solutions. Since the system is for internal use only, they did not make a ready-made solution.
PS 2 We have a server located in the DMZ zone, access to the web interface via nginx proxy, while accessing only from certain subnets.
PS 3 To someone of you, it may seem that my decision is not right, then you will be right in part, this decision is only for our company. I will gladly read your decisions, maybe I will get something for myself. So I wait for your publication with the "right decisions".