[Plug-In] Community Applications


Recommended Posts

Hi

 

I'm trying to pass in a variable which contains a ';' in the value (it's a convention when using the official GitLab docker and you want to change some configuration key/value pairs: http://docs.gitlab.com/omnibus/docker/)

 

However i encounter an issue as soon as i click "Add Container" or try to update the container with this particular variable.

 

Variable name: GITLAB_OMNIBUS_CONFIG
Variable value: external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;

 

I also tried adding it directly into the "Extra Parameters" like this:

 

--env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" 

 

but i still get the same error:

 

The command failed.
sh: /usr/local/emhttp: Is a directory

 

Attached some screenshots as well

 

Does the same thing happen if you run the command in command line?

Just go edit the container, remove the problem variable and hit save. Then you will have the docker run command in the last command box. Copy it and ssh into your server and issue the command with the added problem variable. If that works, use the full path from /usr/local/emhttp/etc... and see if that works. If not, it's a bug in dockerman.

 

Ok i tried both things, this is the result:

 

docker run (works fine):

root@unRAID:/mnt/user/appdata# docker run -d --name="GitLab-CE" --net="bridge" -e TZ="Europe/Paris" -e HOST_OS="unRAID" -p 45300:80/tcp -p 45305:443/tcp -p 45310:22/tcp -v "/mnt/cache/appdata/gitlab-ce/config":"/etc/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/data":"/var/opt/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/log":"/var/log/gitlab":rw --env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" gitlab/gitlab-ce
724e403bc962631a9aa773d24f8657055f6d18f6db854a38794916e4bcf7680e

 

docker run full path (works fine):

root@unRAID:/mnt/user/appdata# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name="GitLab-CE" --net="bridge" -e TZ="Europe/Paris" -e HOST_OS="unRAID" -p 45300:80/tcp -p 45305:443/tcp -p 45310:22/tcp -v "/mnt/cache/appdata/gitlab-ce/config":"/etc/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/data":"/var/opt/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/log":"/var/log/gitlab":rw --env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" gitlab/gitlab-ce
7b3c680e8609383b4d28d9f134d4735c162acfd6a1811e5ca0dcbe5ba8c9604b

 

So it must be something in the WebUI i suppose?

Looks like a webgui bug then. You should file a defect report so it gets picked up.

 

I'm confused who this should be filed to. The unRAID team or Squid (creator of CA) ?

Link to comment

Hi

 

I'm trying to pass in a variable which contains a ';' in the value (it's a convention when using the official GitLab docker and you want to change some configuration key/value pairs: http://docs.gitlab.com/omnibus/docker/)

 

However i encounter an issue as soon as i click "Add Container" or try to update the container with this particular variable.

 

Variable name: GITLAB_OMNIBUS_CONFIG
Variable value: external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;

 

I also tried adding it directly into the "Extra Parameters" like this:

 

--env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" 

 

but i still get the same error:

 

The command failed.
sh: /usr/local/emhttp: Is a directory

 

Attached some screenshots as well

 

Does the same thing happen if you run the command in command line?

Just go edit the container, remove the problem variable and hit save. Then you will have the docker run command in the last command box. Copy it and ssh into your server and issue the command with the added problem variable. If that works, use the full path from /usr/local/emhttp/etc... and see if that works. If not, it's a bug in dockerman.

 

Ok i tried both things, this is the result:

 

docker run (works fine):

root@unRAID:/mnt/user/appdata# docker run -d --name="GitLab-CE" --net="bridge" -e TZ="Europe/Paris" -e HOST_OS="unRAID" -p 45300:80/tcp -p 45305:443/tcp -p 45310:22/tcp -v "/mnt/cache/appdata/gitlab-ce/config":"/etc/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/data":"/var/opt/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/log":"/var/log/gitlab":rw --env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" gitlab/gitlab-ce
724e403bc962631a9aa773d24f8657055f6d18f6db854a38794916e4bcf7680e

 

docker run full path (works fine):

root@unRAID:/mnt/user/appdata# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name="GitLab-CE" --net="bridge" -e TZ="Europe/Paris" -e HOST_OS="unRAID" -p 45300:80/tcp -p 45305:443/tcp -p 45310:22/tcp -v "/mnt/cache/appdata/gitlab-ce/config":"/etc/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/data":"/var/opt/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/log":"/var/log/gitlab":rw --env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" gitlab/gitlab-ce
7b3c680e8609383b4d28d9f134d4735c162acfd6a1811e5ca0dcbe5ba8c9604b

 

So it must be something in the WebUI i suppose?

Looks like a webgui bug then. You should file a defect report so it gets picked up.

 

I'm confused who this should be filed to. The unRAID team or Squid (creator of CA) ?

It's not CA. So go to the defect reports board and read the sticky on how to report a defect and then make the defect report accordingly.

Link to comment

Hi

 

I'm trying to pass in a variable which contains a ';' in the value (it's a convention when using the official GitLab docker and you want to change some configuration key/value pairs: http://docs.gitlab.com/omnibus/docker/)

 

However i encounter an issue as soon as i click "Add Container" or try to update the container with this particular variable.

 

Variable name: GITLAB_OMNIBUS_CONFIG
Variable value: external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;

 

I also tried adding it directly into the "Extra Parameters" like this:

 

--env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" 

 

but i still get the same error:

 

The command failed.
sh: /usr/local/emhttp: Is a directory

 

Attached some screenshots as well

 

Does the same thing happen if you run the command in command line?

Just go edit the container, remove the problem variable and hit save. Then you will have the docker run command in the last command box. Copy it and ssh into your server and issue the command with the added problem variable. If that works, use the full path from /usr/local/emhttp/etc... and see if that works. If not, it's a bug in dockerman.

 

Ok i tried both things, this is the result:

 

docker run (works fine):

root@unRAID:/mnt/user/appdata# docker run -d --name="GitLab-CE" --net="bridge" -e TZ="Europe/Paris" -e HOST_OS="unRAID" -p 45300:80/tcp -p 45305:443/tcp -p 45310:22/tcp -v "/mnt/cache/appdata/gitlab-ce/config":"/etc/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/data":"/var/opt/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/log":"/var/log/gitlab":rw --env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" gitlab/gitlab-ce
724e403bc962631a9aa773d24f8657055f6d18f6db854a38794916e4bcf7680e

 

docker run full path (works fine):

root@unRAID:/mnt/user/appdata# /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name="GitLab-CE" --net="bridge" -e TZ="Europe/Paris" -e HOST_OS="unRAID" -p 45300:80/tcp -p 45305:443/tcp -p 45310:22/tcp -v "/mnt/cache/appdata/gitlab-ce/config":"/etc/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/data":"/var/opt/gitlab":rw -v "/mnt/cache/appdata/gitlab-ce/log":"/var/log/gitlab":rw --env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" gitlab/gitlab-ce
7b3c680e8609383b4d28d9f134d4735c162acfd6a1811e5ca0dcbe5ba8c9604b

 

So it must be something in the WebUI i suppose?

Looks like a webgui bug then. You should file a defect report so it gets picked up.

 

I'm confused who this should be filed to. The unRAID team or Squid (creator of CA) ?

It's not CA. So go to the defect reports board and read the sticky on how to report a defect and then make the defect report accordingly.

 

Ok thanks for the help. For reference i filed in a defect report about this bug: https://lime-technology.com/forum/index.php?topic=50385.0

Link to comment
  • 2 weeks later...

14-deep-thoughts-shower-feature.jpg

 

Major revamp to backup / restore appdata module.

 

More or less a one click operation now to restore even in a catastrophic cache drive failure.

 

 

- Previously the module would not allow you to perform a restore unless the backup settings were valid.  What this meant in practice was that if you replaced a failed cache drive, you would have to recreate the appdata share, make sure that it was cache only with no files existing on the array, set all the settings, and then finally restore.

 

Now restore will use the latest saved settings (whether are are valid in the current context or not - ie: appdata share doesn't already exist).  Just select the backup set to restore and your done.

 

Additionally, at the end of the restore, the settings for the appdata share will be automatically set to be cache-only, and any files in the share that may have wound up on the array (by inadvertently running the docker apps without a valid appdata share) will be automatically deleted.

 

 

Procedure to follow for a failed cache drive:

 

- Replace cache drive

- Recreate the docker.img file.

- Restore the backup by going to the restore tab and selecting your backup set

- Have a beer

- Ideally now you would restart the server (or stop and start) to ensure that the changes to the appdata share configuration made by the module take effect

- Go to CA's Previous Apps section and reinstall whatever apps you want.  All the templates will already be filled out with your mappings, ports, etc.

- Have another beer to celebrate how easy it was to recover  ;D

 

 

Other changes:

 

Backing up of the docker.img has now been removed (it was optional previously) - While I don't personally think that backing up of the image file is ever necessary, I ran through some experiments, and have removed the option altogether (it will now always be excluded).  This is because CA and the various modules (including backup/restore) store various files, settings, logs, etc within the docker.img file so that there is never any possibility of running out of RAM if they were stored there.  And the logs for instance from backup / restore are HUGE because every single file is logged as its moved (logs are removed at the conclusion of the backup / restore).  Net result is that docker.img is basically always in use during a backup/restore, and during a restore, the operation will either fail, or will have weird consequences.

 

Backups that fail for whatever reason are now renamed to have -error appended to the folder name.  This will prevent you from inadvertently restoring a backup set that did not complete successfully.

 

2 Scripts are now included in the module:

Delete Old Backup Sets - This will entirely remove all backup sets from the array.  This is useful for when transitioning from non-dated backups to dated backups.

 

Delete Failed Backup Sets - Similar to the above, but will only delete backup sets from the array that failed.

 

Link to comment

It may have been mentioned previously, but I don't quite feel like skimming 72 pages..

 

I was wondering, what is the canonical/best way to create new plugin XML for a dockerised application? I'm a contributor on an open source project, and want to make things easy and nice to install it, but keep coming up blank on how exactly to go about that..

 

Is there a guide or similar I am missing? Or a feature of this that allows generating? Or..?

Link to comment

It may have been mentioned previously, but I don't quite feel like skimming 72 pages..

 

I was wondering, what is the canonical/best way to create new plugin XML for a dockerised application? I'm a contributor on an open source project, and want to make things easy and nice to install it, but keep coming up blank on how exactly to go about that..

 

Is there a guide or similar I am missing? Or a feature of this that allows generating? Or..?

If you use 6.2 RC you can enable authoring mode in docker settings, go to add container, turn on advanced mode and add all the info. Then you have to find the XML which squid would know where (/var/lib/docker somewhere I think) and then add the template XML to github or something. Then tell squid the address of the template and he will add it to CA.

 

If you run 6.1.9 you could take a look at  someones template and just change it to fit your container.

Link to comment

It may have been mentioned previously, but I don't quite feel like skimming 72 pages..

 

I was wondering, what is the canonical/best way to create new plugin XML for a dockerised application? I'm a contributor on an open source project, and want to make things easy and nice to install it, but keep coming up blank on how exactly to go about that..

 

Is there a guide or similar I am missing? Or a feature of this that allows generating? Or..?

If you use 6.2 RC you can enable authoring mode in docker settings, go to add container, turn on advanced mode and add all the info. Then you have to find the XML which squid would know where (/var/lib/docker somewhere I think) and then add the template XML to github or something. Then tell squid the address of the template and he will add it to CA.

 

If you run 6.1.9 you could take a look at  someones template and just change it to fit your container.

Either method, you'll want to look at the other tags available to be used: http://lime-technology.com/forum/index.php?topic=40299.0 and this plugin here: http://lime-technology.com/forum/index.php?topic=40111.0  (Its all in the OP actually)
Link to comment

Then you have to find the XML which squid would know where (/var/lib/docker somewhere I think)

You hit save, and then on the resulting screen, copy & paste the resulting text into a file of your choice.  Don't delete anything from it.  Only add in other sections as required as per the links above.
Link to comment

Then you have to find the XML which squid would know where (/var/lib/docker somewhere I think)

You hit save, and then on the resulting screen, copy & paste the resulting text into a file of your choice.  Don't delete anything from it.  Only add in other sections as required as per the links above.

You can delete the date installed tag right?

Link to comment

Then you have to find the XML which squid would know where (/var/lib/docker somewhere I think)

You hit save, and then on the resulting screen, copy & paste the resulting text into a file of your choice.  Don't delete anything from it.  Only add in other sections as required as per the links above.

You can delete the date installed tag right?

Never really paid any attention to it.  Won't hurt.

 

I more or less mean don't delete any of the legacy sections

 

Sent from my LG-D852 using Tapatalk

 

 

Link to comment

I'm sorry if this question has been asked already, but I couldn't find anything helpful.

 

I installed the CA and turned on additional search results on Docker Hub Searching. I want to install the docker explorer by cloneme (https://hub.docker.com/r/cloneme/explorer/). The installation went fine, but I don't have the option to start the webGUI when going to the docker section on unraid.

I guess this is most likely due to the fact that there are no port or volume mappings setup. So I guess I have to set it up manually. Unfortunately, I don't really know how to start. The only thing that would seem right is the port 4859, but that's about it.

Would appreciate any help to point me in the right direction.

 

Link to comment

I'm sorry if this question has been asked already, but I couldn't find anything helpful.

 

I installed the CA and turned on additional search results on Docker Hub Searching. I want to install the docker explorer by cloneme (https://hub.docker.com/r/cloneme/explorer/). The installation went fine, but I don't have the option to start the webGUI when going to the docker section on unraid.

I guess this is most likely due to the fact that there are no port or volume mappings setup. So I guess I have to set it up manually. Unfortunately, I don't really know how to start. The only thing that would seem right is the port 4859, but that's about it.

Would appreciate any help to point me in the right direction.

Can't VPN to my server from where I am currently, but dockerHub imports are not a perfect science.  CA does the best it can to scrap the docker file out from a web page, but dockerHub hasn't allowed direct downloads of the dockerfile for around a year which would help out significantly.

 

Presumably since no ports / volumes appeared in the template, you would have to look at the dockerfile / instructions on the dockerhub page for the container and manually add those settings yourself.  Additionally, some authors are very lazy and do not explicitly specify ports / volumes within the dockerfile itself since its not 100% necessary to do that and still be able to pass the appropriate ports and volumes through the docker run command.

 

But, if they are there, ports will be a line stating EXPOSING, and volumes will be a line stating VOLUME

 

Anything else would be in the docs for the container.

 

It is also completely 100% impossible to scrape any environment variables from the dockerfile (as there is no entry for them)

Link to comment

Thanks for the information and explanation! I will have a look at the docker file and will see if I can get the needed information from it.

Take a look at the docker run command shown on that hub.docker page you linked. That is basically what you are trying to achieve by filling in the form on the add docker page in unRAID.
Link to comment

Apologies in advance if this has been asked a m(z)illion times before but where can I find documentation around the app template xml schema ?

 

I've seen some limited documentation but I see some templates with additional undocumented options that I'd like to use

 

I'm currently resorting to looking at /var/lib/docker/unraid/templates-community-apps/ for examples

 

In addition to this how does one go about publishing a template

 

Many thanks in advance

 

Link to comment

Apologies in advance if this has been asked a m(z)illion times before but where can I find documentation around the app template xml schema ?

 

I've seen some limited documentation but I see some templates with additional undocumented options that I'd like to use

 

I'm currently resorting to looking at /var/lib/docker/unraid/templates-community-apps/ for examples

 

In addition to this how does one go about publishing a template

 

Many thanks in advance

Scroll up to reply 1082
Link to comment

Apologies in advance if this has been asked a m(z)illion times before but where can I find documentation around the app template xml schema ?

 

I've seen some limited documentation but I see some templates with additional undocumented options that I'd like to use

 

I'm currently resorting to looking at /var/lib/docker/unraid/templates-community-apps/ for examples

 

In addition to this how does one go about publishing a template

 

Many thanks in advance

Scroll up to reply 1082

I'm going to add this to the docker FAQ later as it keeps coming up.

 

Sent from my LG-D852 using Tapatalk

 

 

Link to comment

I have Unraid Server Plus 6.1.6 and installed Community Applications when I first installed the server, which worked perfectly. Unfortunately it stopped working a short time later. I tried to reinstall the plugin but got this errror:

plugin: installing: https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg
plugin: downloading https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg
plugin: downloading: https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg ... done

Warning: simplexml_load_file(): /tmp/plugins/community.applications.plg:1: parser error : Document is empty in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193

Warning: simplexml_load_file(): in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193

Warning: simplexml_load_file(): ^ in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193

Warning: simplexml_load_file(): /tmp/plugins/community.applications.plg:1: parser error : Start tag expected, '<' not found in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193

Warning: simplexml_load_file(): in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193

Warning: simplexml_load_file(): ^ in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193
plugin: xml parse error

 

I have no idea what is causing this as obviously other people can install the plugin. Any help would be greatly appreciated.

Link to comment

I have Unraid Server Plus 6.1.6 and installed Community Applications when I first installed the server, which worked perfectly. Unfortunately it stopped working a short time later. I tried to reinstall the plugin but got this errror:

plugin: installing: https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg
plugin: downloading https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg
plugin: downloading: https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg ... done

Warning: simplexml_load_file(): /tmp/plugins/community.applications.plg:1: parser error : Document is empty in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193

Warning: simplexml_load_file(): in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193

Warning: simplexml_load_file(): ^ in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193

Warning: simplexml_load_file(): /tmp/plugins/community.applications.plg:1: parser error : Start tag expected, '<' not found in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193

Warning: simplexml_load_file(): in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193

Warning: simplexml_load_file(): ^ in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 193
plugin: xml parse error

 

I have no idea what is causing this as obviously other people can install the plugin. Any help would be greatly appreciated.

Check settings network settings.  Make sure the gateway points to your router and assign a static dns address if necessary 8.8.8.8 and 8.8.4.4

 

Sent from my LG-D852 using Tapatalk

 

 

Link to comment

Hi,

 

Any chance of reviewing/adding my docker app ?

 

Munin server for system stats

 

https://hub.docker.com/r/shaf/munin-server/

https://github.com/shaf/docker-munin-server

 

Package XML : https://raw.githubusercontent.com/shaf/docker-munin-server/master/unraid-template/munin-node.xml

 

One question :

 

Bind Timezone as far as I'm aware simply passes TZ as an environment variable - I used this to my advantage in this docker - Moving forward we need more things to pass in the future : Canonical Hostname is the most beneficial of them all

 

 

Link to comment

Hi,

 

Any chance of reviewing/adding my docker app ?

 

Munin server for system stats

 

https://hub.docker.com/r/shaf/munin-server/

https://github.com/shaf/docker-munin-server

 

Package XML : https://raw.githubusercontent.com/shaf/docker-munin-server/master/unraid-template/munin-node.xml

 

One question :

 

Bind Timezone as far as I'm aware simply passes TZ as an environment variable - I used this to my advantage in this docker - Moving forward we need more things to pass in the future : Canonical Hostname is the most beneficial of them all

after work.  just waking up now, and coffee takes priority over all else.
Link to comment

after work.  just waking up now, and coffee takes priority over all else.

 

I woke up and did nothing but start writing up and committing this crap without any coffee !!!! :D

 

Midday now better get my coffee in !

 

Have a nice day Squid, touch base later

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.