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 %}