Git Product home page Git Product logo

ned-kelly / docker-multicontainer-libretime Goto Github PK

View Code? Open in Web Editor NEW
56.0 56.0 22.0 3.78 MB

A multi-container deployment of the Libretime Radio Broadcast Server, PostgreSQL, Icecast2 & RabbitMQ, all based on Ubuntu Xenial & Alpine Linux!

Dockerfile 39.31% Shell 58.91% CSS 1.79%
airtime airtime-docker docker icecast icecast-broadcast libretime libretime-alpine libretime-docker radio-broadcast shoutcast-broadcast

docker-multicontainer-libretime's People

Contributors

learning-more avatar ned-kelly avatar robbt avatar ryanrain avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-multicontainer-libretime's Issues

3 libretime instances

I have a question, how can I run 3 or more libretime instances on a dedicated without them getting in the way? I have several IP addresses that could be used (if necessary).

icecast env variables are not set in libretime-core container

out of the box, icecast variables specified in your .env file are not added to the libretime database, nor populated to liquidsoap.cfg. currently an additional step is necessary in order to get those lined up: go to Settings > Streams, and then choose "Custom / 3rd Party Streaming" and enter your info, including passwords within the "Additional Options" collapsed section.

Using apache2 as proxy with certbot ssl creates broken login

When I login from the actual ip it works or when it is not using https.

I tried a using certbot with apache and well... this is essentially what I got when I try in login an error occurs. (I can still use IP address to login)

Here is my apache .conf file

<IfModule mod_ssl.c>
<VirtualHost *:443>
   ProxyPreserveHost On
   ServerName pond.mydomain.org
     ProxyPass / http://0.0.0.0:8882/
     ProxyPassReverse / http://0.0.0.0:8882/

Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/pond.mydomain.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/pond.mydomain.org/privkey.pem
</VirtualHost>
</IfModule>

Also I have EXTERNAL_HOSTNAME=pond.mydomain.org for libretime.

Is there something that i need to add to the apache2 .conf file?

Sub-dir for .env variables?

The Readme seems to infer that .env variables should be stored in a sub-directory:

CREATE A .env FILE AND ADD CONFIGURATION (see below for configuration options)

You can use the default configuration and skip this step if you are just testing.

vi docker-multicontainer-libretime/.env

However, the Readme doesn't specify to create this directory. Cloning the repository with the instructions in the Readme drops all the files in the /opt/libretime/ directory.

Should the .env file have the path:
/opt/libretime/docker-multicontainer-libretime/.env
or
/opt/libretime/.env?

Remote Database support

This docker setup uses a tcp tunnel to access the database remotely as documented here:

# There seems to be a bug somewhere in the code and it's not respecting the DB being on another host (even though it's configured in the config files!)
# We'll use a lightweight golang TCP proxy to proxy any PGSQL request to the postgres docker container on TCP:5432.

Using a remote database is possible with LibreTime nowadays. I run my production setup in a bunch of VMs that connect to a remote DB cluster. In fact this was one of the early fixes I did to the LibreTime code-base.

logs and service names need documentation

the libretime troubleshooting docs don't apply to this docker install. two parts:

  1. LOGS:
    i see some in /var/log/supervisor and some in /var/log/airtime. and then there are docker logs. is that it?

  2. SERVICES:
    we should document their names ( libretime-airtime_analyzer? etc.) and how check their status/restart them, ie. what's the best replacement for invoke-rc.d?

@ned-kelly if you can give me some guidance here i'd take a crack at drafting this.

pop-up stream player doesn't use FQDN

if you click the "listen" button, right below the "ON AIR" indicator in the top right of the web UI, it opens a window with an audio player. it appears to be hardcoded:

setjPlayer('http://127.0.0.1:8000/airtime_128', 'oga', 'icecast');

Fallback/AutoDJ Assitstance.

Hi there. Just pulled and configured the latest version of this Docker image, on Ubuntu 18.04. The service is running great, but if there's nothing scheduled, I get dead air.

I've looked at EZstream and have the required mapping in place, but it doesn't provide any fallback.

I also tried transplanting the script change I made to our existing Airtime server, which has been feeding our AutoDJ for five years (someone in a different forum advised that this change would be compatible with Libretime), but this also hasn't worked.

Can someone please advise me what I need to do to get a fallback/AutoDJ working, please?

Here are the changes I added to the 'ls_script.liq' file:

`default = amplify(id="silence_src", 0.00001, noise())

jingles = playlist(mode="random",reload_mode="watch","/external-media/jingles")
music = playlist(mode="random",reload_mode="watch","/external-media/imported/1")

j=jingles
m=music

v = random(weights = [1,5],[j,m])

#default = fallback(track_sensitive = false,[v])
default = fallback(track_sensitive=false,[strip_blank(max_blank=45.,threshold=-45.,default),v])

ref_off_air_meta = ref off_air_meta
if !ref_off_air_meta == "" then
ref_off_air_meta := "LibreTime - offline"
end

#default = rewrite_metadata([("title", !ref_off_air_meta)], default)
default = rewrite_metadata([(!ref_off_air_meta,"Progzilla" ),("#{m['artist']","artist" ),("#{m['title']","title" ),("#{m['album']","album" )], default)`

correct ownership of /external-media folder

Upon initial installation with a LOCAL_MUSIC_MAPPING path specified in the .env file, I've been unable to upload audio files until I've manually changed ownership or permissions of the /external-media folder (which by default is owned by 1000:celery) in order to give the www-data user permission to create the imported and organized folders into which to copy files.

Perhaps there is a better fix for this than my manual hack? This seems like precisely the kind of extra step that is frustrating to new users who have no experience troubleshooting.

I'm seeing this behaviour on fresh docker-ce installs in debian. no vm or sshfs complications, just a mounting a standard 755 folder owned by the default user in the host system.

Jack Docker Container Support

Update architecture to output to a dedicated Jack source (docker container) rather than direct output streams -- so disable output streams (by default) in favour of Jack "Hardware Output".

This will allow for a more solid production ready "broadcast" deployment where we we can add additional containers into the audio pipeline such as:

  • Limiter/Compressor(s) to help prevent clipping and ensure signal sent to FM Transmitter is as loud as possible without distortion.
  • "Dead Air" detection and/or scripted "failover command/tasks" - i.e. hit Libretime API and add X new tracks to playlist in event of deadair detection, restart libretime if unresponsive etc.

web log in with FQDN

Hi again,

This install method has worked flawlessly when I was testing it on my laptop, but I'm now unable to log in to the install I've made on a web-accessible server with an EXTERNAL_HOSTNAME specified in the .env file.

I noticed your note:

There seems to be a bug in the current build of Libretime where if you run Postgres on another host the web/ui fails to log in (without any logs/errors showing anywhere)... After much pain trying to get this running "properly", the quick and simple fix has been to use a TCP proxy, that just proxies the PostgreSQL port:5432 to the actual dedicated postgres container.

Is any additional action needed in order to set up this TCP proxy, or should it already be working?

thank you!!!

problem with streams (master source and show source)

hello everyone, could someone help me with the following problem, follow the steps indicated in the documentation except create the .env file since only I wanted to do tests but for some reason the stream is not working on the master source and the show source. Thanks in advance

use in production

Thank you for all this work!!!

After spending many MANY hours trying to get LibreTime working in various different server setups, I was honestly blown away by how quickly I was able to get a working instance spun up using this docker build. Well f***ing done. :)

Using docker seems very promising, and clearly superior to both installing LibreTime directly in the host operating system, and also to the development setup we've been experimenting with (see my forum post for description and diagram ) for the goal of being able to both reliably serve the needs of a real radio station with alpha-stage open source software, and also contribute back to LibreTime. If you read that forum post I linked you'll see how similar our goals are, with the difference that I had no knowlege of what docker even is.

And so we're almost ready to bet on this approach for our station, hopefully contributing documentation, bug work, etc. but need to ask two big questions.

1. I'd love to confirm that using docker for production won't bring unforseen problems down the line. Thoughts?

I obviously don't have the experience to be able to make a call here, and am hearing conflicting accounts. On one hand you and many others ARE using docker for production, and your build readme provides specific, apparently quite simple steps to do so.

  • a hacker friend who has used Docker for years gives me ominous but vague warnings, and notes that the tool was born to set up development environments.
  • the internet is full of there be dragons type warnings, but they're typically from people who stand to profit from you being scared to deploy with docker yourself, and their articles seem to be primarily related to large-scale deployments on clusters. Our LibreTime production instance (and I'd venture most LibreTime instances) will only need to allow a small (< 20) group of people to log in to run our community radio station. Our specific case is perhaps a little rare in that, internet access here in this part of México is intermittant, so we'll be running our production instance on a cheap server right here locally, next to the FM transmitter. Hence dev, staging, and production will all be on single machines with identical kernels (debian 9) -- no swarming clustered corporate herds, no real need for "container orchestration," right? no dragons? Perhaps this project could also ship with a battle-tested production version of docker-compose.yml?

2. What would a dev-staging-production workflow using ubuntu-multicontainer-libretime look like?

Would this be a job for docker machine? My apologies in advance for my ignorance regarding docker, I'm coming from javascript land...

Again, many thanks. It seems clear that LibreTime is in sore need of a modern production deployment process in order to help folks get up and running quickly in order to not lose as much time as I have haha. I'm excited to get up and running providing documentation in both spanish and english.

ryan

external-media folder use from within a virtual machine

I'm seeing errors upon trying to upload tracks to an instance I created within a virtual machine that attempts to store files on the base system (aka. barebone).
screenshot from 2018-10-03 08-33-58

Contrasting my working local instance where docker is running directly within my laptop operating system, and this new instance on our radio server which runs within a virtual machine created with virt-manager, I first noticed a difference in ownership of the /external-media folder.

On my working local:

root@0c7604ccca0f:/# ls -la /external-media/
total 16
drwxrwxrwx 4 www-data www-data 4096 Sep 26 18:31 .
drwxr-xr-x 1 root     root     4096 Oct  1 18:37 ..
drwxrwxrwx 3 www-data www-data 4096 Sep 26 18:31 imported
drwxrwxrwx 2 www-data www-data 4096 Oct  2 22:04 organize

vs. on the server where the linked folder is mounted via sshfs within the VM:

root@8af2f98a491c:/var/log/airtime# ls -la /external-media/
total 12
drwxrwxrwx 1 1000 celery 4096 Oct  2 21:42 .
drwxr-xr-x 1 root root   4096 Oct  2 19:03 ..
drwxr-xr-x 1 1000 celery 4096 Oct  2 22:03 organize
-rw-r--r-- 1 1000 celery    0 Oct  1 18:45 test.txt

At first I wasn't able to change the folder owner:

root@8af2f98a491c:/var/log/airtime# chown www-data:www-data /external-media/
chown: changing ownership of '/external-media/': Permission denied

And so from within the VM I then unmounted the sshfs mountpoint, but strangely didn't see changes immediately reflected within the docker container. I removed and created libretime-core and then could see changes reflected, and was able to change the folder owner.

I'm currently thinking the cleanest way to use a volume on the "barebone" would be to use a volume driver, but I'm so new to docker that I may be completely wrong 😝 . I'll try this and report back.

thoughts? thanks!

Postgres error

Hello,

I tried to run docker-compose up -d but I have this error.

libretime-postgres    | ERROR:  relation "cc_pref" does not exist at character 72
libretime-postgres    | STATEMENT:  SELECT cc_pref.id, cc_pref.subjid, cc_pref.keystr, cc_pref.valstr FROM cc_pref WHERE cc_pref.keystr=$1 LIMIT 1

LetsEncrypt

I am having trouble understand how to add https, with the link that is given. I am a complete novice with docker. Are there any simpler alternatives? Or possibly a guide with step by step instructions?

libretime-liquidsoap (exit status 1; not expected)

2019-03-16 14:05:32,271 INFO spawned: 'libretime-liquidsoap' with pid 158
2019-03-16 14:05:34,130 INFO success: libretime-liquidsoap entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2019-03-16 14:06:03,502 INFO exited: libretime-liquidsoap (exit status 1; not expected)
2019-03-16 14:06:04,507 INFO spawned: 'libretime-liquidsoap' with pid 159
2019-03-16 14:06:06,253 INFO success: libretime-liquidsoap entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2019-03-16 14:06:35,789 INFO exited: libretime-liquidsoap (exit status 1; not expected)
2019-03-16 14:06:36,455 INFO spawned: 'libretime-liquidsoap' with pid 175
2019-03-16 14:06:38,219 INFO success: libretime-liquidsoap entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2019-03-16 14:07:07,589 INFO exited: libretime-liquidsoap (exit status 1; not expected)
2019-03-16 14:07:08,594 INFO spawned: 'libretime-liquidsoap' with pid 176
2019-03-16 14:07:10,408 INFO success: libretime-liquidsoap entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2019-03-16 14:07:39,776 INFO exited: libretime-liquidsoap (exit status 1; not expected)
2019-03-16 14:07:40,780 INFO spawned: 'libretime-liquidsoap' with pid 178
2019-03-16 14:07:41,869 INFO success: libretime-liquidsoap entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2019-03-16 14:08:12,018 INFO exited: libretime-liquidsoap (exit status 1; not expected)
2019-03-16 14:08:12,050 INFO spawned: 'libretime-liquidsoap' with pid 179
2019-03-16 14:08:13,956 INFO success: libretime-liquidsoap entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2019-03-16 14:08:43,335 INFO exited: libretime-liquidsoap (exit status 1; not expected)
2019-03-16 14:08:44,339 INFO spawned: 'libretime-liquidsoap' with pid 196
2019-03-16 14:08:46,087 INFO success: libretime-liquidsoap entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2019-03-16 14:09:15,468 INFO exited: libretime-liquidsoap (exit status 1; not expected)
2019-03-16 14:09:16,472 INFO spawned: 'libretime-liquidsoap' with pid 239
2019-03-16 14:09:18,470 INFO success: libretime-liquidsoap entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

i cannot access lanip:8882 (oops, something wrong)
see logs from libretime-core
i run always into liquidsoap issues :)

Build From Latest Libretime Fail with: `chown: invalid user: 'liquidsoap:liquidsoap'`

I was bumming around after a handful of other errors, and thus I tried commenting out the image and uncommenting the build: in the libretime-core section. Ended up running into some errors with that too though...

I ended up running into an error that appears as: chown: invalid user: 'liquidsoap:liquidsoap'

Here's the full context:

Step 18/26 : RUN apt-get remove liquidsoap -y &&     apt-get install ocaml ocaml-native-compilers camlp4-extra opam autotools-dev automake -y &&     mkdir /usr/local/opam &&     chown liquidsoap:liquidsoap /usr/local/opam /usr/share/liquidsoap/ &&     usermod -s /bin/bash liquidsoap &&     usermod -aG sudo liquidsoap &&     echo "liquidsoap ALL = NOPASSWD : ALL" >> /etc/sudoers &&     su - liquidsoap -c "OPAMYES=yes && opam init --root=/usr/local/opam --yes && opam init --yes && opam switch 4.06.0" &&     su - liquidsoap -c "eval `opam config env --root=/usr/local/opam`         export OPAMYES=yes && opam depext alsa cry fdkaac lame liquidsoap mad opus taglib vorbis --yes ;         export OPAMYES=yes && opam install alsa cry fdkaac lame liquidsoap mad opus taglib vorbis --yes" &&     echo "eval \`opam config env --root=/usr/local/opam\`" > /etc/profile.d/liquidsoap-opam.sh &&     ln -s /usr/local/opam/system/bin/liquidsoap /usr/bin/liquidsoap
 ---> Running in ae05ef9796e6
Reading package lists...
Building dependency tree...
Reading state information...
Package 'liquidsoap' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists...
Building dependency tree...
Reading state information...
automake is already the newest version (1:1.15-4ubuntu1).
autotools-dev is already the newest version (20150820.1).
autotools-dev set to manually installed.
The following additional packages will be installed:
  aspcud clasp darcs gringo javascript-common ledit libcamlp4-ocaml-dev
  libfindlib-ocaml libfindlib-ocaml-dev libjs-excanvas liblua5.2-0
  libncurses5-dev libpthread-stubs0-dev libpython2.7 libtinfo-dev libx11-dev
  libx11-doc libxau-dev libxcb1-dev libxdmcp-dev mercurial mercurial-common
  ocaml-base ocaml-base-nox ocaml-compiler-libs ocaml-findlib ocaml-interp
  ocaml-nox opam-docs unzip x11proto-core-dev x11proto-input-dev
  x11proto-kb-dev xorg-sgml-doctools xtrans-dev
Suggested packages:
  ncurses-doc libxcb-doc qct kdiff3 | kdiff3-qt | kompare | meld | tkcvs
  | mgdiff wish python-mysqldb python-pygments python-openssl ocaml-doc
  tuareg-mode | ocaml-mode zip
The following NEW packages will be installed:
  aspcud camlp4 clasp darcs gringo javascript-common ledit libcamlp4-ocaml-dev
  libfindlib-ocaml libfindlib-ocaml-dev libjs-excanvas liblua5.2-0
  libncurses5-dev libpthread-stubs0-dev libpython2.7 libtinfo-dev libx11-dev
  libx11-doc libxau-dev libxcb1-dev libxdmcp-dev mercurial mercurial-common
  ocaml ocaml-base ocaml-base-nox ocaml-compiler-libs ocaml-findlib
  ocaml-interp ocaml-native-compilers ocaml-nox opam opam-docs unzip
  x11proto-core-dev x11proto-input-dev x11proto-kb-dev xorg-sgml-doctools
  xtrans-dev
0 upgraded, 39 newly installed, 0 to remove and 0 not upgraded.
Need to get 48.9 MB of archives.
After this operation, 309 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial/universe amd64 ocaml-base-nox amd64 4.02.3-5ubuntu2 [456 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial/main amd64 libtinfo-dev amd64 6.0+20160213-1ubuntu1 [77.4 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial/main amd64 libncurses5-dev amd64 6.0+20160213-1ubuntu1 [175 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial/universe amd64 ocaml-compiler-libs amd64 4.02.3-5ubuntu2 [9,510 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial/universe amd64 ocaml-interp amd64 4.02.3-5ubuntu2 [271 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial/universe amd64 ocaml-nox amd64 4.02.3-5ubuntu2 [6,271 kB]
Get:7 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libcamlp4-ocaml-dev amd64 4.02.1+3-2 [12.2 MB]
Get:8 http://archive.ubuntu.com/ubuntu xenial/universe amd64 camlp4 amd64 4.02.1+3-2 [3,388 kB]
Get:9 http://archive.ubuntu.com/ubuntu xenial/universe amd64 darcs amd64 2.10.2-1 [3,096 kB]
Get:10 http://archive.ubuntu.com/ubuntu xenial/main amd64 liblua5.2-0 amd64 5.2.4-1ubuntu1 [106 kB]
Get:11 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7 amd64 2.7.12-1ubuntu0~16.04.13 [1,070 kB]
Get:12 http://archive.ubuntu.com/ubuntu xenial/universe amd64 gringo amd64 4.5.4-1 [1,833 kB]
Get:13 http://archive.ubuntu.com/ubuntu xenial/main amd64 javascript-common all 11 [6,066 B]
Get:14 http://archive.ubuntu.com/ubuntu xenial/universe amd64 ledit all 2.03-4build1 [42.5 kB]
Get:15 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libfindlib-ocaml amd64 1.5.5-2build1 [137 kB]
Get:16 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libfindlib-ocaml-dev amd64 1.5.5-2build1 [113 kB]
Get:17 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libjs-excanvas all 0.r3-4 [45.2 kB]
Get:18 http://archive.ubuntu.com/ubuntu xenial/main amd64 libpthread-stubs0-dev amd64 0.3-4 [4,068 B]
Get:19 http://archive.ubuntu.com/ubuntu xenial/main amd64 xorg-sgml-doctools all 1:1.11-1 [12.9 kB]
Get:20 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 x11proto-core-dev all 7.0.31-1~ubuntu16.04.2 [254 kB]
Get:21 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxau-dev amd64 1:1.0.8-1 [11.1 kB]
Get:22 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxdmcp-dev amd64 1:1.1.2-1.1 [25.1 kB]
Get:23 http://archive.ubuntu.com/ubuntu xenial/main amd64 x11proto-input-dev all 2.3.1-1 [118 kB]
Get:24 http://archive.ubuntu.com/ubuntu xenial/main amd64 x11proto-kb-dev all 1.0.7-0ubuntu1 [224 kB]
Get:25 http://archive.ubuntu.com/ubuntu xenial/main amd64 xtrans-dev all 1.3.5-1 [70.5 kB]
Get:26 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxcb1-dev amd64 1.11.1-1ubuntu1 [74.2 kB]
Get:27 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libx11-dev amd64 2:1.6.3-1ubuntu2.2 [639 kB]
Get:28 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libx11-doc all 2:1.6.3-1ubuntu2.2 [1,471 kB]
Get:29 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 mercurial-common all 3.7.3-1ubuntu1.2 [1,833 kB]
Get:30 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 mercurial amd64 3.7.3-1ubuntu1.2 [47.8 kB]
Get:31 http://archive.ubuntu.com/ubuntu xenial/universe amd64 ocaml-base amd64 4.02.3-5ubuntu2 [44.2 kB]
Get:32 http://archive.ubuntu.com/ubuntu xenial/universe amd64 ocaml amd64 4.02.3-5ubuntu2 [31.8 kB]
Get:33 http://archive.ubuntu.com/ubuntu xenial/universe amd64 ocaml-findlib amd64 1.5.5-2build1 [262 kB]
Get:34 http://archive.ubuntu.com/ubuntu xenial/universe amd64 ocaml-native-compilers amd64 4.02.3-5ubuntu2 [2,487 kB]
Get:35 http://archive.ubuntu.com/ubuntu xenial/universe amd64 opam-docs all 1.2.2-4 [310 kB]
Get:36 http://archive.ubuntu.com/ubuntu xenial/main amd64 unzip amd64 6.0-20ubuntu1 [158 kB]
Get:37 http://archive.ubuntu.com/ubuntu xenial/universe amd64 opam amd64 1.2.2-4 [1,447 kB]
Get:38 http://archive.ubuntu.com/ubuntu xenial/universe amd64 clasp amd64 3.1.4-1 [451 kB]
Get:39 http://archive.ubuntu.com/ubuntu xenial/universe amd64 aspcud amd64 1:1.9.1-2 [146 kB]
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype
dpkg-preconfigure: unable to re-open stdin:
Fetched 48.9 MB in 14s (3,391 kB/s)
Selecting previously unselected package ocaml-base-nox.
(Reading database ... 23606 files and directories currently installed.)
Preparing to unpack .../ocaml-base-nox_4.02.3-5ubuntu2_amd64.deb ...
Unpacking ocaml-base-nox (4.02.3-5ubuntu2) ...
Selecting previously unselected package libtinfo-dev:amd64.
Preparing to unpack .../libtinfo-dev_6.0+20160213-1ubuntu1_amd64.deb ...
Unpacking libtinfo-dev:amd64 (6.0+20160213-1ubuntu1) ...
Selecting previously unselected package libncurses5-dev:amd64.
Preparing to unpack .../libncurses5-dev_6.0+20160213-1ubuntu1_amd64.deb ...
Unpacking libncurses5-dev:amd64 (6.0+20160213-1ubuntu1) ...
Selecting previously unselected package ocaml-compiler-libs.
Preparing to unpack .../ocaml-compiler-libs_4.02.3-5ubuntu2_amd64.deb ...
Unpacking ocaml-compiler-libs (4.02.3-5ubuntu2) ...
Selecting previously unselected package ocaml-interp.
Preparing to unpack .../ocaml-interp_4.02.3-5ubuntu2_amd64.deb ...
Unpacking ocaml-interp (4.02.3-5ubuntu2) ...
Selecting previously unselected package ocaml-nox.
Preparing to unpack .../ocaml-nox_4.02.3-5ubuntu2_amd64.deb ...
Unpacking ocaml-nox (4.02.3-5ubuntu2) ...
Selecting previously unselected package libcamlp4-ocaml-dev.
Preparing to unpack .../libcamlp4-ocaml-dev_4.02.1+3-2_amd64.deb ...
Unpacking libcamlp4-ocaml-dev (4.02.1+3-2) ...
Selecting previously unselected package camlp4.
Preparing to unpack .../camlp4_4.02.1+3-2_amd64.deb ...
Unpacking camlp4 (4.02.1+3-2) ...
Selecting previously unselected package darcs.
Preparing to unpack .../darcs_2.10.2-1_amd64.deb ...
Unpacking darcs (2.10.2-1) ...
Selecting previously unselected package liblua5.2-0:amd64.
Preparing to unpack .../liblua5.2-0_5.2.4-1ubuntu1_amd64.deb ...
Unpacking liblua5.2-0:amd64 (5.2.4-1ubuntu1) ...
Selecting previously unselected package libpython2.7:amd64.
Preparing to unpack .../libpython2.7_2.7.12-1ubuntu0~16.04.13_amd64.deb ...
Unpacking libpython2.7:amd64 (2.7.12-1ubuntu0~16.04.13) ...
Selecting previously unselected package gringo.
Preparing to unpack .../gringo_4.5.4-1_amd64.deb ...
Unpacking gringo (4.5.4-1) ...
Selecting previously unselected package javascript-common.
Preparing to unpack .../javascript-common_11_all.deb ...
Unpacking javascript-common (11) ...
Selecting previously unselected package ledit.
Preparing to unpack .../ledit_2.03-4build1_all.deb ...
Unpacking ledit (2.03-4build1) ...
Selecting previously unselected package libfindlib-ocaml.
Preparing to unpack .../libfindlib-ocaml_1.5.5-2build1_amd64.deb ...
Unpacking libfindlib-ocaml (1.5.5-2build1) ...
Selecting previously unselected package libfindlib-ocaml-dev.
Preparing to unpack .../libfindlib-ocaml-dev_1.5.5-2build1_amd64.deb ...
Unpacking libfindlib-ocaml-dev (1.5.5-2build1) ...
Selecting previously unselected package libjs-excanvas.
Preparing to unpack .../libjs-excanvas_0.r3-4_all.deb ...
Unpacking libjs-excanvas (0.r3-4) ...
Selecting previously unselected package libpthread-stubs0-dev:amd64.
Preparing to unpack .../libpthread-stubs0-dev_0.3-4_amd64.deb ...
Unpacking libpthread-stubs0-dev:amd64 (0.3-4) ...
Selecting previously unselected package xorg-sgml-doctools.
Preparing to unpack .../xorg-sgml-doctools_1%3a1.11-1_all.deb ...
Unpacking xorg-sgml-doctools (1:1.11-1) ...
Selecting previously unselected package x11proto-core-dev.
Preparing to unpack .../x11proto-core-dev_7.0.31-1~ubuntu16.04.2_all.deb ...
Unpacking x11proto-core-dev (7.0.31-1~ubuntu16.04.2) ...
Selecting previously unselected package libxau-dev:amd64.
Preparing to unpack .../libxau-dev_1%3a1.0.8-1_amd64.deb ...
Unpacking libxau-dev:amd64 (1:1.0.8-1) ...
Selecting previously unselected package libxdmcp-dev:amd64.
Preparing to unpack .../libxdmcp-dev_1%3a1.1.2-1.1_amd64.deb ...
Unpacking libxdmcp-dev:amd64 (1:1.1.2-1.1) ...
Selecting previously unselected package x11proto-input-dev.
Preparing to unpack .../x11proto-input-dev_2.3.1-1_all.deb ...
Unpacking x11proto-input-dev (2.3.1-1) ...
Selecting previously unselected package x11proto-kb-dev.
Preparing to unpack .../x11proto-kb-dev_1.0.7-0ubuntu1_all.deb ...
Unpacking x11proto-kb-dev (1.0.7-0ubuntu1) ...
Selecting previously unselected package xtrans-dev.
Preparing to unpack .../xtrans-dev_1.3.5-1_all.deb ...
Unpacking xtrans-dev (1.3.5-1) ...
Selecting previously unselected package libxcb1-dev:amd64.
Preparing to unpack .../libxcb1-dev_1.11.1-1ubuntu1_amd64.deb ...
Unpacking libxcb1-dev:amd64 (1.11.1-1ubuntu1) ...
Selecting previously unselected package libx11-dev:amd64.
Preparing to unpack .../libx11-dev_2%3a1.6.3-1ubuntu2.2_amd64.deb ...
Unpacking libx11-dev:amd64 (2:1.6.3-1ubuntu2.2) ...
Selecting previously unselected package libx11-doc.
Preparing to unpack .../libx11-doc_2%3a1.6.3-1ubuntu2.2_all.deb ...
Unpacking libx11-doc (2:1.6.3-1ubuntu2.2) ...
Selecting previously unselected package mercurial-common.
Preparing to unpack .../mercurial-common_3.7.3-1ubuntu1.2_all.deb ...
Unpacking mercurial-common (3.7.3-1ubuntu1.2) ...
Selecting previously unselected package mercurial.
Preparing to unpack .../mercurial_3.7.3-1ubuntu1.2_amd64.deb ...
Unpacking mercurial (3.7.3-1ubuntu1.2) ...
Selecting previously unselected package ocaml-base.
Preparing to unpack .../ocaml-base_4.02.3-5ubuntu2_amd64.deb ...
Unpacking ocaml-base (4.02.3-5ubuntu2) ...
Selecting previously unselected package ocaml.
Preparing to unpack .../ocaml_4.02.3-5ubuntu2_amd64.deb ...
Unpacking ocaml (4.02.3-5ubuntu2) ...
Selecting previously unselected package ocaml-findlib.
Preparing to unpack .../ocaml-findlib_1.5.5-2build1_amd64.deb ...
Unpacking ocaml-findlib (1.5.5-2build1) ...
Selecting previously unselected package ocaml-native-compilers.
Preparing to unpack .../ocaml-native-compilers_4.02.3-5ubuntu2_amd64.deb ...
Unpacking ocaml-native-compilers (4.02.3-5ubuntu2) ...
Selecting previously unselected package opam-docs.
Preparing to unpack .../opam-docs_1.2.2-4_all.deb ...
Unpacking opam-docs (1.2.2-4) ...
Selecting previously unselected package unzip.
Preparing to unpack .../unzip_6.0-20ubuntu1_amd64.deb ...
Unpacking unzip (6.0-20ubuntu1) ...
Selecting previously unselected package opam.
Preparing to unpack .../opam_1.2.2-4_amd64.deb ...
Unpacking opam (1.2.2-4) ...
Selecting previously unselected package clasp.
Preparing to unpack .../clasp_3.1.4-1_amd64.deb ...
Unpacking clasp (3.1.4-1) ...
Selecting previously unselected package aspcud.
Preparing to unpack .../aspcud_1%3a1.9.1-2_amd64.deb ...
Unpacking aspcud (1:1.9.1-2) ...
Processing triggers for libc-bin (2.23-0ubuntu11.2) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Setting up ocaml-base-nox (4.02.3-5ubuntu2) ...
Setting up libtinfo-dev:amd64 (6.0+20160213-1ubuntu1) ...
Setting up libncurses5-dev:amd64 (6.0+20160213-1ubuntu1) ...
Setting up darcs (2.10.2-1) ...
Setting up liblua5.2-0:amd64 (5.2.4-1ubuntu1) ...
Setting up libpython2.7:amd64 (2.7.12-1ubuntu0~16.04.13) ...
Setting up gringo (4.5.4-1) ...
Setting up javascript-common (11) ...
apache2_invoke: Enable configuration javascript-common
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of reload.
Setting up ledit (2.03-4build1) ...
update-alternatives: using /usr/bin/ledit to provide /usr/bin/readline-editor (readline-editor) in auto mode
Setting up libfindlib-ocaml (1.5.5-2build1) ...
Setting up libjs-excanvas (0.r3-4) ...
Setting up libpthread-stubs0-dev:amd64 (0.3-4) ...
Setting up xorg-sgml-doctools (1:1.11-1) ...
Setting up x11proto-core-dev (7.0.31-1~ubuntu16.04.2) ...
Setting up libxau-dev:amd64 (1:1.0.8-1) ...
Setting up libxdmcp-dev:amd64 (1:1.1.2-1.1) ...
Setting up x11proto-input-dev (2.3.1-1) ...
Setting up x11proto-kb-dev (1.0.7-0ubuntu1) ...
Setting up xtrans-dev (1.3.5-1) ...
Setting up libxcb1-dev:amd64 (1.11.1-1ubuntu1) ...
Setting up libx11-dev:amd64 (2:1.6.3-1ubuntu2.2) ...
Setting up libx11-doc (2:1.6.3-1ubuntu2.2) ...
Setting up mercurial-common (3.7.3-1ubuntu1.2) ...
Setting up mercurial (3.7.3-1ubuntu1.2) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline

Creating config file /etc/mercurial/hgrc.d/hgext.rc with new version
Setting up ocaml-base (4.02.3-5ubuntu2) ...
Setting up ocaml-findlib (1.5.5-2build1) ...
Setting up opam-docs (1.2.2-4) ...
Setting up unzip (6.0-20ubuntu1) ...
Setting up opam (1.2.2-4) ...
Setting up clasp (3.1.4-1) ...
Setting up aspcud (1:1.9.1-2) ...
Setting up ocaml-compiler-libs (4.02.3-5ubuntu2) ...
Setting up ocaml-interp (4.02.3-5ubuntu2) ...
Setting up ocaml-nox (4.02.3-5ubuntu2) ...
Setting up libcamlp4-ocaml-dev (4.02.1+3-2) ...
Setting up camlp4 (4.02.1+3-2) ...
Setting up libfindlib-ocaml-dev (1.5.5-2build1) ...
Setting up ocaml (4.02.3-5ubuntu2) ...
Setting up ocaml-native-compilers (4.02.3-5ubuntu2) ...
Processing triggers for libc-bin (2.23-0ubuntu11.2) ...
chown: invalid user: ‘liquidsoap:liquidsoap’
ERROR: Service 'libretime-core' failed to build: The command '/bin/sh -c apt-get remove liquidsoap -y &&     apt-get install ocaml ocaml-native-compilers camlp4-extra opam autotools-dev automake -y &&     mkdir /usr/local/opam &&     chown liquidsoap:liquidsoap /usr/local/opam /usr/share/liquidsoap/ &&     usermod -s /bin/bash liquidsoap &&     usermod -aG sudo liquidsoap &&     echo "liquidsoap ALL = NOPASSWD : ALL" >> /etc/sudoers &&     su - liquidsoap -c "OPAMYES=yes && opam init --root=/usr/local/opam --yes && opam init --yes && opam switch 4.06.0" &&     su - liquidsoap -c "eval `opam config env --root=/usr/local/opam`         export OPAMYES=yes && opam depext alsa cry fdkaac lame liquidsoap mad opus taglib vorbis --yes ;         export OPAMYES=yes && opam install alsa cry fdkaac lame liquidsoap mad opus taglib vorbis --yes" &&     echo "eval \`opam config env --root=/usr/local/opam\`" > /etc/profile.d/liquidsoap-opam.sh &&     ln -s /usr/local/opam/system/bin/liquidsoap /usr/bin/liquidsoap' returned a non-zero code: 1
joestan@stanleyserver-hassio:/opt/libretime$

Let me know if there's any additional information I can collect to help give context, or if I can run any additional diagnostics!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.