Docker Template XML Schema


Recommended Posts

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




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.

Link to comment
  • 2 weeks later...
6 hours ago, knex666 said:



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. xml/my-prpdf.xml 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
        No category entry present
        No Support Link Present
        No Support Link Present
        No Registry entry set.  Created from Repository setting
        No Registry entry set.  Created from Repository setting
        Fatal: Incorrect characters in name
        No Support Link Present
        No category entry present
        No container port set.  Set to 3247 (Container Port: 3247)
        No Support Link Present
        No Support Link Present
        No category entry present
        No Support Link Present
        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



  • Like 1
Link to comment
  • 1 month later...

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

<ReadMe>some URL here</ReadMe>



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

Link to comment
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

Link to comment

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)

Link to comment

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)

Link to comment

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.

Link to comment



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
Link to comment
  • 3 weeks later...

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

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.

Link to comment
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

  • Thanks 1
Link to comment



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)








Link to comment
  • 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.



Link to comment
 <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

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.

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.