(Support) Aptalca's docker templates


Recommended Posts

Aptalca, I saw that your letsencrypt Docker is now provided by linuxserver as well and I just saw your large linuxserver.io banner. So my question is if your advise is to switch to this repository?

 

The last update on your Docker is a while ago, the linuxserver docker was updated in November.

 

By adding the other repository can I just use the existing config items like path, port, etc.?

Link to comment

I've been meaning to update this thread with a message (first post as well) that I have joined the LinuxServer.io team and have been moving some of my old containers over.

 

Yes, my personal letsencrypt container will be deprecated, as the ls.io version is newer, smaller and more streamlined.

 

The parameters are pretty much the same, but there are some structural changes so you can't use the same data/config folder when you switch over (how services are started and locations of certain things, etc.)

 

I would recommend installing the lsio version as a clean install (with the same parameters), move your www folder over and then migrate your default site config elements piece by piece. It should be relatively simple.

Link to comment

Hello,

 

I'm new to docker, but I do have three other containers working... I'm running Ubuntu 16.04 LTS Server

 

I just tried your aptalca/zoneminder-1.29 container with the following command

sudo docker create \
--name=zoneminder \
--privileged=true \
-p 8585:80 \
-v /home/docker/appdata/zoneminder:/config \
-v /etc/localtime:/etc/localtime:ro \
-v /cameras:/cameras \
aptalca/zoneminder-1.29

 

Then I start it with

sudo docker start zoneminder

 

It starts up just fine but at about the 45-60 second mark it crashes and the container stops.

 

I was able to access it initially at #.#.#.#:8585/zm but it was just displaying an SQL error.

 

Is my create statement faulty?

 

I'm wanting to use the /cameras mount volume to store the images, sounds, and events. Assuming that is where ZM keeps all of the stored footage it captures.

 

 

Is there anything that I am doing incorrectly?

Link to comment

I've been meaning to update this thread with a message (first post as well) that I have joined the LinuxServer.io team and have been moving some of my old containers over.

 

Yes, my personal letsencrypt container will be deprecated, as the ls.io version is newer, smaller and more streamlined.

 

The parameters are pretty much the same, but there are some structural changes so you can't use the same data/config folder when you switch over (how services are started and locations of certain things, etc.)

 

I would recommend installing the lsio version as a clean install (with the same parameters), move your www folder over and then migrate your default site config elements piece by piece. It should be relatively simple.

 

Awesome, I am using two of the ls.io containers; they are great!  How about a ls.io ZoneMinder container ?:D

Link to comment

 

 

Hello,

 

I'm new to docker, but I do have three other containers working... I'm running Ubuntu 16.04 LTS Server

 

I just tried your aptalca/zoneminder-1.29 container with the following command

sudo docker create \
--name=zoneminder \
--privileged=true \
-p 8585:80 \
-v /home/docker/appdata/zoneminder:/config \
-v /etc/localtime:/etc/localtime:ro \
-v /cameras:/cameras \
aptalca/zoneminder-1.29

 

Then I start it with

sudo docker start zoneminder

 

It starts up just fine but at about the 45-60 second mark it crashes and the container stops.

 

I was able to access it initially at #.#.#.#:8585/zm but it was just displaying an SQL error.

 

Is my create statement faulty?

 

I'm wanting to use the /cameras mount volume to store the images, sounds, and events. Assuming that is where ZM keeps all of the stored footage it captures.

 

 

Is there anything that I am doing incorrectly?

 

I don't see any issues with the create statement. What do the logs say?

 

By default, images and such are stored in the config folder but you should be able to change that location in the app settings.

Link to comment

I don't see any issues with the create statement. What do the logs say?

 

By default, images and such are stored in the config folder but you should be able to change that location in the app settings.

 

Pobably a dumb question, but are you referring to Docker logs or ZM logs from within the container? Assuming they would be stored in the /config location if the latter.

 

My /camera mount is a WD Purple specifically installed for storing recorded camera content so I was really wanting to use it. I guess I could just pass that in as the /config location and store everything for that container on it. The /home location I was using for the /config above is on my array and part of an auto-backup.

 

I never got into the actual Web UI at /zm, it was just displaying the SQL error. I'll get that error along with the logs when I get home from work.

Link to comment

This probably doesn't make sense, because of the xRDP/Guacamole base container:

 

Your (awesome) JDownloader v2 container is the largest of my setup. Any chance this will migrate to lsio, too (same for Calibre)?

Probably not. Lsio containers are very lean and clean. JD2 container is the opposite. It's huge.

Link to comment

I don't see any issues with the create statement. What do the logs say?

 

By default, images and such are stored in the config folder but you should be able to change that location in the app settings.

 

Pobably a dumb question, but are you referring to Docker logs or ZM logs from within the container? Assuming they would be stored in the /config location if the latter.

 

My /camera mount is a WD Purple specifically installed for storing recorded camera content so I was really wanting to use it. I guess I could just pass that in as the /config location and store everything for that container on it. The /home location I was using for the /config above is on my array and part of an auto-backup.

 

I never got into the actual Web UI at /zm, it was just displaying the SQL error. I'll get that error along with the logs when I get home from work.

 

I meant the docker log

 

docker logs zoneminder

 

Link to comment

Here is the output from the log

 

*** Running /etc/my_init.d/00_regen_ssh_host_keys.sh...
*** Running /etc/my_init.d/firstrun.sh...
copying php.ini
moving mysql to config folder
rm: cannot remove ‘/config/mysql’: No such file or directory
moving data folder to config folder
moving perl data folder to config folder
creating symbolink links
setting the correct local time
mv: cannot move ‘/etc/localtime.dpkg-new’ to ‘/etc/localtime’: Device or resource busy
increasing shared memory
starting services
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
* Starting MySQL database server mysqld
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
   ...fail!
* Starting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.3. Set the 'ServerName' directive globally to suppress this message
*
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at /usr/share/perl5/ZoneMinder/Config.pm line 92.
Can't connect to db at /usr/share/perl5/ZoneMinder/Config.pm line 119.
BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder/Config.pm line 119.
Compilation failed in require at /usr/share/perl5/ZoneMinder.pm line 33.
BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder.pm line 33.
Compilation failed in require at /usr/bin/zmpkg.pl line 48.
BEGIN failed--compilation aborted at /usr/bin/zmpkg.pl line 48.
Starting ZoneMinder: failure

*** /etc/my_init.d/firstrun.sh failed with status 255

*** Killing all processes...

 

The SQL Error that the webpage presents (which makes sense considering the log output above)

 

Unable to connect to ZM db.SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

 

I also noticed that the folder within the /config location had some interesting ownership

 

drwxrwxrwx 5 www-data          www-data 4.0K Dec 13 21:19 data
drwxrw-rw- 5 systemd-bus-proxy input    4.0K Mar 26  2016 mysql
drwxrwxrwx 3 root              root     4.0K Dec 13 21:19 perl5
-rw-rw-rw- 1 root              root      69K Dec 13 21:19 php.ini

 

Link to comment

Here is the output from the log

 

*** Running /etc/my_init.d/00_regen_ssh_host_keys.sh...
*** Running /etc/my_init.d/firstrun.sh...
copying php.ini
moving mysql to config folder
rm: cannot remove ‘/config/mysql’: No such file or directory
moving data folder to config folder
moving perl data folder to config folder
creating symbolink links
setting the correct local time
mv: cannot move ‘/etc/localtime.dpkg-new’ to ‘/etc/localtime’: Device or resource busy
increasing shared memory
starting services
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
* Starting MySQL database server mysqld
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: Permission denied
   ...fail!
* Starting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.3. Set the 'ServerName' directive globally to suppress this message
*
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) at /usr/share/perl5/ZoneMinder/Config.pm line 92.
Can't connect to db at /usr/share/perl5/ZoneMinder/Config.pm line 119.
BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder/Config.pm line 119.
Compilation failed in require at /usr/share/perl5/ZoneMinder.pm line 33.
BEGIN failed--compilation aborted at /usr/share/perl5/ZoneMinder.pm line 33.
Compilation failed in require at /usr/bin/zmpkg.pl line 48.
BEGIN failed--compilation aborted at /usr/bin/zmpkg.pl line 48.
Starting ZoneMinder: failure

*** /etc/my_init.d/firstrun.sh failed with status 255

*** Killing all processes...

 

The SQL Error that the webpage presents (which makes sense considering the log output above)

 

Unable to connect to ZM db.SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

 

I also noticed that the folder within the /config location had some interesting ownership

 

drwxrwxrwx 5 www-data          www-data 4.0K Dec 13 21:19 data
drwxrw-rw- 5 systemd-bus-proxy input    4.0K Mar 26  2016 mysql
drwxrwxrwx 3 root              root     4.0K Dec 13 21:19 perl5
-rw-rw-rw- 1 root              root      69K Dec 13 21:19 php.ini

I believe you're hitting this issue: https://github.com/docker/docker/issues/7512

 

I can't remember why zoneminder runs in privileged mode, but you can try without, or (if you can) remove mysql from Ubuntu

Link to comment

Removing --privileged did the trick! Thank you!!!  I also decided to just move the /config volume to the WD Purple mount, makes things easier.  How come the sounds path isn't created within the /config location as the images and events are?

 

Now I have another question, of course... Is it possible to update it to 1.30? How do I do that within the container if so?

 

Thank you for the excellent container ;D

 

 

Link to comment

I've been meaning to update this thread with a message (first post as well) that I have joined the LinuxServer.io team and have been moving some of my old containers over.

 

Yes, my personal letsencrypt container will be deprecated, as the ls.io version is newer, smaller and more streamlined.

 

The parameters are pretty much the same, but there are some structural changes so you can't use the same data/config folder when you switch over (how services are started and locations of certain things, etc.)

 

I would recommend installing the lsio version as a clean install (with the same parameters), move your www folder over and then migrate your default site config elements piece by piece. It should be relatively simple.

 

It was indeed that easy antalya thanks a lot.

Link to comment

Instructions for Dockergui based containers - DigiKam, RDP-Calibre and RDP-Boinc

 

These containers are linux desktop apps that open in a web browser thanks to HurricaneHernandez's awesome Dockergui baseimage (guacamole server based).

 

All you have to do is open the WebUI. The default resolution is 1280x720, but can be changed by clicking on the container name, selecting Advanced View and modifying the WIDTH and HEIGHT variables.

 

Tips for setting up Zoneminder (older version, which installs 1.28)

Please see here: https://hub.docker.com/r/aptalca/docker-zoneminder/

 

Instructions for the Zoneminder 1.29 version

Please see here: https://hub.docker.com/r/aptalca/zoneminder-1.29/

 

Instructions for Nginx-letsencrypt

Please see here: https://hub.docker.com/r/aptalca/nginx-letsencrypt/

Additional support provided in this thread: http://lime-technology.com/forum/index.php?topic=43696.0

 

 

 

Are you going to create a Zoneminder 1.30 separate docker or just update the 1.29?

 

 

Link to comment

Instructions for Dockergui based containers - DigiKam, RDP-Calibre and RDP-Boinc

 

These containers are linux desktop apps that open in a web browser thanks to HurricaneHernandez's awesome Dockergui baseimage (guacamole server based).

 

All you have to do is open the WebUI. The default resolution is 1280x720, but can be changed by clicking on the container name, selecting Advanced View and modifying the WIDTH and HEIGHT variables.

 

Tips for setting up Zoneminder (older version, which installs 1.28)

Please see here: https://hub.docker.com/r/aptalca/docker-zoneminder/

 

Instructions for the Zoneminder 1.29 version

Please see here: https://hub.docker.com/r/aptalca/zoneminder-1.29/

 

Instructions for Nginx-letsencrypt

Please see here: https://hub.docker.com/r/aptalca/nginx-letsencrypt/

Additional support provided in this thread: http://lime-technology.com/forum/index.php?topic=43696.0

 

 

 

Are you going to create a Zoneminder 1.30 separate docker or just update the 1.29?

Probably neither. Zoneminder changes so much between versions that updating in place is near impossible. I'm not willing to create a new container every time they have an update. That's too much to support. Especially when I'm not even using it myself

Link to comment

I have ZM up and running but it will only pull video from one of my three cameras. They are all the same model,  DCS-932L, and have identical settings other than the IP address. I verified that all three cameras are working and producing an image by going to (which is the host name and path I am using under each monitor's settings):

 

 

http://192.168.1.50/image/jpeg.cgi

http://192.168.1.51/image/jpeg.cgi

http://192.168.1.52/image/jpeg.cgi

 

All three show images and refresh correctly.  ZM will only consume from http://192.168.1.50/image/jpeg.cgi  The other three monitors show up as red under the Source column and will not display the video from 192.168.1.51 and 192.168.1.52. Any ideas why it would do that?

 

Monitor%20Display.png

Monitor%20Settings.png

 

UPDATE:

 

If I reduce the Image Buffer Size (frames) setting for each camera to 25 down from 50 I can see two cameras at 640x480 now. So it is a shared memory problem. I now need to figure out how to increase this within the docker container or whether increasing it for the host OS accomplishes that.

 

Host OS is Ubuntu 16.04.1 LTS x86_64 Server

 

UPDATE:

 

All three cameras work now with the below settings:

Monitor%20Buffers.png

 

I want to increase the shared memory so that I can put the settings back up to default. I'm not sure how to do that yet. I have more that sufficient RAM to handle this. Not sure why it would be set so low by default.

 

Here are my current share memory settings:

 

user@server:/etc/sysctl.d$ cat /proc/sys/kernel/shmmax

18446744073692774399

 

user@server:/etc/sysctl.d$ cat /proc/sys/kernel/shmall

18446744073692774399

 

user@server:/etc/sysctl.d$ ipcs -l

 

------ Messages Limits --------

max queues system wide = 32000

max size of message (bytes) = 8192

default max size of queue (bytes) = 16384

 

------ Shared Memory Limits --------

max number of segments = 4096

max seg size (kbytes) = 18014398509465599

max total shared memory (kbytes) = 18014398442373116

min seg size (bytes) = 1

 

------ Semaphore Limits --------

max number of arrays = 32000

max semaphores per array = 32000

max semaphores system wide = 1024000000

max ops per semop call = 500

semaphore max value = 32767

 

I'm not yet sure how to modify it or what to modify it to. I read that these settings are passed to the docker containers so modifying it on the host OS should be fine.

Link to comment

I solved my problem with the ZoneMinder container.

 

The /dev/shm mount within the container was only 14MB and was insufficient to handle the three cameras @ 640x480.

 

I passed the host OS's /dev/shm in as a volume instead of using the container's /dev/shm and it fixed it. :)

 

Thanks for the great container!

Link to comment
  • 2 weeks later...

Why are php packages in the Nginx-letsencrypt docker? Does something depend on that?

 

php is kind of useful for web servers, hence LEMP stacks (Linux, Nginx, MySQL, PHP) and the derivatives of this.

 

'P' in the stack acronym doesn't necessarily stand for PHP :)

Besides, it's 2016 2017; wouldn't consider php a must-have dependency on a webserver.

Link to comment

Why are php packages in the Nginx-letsencrypt docker? Does something depend on that?

 

php is kind of useful for web servers, hence LEMP stacks (Linux, Nginx, MySQL, PHP) and the derivatives of this.

 

'P' in the stack acronym doesn't necessarily stand for PHP :)

Besides, it's 2016 2017; wouldn't consider php a must-have dependency on a webserver.

 

I'd be buggered without it installed, a lot of my stuff depends on php....  :-\

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.