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

On 7/16/2021 at 3:30 PM, Squid said:

If your application requires something specific on the user's system (eg: IPMI compatible motherboard, ElasticSearch, mySQL, etc) then you can specify this within the template (for either a docker container or a plugin) by adding in

<Requires>ElasticSearch</Requires>

[...]

 

What happens when we add the 'Requires' tag to our templates when there is already an entry in your Moderation.json?  Will the entry in the Moderation.json take precedence? Can we ping you to remove the the Requires tag once we updated the template? The question arised, because for paperless-ng the entry in Moderation.json looks fine, but I plan to add it to the template.

  • Replies 153
  • Views 67.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

Moderation will take precedence, but just drop me a note.  BTW, 6.10-rc1+ has the Requires entry right in the GUI

  • 2 weeks later...
  • 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

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.