Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Docker Template XML Schema

Featured Replies

  • Replies 151
  • Views 72.6k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Developer / Maintainer Profiles   CA supports developer profiles.  This allows a user to look at and compare the developers who are creating / supporting the various containers / plugins.  I

  • Shortly, any template that does not have either a project or support entry in the template will be removed.  It can't be too hard to either create a thread (or use the app's own support thread) or to

  • Long story behind the evolution of <Overview> vs <Description> which TBH I'm still annoyed about (although it's currently 7:51 am and I'm now considering having a beer before work to calm

Posted Images

  • Author
6 hours ago, knex666 said:

Hey,

 

is there any kind of real XML Schema to test against. I have at least 2 xml files that will be blacklisted. since I dont know why it would be very nice to have a XML Schema to test against bevor uploading it to github.

 

https://github.com/maschhoff/docker/blob/master/unraid xml/my-prpdf.xml

https://github.com/maschhoff/docker/blob/master/unraid xml/my-librespeed.xml

Personally, I consider the schema to be an internal data structure as filling out the template will always create a proper xml file.  But, I do keep this thread up to date with changes etc.

 

Reasons for fatal errors are either invalid syntax, or something that CA enforces.  In your case,  (from Template Errors in CA's statistics section)

knex666's Repository
    atlassian/confluence-server:
        No category entry present
        No Support Link Present
    knex666/mopidy:3-experimental:
        No Support Link Present
    nextcloud:latest:
        No Registry entry set.  Created from Repository setting
    knex666/prpdf:
        No Registry entry set.  Created from Repository setting
        Fatal: Incorrect characters in name
        No Support Link Present
    knex666/rssnotipy:
        No category entry present
        No container port set.  Set to 3247 (Container Port: 3247)
    alqutami/rtmp-hls:
        No Support Link Present
    knex666/shortipy:
        No Support Link Present
    kevineye/snapcast:
        No category entry present
        No Support Link Present
    doudou34/tor-server:
        No Registry entry set.  Created from Repository setting
        No container port set.  Set to 9030 (Container Port: )
        No container port set.  Set to 9001 (Container Port: )
        No Support Link Present

prpdf has invalid characters within the <Name> entry.  Since this is passed directly through to the docker command, CA enforces that the default name will work so as to lessen the support requests because the template as is requires the user to rename the app for it to even install

 

For speedtest, the template duplicated another existing app from the identical docker repository so I flip a coin as to which to remove since there is zero need to have exact duplicated apps present

 

image.png.482703ec6094c327595e514dbd2c8a9e.png

@Squid thanks a lot for that!

  • 1 month later...
  • Author

Going forward, CA supports an entry in the templates for ReadMe files

<ReadMe>some URL here</ReadMe>

image.png.61fa4e5c12ce5bb852f51ec866b20366.png

 

If this entry actually gets used by some maintainers, then I'll also have the dashboard / docker pages support it on their context menus

On 10/3/2021 at 1:02 PM, Squid said:

If this entry actually gets used by some maintainers, then I'll also have the dashboard / docker pages support it on their context menus

Will this potential feature support branch-specific values? as in a readme for main, develop etc when using the Branches tag

  • Author

For CA, it only looks at the "lead" template, so any readme is the one there.  Once a user installs it (and CA asks for what branch to use), then the <ReadMe> which is enclosed within the <Branch> would get used within dashboard / docker tabs (once I see someone utilize it then I'll put the coding in for the OS itself)

4 minutes ago, Squid said:

For CA, it only looks at the "lead" template, so any readme is the one there. 

Perfect, that's how I was hoping it behaved, will work that into our generator :)

  • Author

Yeah, via Branches you can change everything within the lead template.  But most commonly only the repository gets changed (and <Config> entries have to be duplicated in their entirety if one of the configs change in the branch)

  • Author

Just to re-iterate, when creating your templates, please do not artificially add end of lines etc to the descriptions.  End of lines should only be added at the end of a paragraph.  What looks correct on your screen may not look correct (or just plain stupid) on every one else's (or within CA for that matter).  When you're creating a word document, do you hit "Enter" at the end of every line?  You only hit enter at the end of every paragraph, and leave it up to Word to format it correctly accordingly.

 

If you want formatting within the text, then use standard markdown formatting.

  • Author

Icons

 

While I will never bug anyone about their choice of icons for the apps, there are a couple of preferences (or pet peeves)

  1. If possible, use a transparent png
  2. If possible, find an icon that looks good on all themes for the OS (in particular both White and Black)
  3. Use a high resolution icon if at all possible.
  4. Animated icons on applications are not allowed
  5. Animated icons on repositories (ca_profile) is highly discouraged, but not banned
  • 3 weeks later...
  • Author

Links within Overviews

 

As previously noted, 6.10 explicitly disallows all HTML tags within the Overviews.  However if you do want to include a link within the Overview, simply do this:

Converted By Community Applications Always verify this template (and values) against the support page for the container

https://hub.docker.com/r/dyonr/sabnzbdvpn/

This will pass through without being changed and the markdown processor will recognize it create a link out of it.  Note that doing something akin to [linkText](linkURL) does not parse.

  • Author
On 10/3/2021 at 7:02 AM, Squid said:

Going forward, CA supports an entry in the templates for ReadMe files

 
<ReadMe>some link here</ReadMe>

 

Starting next release of the OS (6.10.0-rc3?), both the docker and dashboard tabs will support a ReadMe within the context menu's on the docker applications.  (CA supports it since 2021.10.17)

 

Use it for a link to (obviously) a ReadMe file / Page, or to a FAQ or similar ( @binhex ) Hopefully will lessen support requests on the forums

  • Author

You're awesome @binhex  I *think* it'll add in the entry on any updates when the PR is merged.  But, it definitely works on new installs and is already active within CA

  • Author

Screenshots

 

Next release of CA will be supporting screenshots for the applications (and ca_profiles)

 

To take advantage of this add into the XML's

 

<Screenshot>some URL here</Screenshot>

If there are multiple screen shots, just add multiple lines

<Screenshot>some URL here</Screenshot>
<Screenshot>another URL here</Screenshot>
<Screenshot>a third URL here</Screenshot>

 

Similarly, you can add videos, etc

<Video>some URL here</Video>
<Video>another URL here</Video>

 

For ca_profile.xml, the applicable tag is <Photo> (<Video> can also be utilized)

<Photo>some URL here</Photo>

(once again you can add in multiple lines)

 

image.thumb.png.31a74262dabd5c975623763b497b21b1.png

 

 

image.png.0a2f26634b6915c07bb843af1baa61f0.png

 

image.thumb.png.6a949e72a47b4e895bc0e2f83bce7479.png

  • Squid pinned this topic
  • 2 weeks later...

Sorry if this is the wrong place, but I'm trying to figure out why my templates are throwing "No container port set. Set to 25565 (Port for the server)"  They do contain both HostPort and ContainerPort, all be it the same value.

 

I'm guessing it's possibly an error further up the XML that I'm overlooking?

 

I'm sure as with most code issues a second pair of eyes will reveal the obvious error on my part. https://github.com/Goobaroo/unraid-templates

 

Thanks

  • Author
 <Config Name="Port" Target="" Default="25565" Mode="tcp" Description="Port for the server" Type="Port" Display="always" Required="false" Mask="false">25565</Config>

There's no Target (which should be 25565)  CA has been adjusting the templates to specify the target

Awesome, thanks!  I was looking at the <Network> block, not the config items.  I've fixed them, it should clear the error.

  • Author

Going forward, individual templates will support dedicated URLs for Facebook, Reddit, and Discord to allow further avenues for support

<Discord>someURL</Discord>
<Reddit>someURL</Reddit>
<Facebook>someURL</Facebook>

 

These entries will override the entries within ca_profile.xml

  • Author
10 minutes ago, SmartPhoneLover said:

How does the 'OFFICIAL' label appear in docker templates? The user (creator/maintainer) can add it manually, or is it added automatically by unRAID CA plugin?

  • If it's listed as being official within dockerHub (eg: MySql or library/mysql)
  • If the author of the container is equivalent to the repository of the container (eg: shaarli/shaarli:master)

This is all because of how dockerHub searches work, where there is an outright "official" flag for the first item.

 

I'm seeing how this works with regards to the 2nd item.  If people complain about labelling one as "official" vs others (when the other may be the "recommended" container to install, then this feature will get removed as it's way way too much work on my part)

 

Note that "official" does not mean "its the best" etc.  It's simply a recognition that this is the container that the author of the app themselves created.

Perfectly explained. Thank you once more 🙂

On 11/30/2021 at 5:48 PM, Squid said:
  • If it's listed as being official within dockerHub (eg: MySql or library/mysql)
  • If the author of the container is equivalent to the repository of the container (eg: shaarli/shaarli:master)

This is all because of how dockerHub searches work, where there is an outright "official" flag for the first item.

 

I'm seeing how this works with regards to the 2nd item.  If people complain about labelling one as "official" vs others (when the other may be the "recommended" container to install, then this feature will get removed as it's way way too much work on my part)

 

Note that "official" does not mean "its the best" etc.  It's simply a recognition that this is the container that the author of the app themselves created.

 

This explanation should be incorporated into a news article or the documentation (or the CA store itself) as it was very difficult to find the answer what qualifies an app as "official".

 

That said, thank you very much for the explanation!!

  • 5 weeks later...

Does refactoring our unraid-templates repository, renaming application XML files for example break anything?

 

I'm guessing it will not break, given the files are read in as they are and generate the appropriate store listing.  But I thought I would double check.

 

Thanks

  • Author

What will "break" is during an update to the container if the template also has changes then the update process will not pick up any changes.  Since template updates are rare this isn't a huge deal

 

Fix Common Problems will complain and inform everyone that the URL has changed and will prompt the installed user base to click a button to automatically update the URL (which fixes the above)

  • 3 weeks later...
On 2/20/2020 at 4:43 PM, Squid said:

Regarding <TemplateURL>

 

If having this entry populated with the URL causes problems for you, then going forward (as of Feb 21) maintainers can manually edit the appropriate xml in their repositories and either change the existing entry or add in

 

<TemplateURL>false</TemplateURL>

If the appfeed sees false in that entry, then it will not populate it automatically with the URL of your template.  This has the result of if a user deletes a variable, then on the next container update dockerMan will not re-add that variable back into their template.

 

This is a manual only edit, and cannot be done via dockerMan's GUI.   If any one starts bugging you about FCP complaining about a missing template URL via FCP, then tell your users to simply ignore that error.

 

Note that any of your users will also either have to reinstall the app from scratch or manually edit their user template to get rid of the existing entry.

 

@Roxedus

 

 

In reference to a github issue I raised, specific to the linuxserver homeassistant docker Github Comment, upon updating homeassistant, multiple mandatory path/to/device fields populate and cause the container to fail to start until I manually delete them. 

 

Initially, the dev instructed that I get Docker into author mode and delete the TemplateURL, but then discovered the existence of this thread and the end of TemplateURL in author mode. However, they state that the template sync is turned off on their end. Is there anything I can do on my end to remedy this? I apologize if this needs to be posted elsewhere. 

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.