A number of folk are running openLuup on Docker...
...and I'm about to try the same.
There are a couple of epic threads in the old place:
Dec 10, 2015 openLuup on Synology via Docker openLuup on Synology via DockerHi all. I would like to start a thread dedicated to running openLuup on Synology via Docker. I have successfully downloaded the airedale/openluup/ docker and have it running with AltUI, but am running into the issue of non-persistence after stop/start and limited success with adding...
Aug 16, 2018 openLuup on Docker (Hub) openLuup on Docker (Hub)To simplify plugin development I created a Docker image for openLuup and made it available on Docker Hub. The Docker image is based on Debian (9, slim) and installs the master branch release of openLuup. The image uses the automated installation script of openLuup and therefore also contains...
Much of the heavy lifting appears to have been done by @vwout there (and I've asked if they'll join us here!) There's a great GitHub repository:
GitHub - vwout/docker-openluup: Dockerized openLuup environment with AltUI GitHub - vwout/docker-openluup: Dockerized openLuup environment with AltUIDockerized openLuup environment with AltUI. Contribute to vwout/docker-openluup development by creating an account on GitHub.
Hoping to get a conversation going here (and a new special openLuup/Docker section) not least because I know I'm going to need some help!
I've been doing other projects the past weeks, and now started seeing sluggish behaviour in the system.. SSH'ed in, and noticed that the harddrive was completely full!
I had some other issues as well that caused it to fill up, but i noticed that when I removed the openluup container, that freed up 1.5GB!
This is obviously not the persistent storage folder (cmh-ludl), what else can do this?
On the base system, it showed as a massive sized /overlay2 folder in the /var/lib/docker/..
Mabye @vwout knows some docker-hints on this?
I've now gotten most of my applications/components into the docker system, only one left is influxdb.
I allready have the database files on an external SSD, and the plan was to have a volume for the influxDB (which holds the .conf file), and a bind mount to the database folder.
This is however not the only files of influxdb that needs to be persistent, when i load up the docker, influx has no information about the databases, even when i know the database folder is available.
Anyone here know where influxDB stores database setup info? influxdb.conf just enables stuff and sets folders, the info on existing databases and settings is stored elsewhere.
(should the docker forum be under software, not openluup?)
As part of my hardware infrastructure revamp (a move away from 'hobby' platforms to something a bit more solid) I've just switched from running Grafana (a very old version) on a BeagleBone Black (similar to RPi) to my Synology NAS under docker.
Despite the old system being on the same platform as my main openLuup instance (or, perhaps, because of this) and now with the new system the data has to be shipped across my LAN, this all seems to work much faster.
I had been running Grafana v3.1.1, because I couldn't upgrade on the old system, but now at 7.3.7, which seems to be the latest Docker version. It's a bit different UI from the old one, and needed next to no configuration, apart from importing the old dashboard settings.
One thing I'm missing is that the old system had a pull-down menu to switch between dashboards, but the new one doesn't seem to have that, since it switches to a whole new page with a list of dashboards. This doesn't work too well on an iPad, since it brings up the keyboard and obscures half the choices. Am I missing something obvious here?
Thanks for any suggestions.
-
My first foray into Docker was with this image, on Synology NAS, but I didn’t mount external volumes. It’s worked flawlessly, which is just as well because I know very little about Docker, although I’m learning a bit because I’m creating my own version from a raw Alpine base.
So I’ve not seen this issue, ever... which doesn’t really help you at all, except to know that it can work.
-
On the NAS, open Docker, then click on the container in the Container list, then click the Details button. A dialog will pop up which has a "Log" tab, and there you will find the console output of the container, which could have some messages related to the stop that will help you troubleshoot.
-
I checked the log per your advice and saw the following line repeated 42 times:
/bin/sh: can't open '/etc/cmh-ludl/openLuup_reload_for_docker': No such file or directory
The other piece of advice about copying existing openLuup files makes sense, although I have never used openLuup before so would not know where to begin.
Is this the classic chicken and the egg problem?
-
There is a post from me above in this thread (sorry don't know how to link specific post) that explains how I got it to work. Have you tried that? I think the issue is synology gui does not support the correct type of volumes and you have to ssh into synology and run the correct docker command to set it up.
-
@kfxo said in Moving to Docker:
you have to ssh into synology and run the correct docker command to set it up.
That's exactly what I was being lazy about and hoping to avoid altogether, but now it appears necessary and I will delve into that ASAP.
Thanks for the suggestion! I will also amend my step-by-step tutorial once I get mine working so that others can avoid the pitfalls I encountered.
-
UPDATE (if anyone is still playing along...):
Again for fun, I tried LAUNCH-ing the vwout/openluup Image directly, without modifying ANY settings in the Synology NAS Docker GUI, and ... lo and behold IT WORKS. That is, the Container runs without errors, the log appears robust and correct, and it even shuts down gracefully as advertised.Both the port:3480 and :3480/console are now up and accessible. YAY!
I've clearly taken a step in the right direction, thanks to y'all's input. I'll go update my HOW-TO post, above, now.
-
@akbooer I'm noticing two things in my OpenLuup system:
(a) there's a minor typo "Unistall" over the right column of Plug-Ins page
(b) mine shows "not.installed" for VeraBridge, yet the .lua file for it is presentHow shall I go about setting up VeraBridge? The docs mention clicking "UPGRADE" but that portion of the page is blank.
-
@librasun said in Moving to Docker:
(a) there's a minor type "Unistall" over the right column of Plug-Ins page
So there is! Well spotted.
@librasun said in Moving to Docker:
(b) mine shows "not.installed" for VeraBridge, yet the .lua file for it is present
Yes, it's a bit of a hangover form the past. VeraBridge is now a standard part of the openLuup installation – looks like I need to update the docs.
@librasun said in Moving to Docker:
How shall I go about setting up VeraBridge? The docs mention clicking "UPGRADE" but that portion of the page is blank.
Yes, that is blank, now (although not so on the AltUI equivalent page.) The corrrect way is:
- go to the openLuup console Tables > Devices Table page
- press the %(#008e00)[Create] button
- fill in the menu with your device name (eg. Vera)
- start typing
D_VeraBridge.xml
in the next box (it has autocompletion) - ditto
I_VeraBridge.xml
- click the %(#ff2600)[Create Device] button
- click %(#4e8f00)[Go to new device page] button
- go to the attributes tab and fill in the IP address of your Vera
- select Reload Luup Engine from the Utilities menu
This could be easier, but its the standard way for all new plugins (aside from those installed from the Alt App Store.)
Sorry.
-
@akbooer said in Moving to Docker:
It was all going so well until I realised that all incoming IP addresses were being mapped to 172.17.0.1by the LuaSocket library.
For anyone who may remotely be interested, I stumbled across the reason for this whilst playing with a raw Alpine docker... it's because the default is to use the Docker network bridge which restricts access to a few specified ports. The alternative is to open it up to the whole local network using the host setting, in which case the expected IP addresses are discovered by openLuup.
-
Yes, thanks indeed for pointing that out. It certainly works...
...my only reason for showing the longer workflow was that @LibraSun appeared to has been looking at the openLuup console page where there is no such button for VeraBridge.
As a plus, it also made @LibraSun feel good about not being able to guess how to do it!
-
@librasun said in Moving to Docker:
I checked the log per your advice and saw the following line repeated 42 times:
/bin/sh: can't open '/etc/cmh-ludl/openLuup_reload_for_docker': No such file or directory
The other piece of advice about copying existing openLuup files makes sense, although I have never used openLuup before so would not know where to begin.
Is this the classic chicken and the egg problem?
I decided to have a go installing the Docker openLuup (via my QNAP ContainerStation) - but I’m getting the same error.
Now, in my Docker compose I’ve mapped folders/volumes to the host machine, and that mapping looks to be working as the install creates the desired folders, my issue seems like it’s possibly straightforward, in that when it fires up, it’s looking for something called
openLuup_reload_for_docker
and it’s not there (as all the folders it created are empty)I’ve logged this issue with vwout via their GitHub page, but can anyone confirm if they have something (file/folder) under cmh-ludl called openLuup_reload_for_docker ?
I’m assuming that’s it’s looking for a specific (.json?) file of some description? If it is, would it be possible for someone to share a example of what the have ?
Many thanks
-
That file looks like this:
#!/bin/sh # # Dockerized openLuup startup script with reload loop for openLuup # based on openLuup_reload @akbooer, Aug 2015 # you may need to change ‘lua’ to ‘lua5.1’ depending on your install openLuupShutdown() { echo "Requesting openLuup shutdown" wget -q -O /dev/null "http://localhost:3480/data_request?id=exit" >> /dev/null 2>&1 } # Capture the shutdown signal and call the luup shutdown URL call to abort the loop trap openLuupShutdown EXIT INT QUIT TERM # Strip parameter automatically added by Docker if [ $# -gt 1 ]; then if [ "$1" = "." ]; then shift fi fi tail -F logs/LuaUPnP_startup.log & tail -F logs/LuaUPnP.log & # Run openLuup as long as the return code indicates a reload lua openLuup/init.lua $@ result=$? while [ $result -eq 42 ] do echo "$(date) Reload openLuup" lua openLuup/init.lua result=$? done exit $result
It's a shell script. But if there's nothing in your folders, it sounds like you'll be missing other things too.