operations

First, choose a name. In this tutorial we’ll use example which will be example.usegalaxy.eu, with a brand of “Example”. Remember to change as appropriate for your name.

Galaxy Configuration

  1. add a folder named like your subdomain (here: example.usegalaxy.com) in this directory, with a subfolder called themes containing a yaml file named like your subdomain (if you are not using a theme yet, you can leave the file empty). Have a look at other subdomains to get inspiration to add custom themes or contact us for help.
    └── subdomains/
     ├── ...
     └── example/
         └── themes/
             └── example.yml
    
  2. Add your site to the key galaxy_themes_subdomains . It should look something like:

     - name: example
    

    Name is an id used in creation of several filenames internally and in the website repository. It should match [a-z]+

  3. Add a line for your Subdomain under the brand_by_host key in group_vars/gxconfig.yml.
    'example.usegalaxy.eu': Example
    
  4. Add a line to the global_host_filters.py.j2 if you want to modify which tool are shown on your subdomain

  5. Make a PR with these changes

In the website repository:

  1. Create an index page like this one in the website repository. Above we specified that name: example, so you should create index-example.md in the root of the website repository.
  2. Make a PR with these changes

DNS Changes

  1. Add your domain to this list under subdomain, and increase the count parameter below by one.
  2. Make a PR with these changes.

To add GxIT privileges

To run Galaxy Interactive Tools (GxIT) in your subdomain, we need to generate wildcard certificates for you. To do so the following needs to be done:

  1. Create a PR, adding your domains IT wildcard to the sn06.yml playbook like done in this PR
  2. Create a PR with the CNAME records routing to usegalaxy.eu in the dns.tf file by adding your domain to this list under it-subdomain, and increase the count parameter below by one. Refer to this PR
  3. Expand the SSL certificate following the manual here (only EU admins can do this step, talk to them)

Customizing Tools

  1. Edit global_host_filter.py, you’ll want to edit both functions to define appropriate values for your galaxy subdomain.

How it works internally

There is a nginx location directive that redirects the front page request from the subdomain/welcome.html to the file /opt/multisite-css/$host.html, hosted locally into the Galaxy server.

This mechanism rely on the default value of the welcome_url variable in the Galaxy configuration. If you change it, then you have to modify the nginx location directive accordingly.