What is {{ }} in dockerfile?

Hi @teruun! Funny how things seem obvious to me when in fact this kind of information is documented nowhere :slight_smile:

Please first take a look at the following post which explains how tutor works: Logic of config.yml and JSON config files

So, to answer your question: the files in tutor/templates are Jinja2 template files that are rendered in the $(tutor config printroot)/env folder. This is why these files contain {{ some_variable_name }} stuff.

As for {{ patch "..." }} instructions: these are places that can be customised by plugins. See the relevant docs: https://docs.tutor.overhang.io/plugins.html#patches

Does that answer your question?

I created an issue to remind me to improve the docs on this specific topic: https://github.com/overhangio/tutor/issues/273

In your case, it will be difficult to improve the base openedx docker image without forking the project. It would be easier for you if you could easily modify the base docker image (“ubuntu:16.04”), for instance with a configuration variable. You would then be able to point to your own China-optimized ubuntu image. Please let me know how you manage to solve this problem.