diff --git a/templates/authelia_users_template.yml b/files/authelia_users_template.yml
similarity index 100%
rename from templates/authelia_users_template.yml
rename to files/authelia_users_template.yml
diff --git a/templates/nginx_apollo.conf b/files/nginx_apollo_template.conf
similarity index 100%
rename from templates/nginx_apollo.conf
rename to files/nginx_apollo_template.conf
diff --git a/templates/nginx_download.conf b/files/nginx_download_template.conf
similarity index 100%
rename from templates/nginx_download.conf
rename to files/nginx_download_template.conf
diff --git a/gga_init.py b/gga_init.py
index 86e4c11392aa7c62d70e71a9aa870406235c7d6f..dbe4745026ec4bdb1061e9209d43e3dd00e53308 100755
--- a/gga_init.py
+++ b/gga_init.py
@@ -76,30 +76,6 @@ class DeploySpeciesStack(speciesData.SpeciesData):
             logging.debug("Using default banner for Tripal pages")
             self.config.pop("banner_path", None)
 
-
-        # Write galaxy_nginx.conf
-        try:
-            with open(os.path.abspath(os.path.join(self.main_dir, "galaxy_nginx.conf")), "w") as galaxy_nginx_conf:
-                galaxy_nginx_conf.truncate(0)
-                galaxy_nginx_conf.write("uwsgi_param  QUERY_STRING       $query_string;")
-                galaxy_nginx_conf.write("uwsgi_param  REQUEST_METHOD     $request_method;")
-                galaxy_nginx_conf.write("uwsgi_param  CONTENT_TYPE       $content_type;")
-                galaxy_nginx_conf.write("uwsgi_param  CONTENT_LENGTH     $content_length;")
-                galaxy_nginx_conf.write("uwsgi_param  REQUEST_URI        $request_uri;")
-                galaxy_nginx_conf.write("uwsgi_param  PATH_INFO          $document_uri;")
-                galaxy_nginx_conf.write("uwsgi_param  DOCUMENT_ROOT      $document_root;")
-                galaxy_nginx_conf.write("uwsgi_param  SERVER_PROTOCOL    $server_protocol;")
-                galaxy_nginx_conf.write("uwsgi_param  REQUEST_SCHEME     $scheme;")
-                galaxy_nginx_conf.write("uwsgi_param  HTTPS              $https if_not_empty;")
-                galaxy_nginx_conf.write("uwsgi_param  REMOTE_ADDR        $remote_addr;")
-                galaxy_nginx_conf.write("uwsgi_param  REMOTE_PORT        $remote_port;")
-                galaxy_nginx_conf.write("uwsgi_param  SERVER_PORT        $server_port;")
-                galaxy_nginx_conf.write("uwsgi_param  SERVER_NAME        $server_name;")
-                galaxy_nginx_conf.write("uwsgi_param HTTP_REMOTE_USER gga;")
-        except OSError as exc:
-            logging.critical("Cannot write galaxy NginX conf file (%s)" % os.path.abspath(self.script_dir))
-            sys.exit(exc)
-
         # Create nginx dirs and write/re-write nginx conf
         make_dirs(dir_paths_li=["./nginx", "./nginx/conf"])
         try:
@@ -151,6 +127,14 @@ class DeploySpeciesStack(speciesData.SpeciesData):
             gspecies_compose_file.truncate(0)
             gspecies_compose_file.write(gspecies_compose_output)
 
+
+        galaxy_nginx_conf_template = env.get_template("galaxy_nginx_conf.j2")
+        galaxy_nginx_conf_output = galaxy_nginx_conf_template.render(render_vars)
+        with open(os.path.join(self.main_dir, "galaxy_nginx.conf"), "w") as galaxy_nginx_conf_file:
+            logging.debug("Writing the galaxy_nginx.conf file for %s" % self.genus_species)
+            galaxy_nginx_conf_file.truncate(0)
+            galaxy_nginx_conf_file.write(galaxy_nginx_conf_output)
+
         # Create the volumes (directory) of the species docker-compose file
         create_mounts(working_dir=".", main_dir=self.main_dir)
 
@@ -248,7 +232,7 @@ def make_traefik_compose_files(config, main_dir):
                 sys.exit()
 
         # Path to the authelia users in the repo
-        authelia_users_path = script_dir + "/templates/authelia_users_template.yml"
+        authelia_users_path = script_dir + "/files/authelia_users_template.yml"
         # Copy authelia "users" file
         if not os.path.isfile("./traefik/authelia/users.yml"):
             shutil.copy(authelia_users_path, "./traefik/authelia/users.yml")
diff --git a/templates/galaxy_nginx.conf.j2 b/templates/galaxy_nginx.conf.j2
new file mode 100644
index 0000000000000000000000000000000000000000..5d05b1f05285e6a9109f953a51c69958f21f6f30
--- /dev/null
+++ b/templates/galaxy_nginx.conf.j2
@@ -0,0 +1,19 @@
+#jinja2: lstrip_blocks: “True”, trim_blocks: "True"
+uwsgi_param  QUERY_STRING       $query_string;
+uwsgi_param  REQUEST_METHOD     $request_method;
+uwsgi_param  CONTENT_TYPE       $content_type;
+uwsgi_param  CONTENT_LENGTH     $content_length;
+
+uwsgi_param  REQUEST_URI        $request_uri;
+uwsgi_param  PATH_INFO          $document_uri;
+uwsgi_param  DOCUMENT_ROOT      $document_root;
+uwsgi_param  SERVER_PROTOCOL    $server_protocol;
+uwsgi_param  REQUEST_SCHEME     $scheme;
+uwsgi_param  HTTPS              $https if_not_empty;
+
+uwsgi_param  REMOTE_ADDR        $remote_addr;
+uwsgi_param  REMOTE_PORT        $remote_port;
+uwsgi_param  SERVER_PORT        $server_port;
+uwsgi_param  SERVER_NAME        $server_name;
+
+uwsgi_param HTTP_REMOTE_USER {% if https_port is defined %}$http_remote_user if_not_empty;{% elif galaxy_defaut_admin_user is defined %}{{ galaxy_defaut_admin_user }};{% else %}$http_remote_user if_not_empty;{% endif %}