User Tools

Site Tools


hosts:virtual_machines:web:userhomes_hosting

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
hosts:virtual_machines:web:userhomes_hosting [2023/08/30 18:03] – created netboxhosts:virtual_machines:web:userhomes_hosting [2025/02/17 20:29] (current) – Say correct reverse proxies. Add a couple links merlin
Line 5: Line 5:
 ^  | [[https://netbox.tardisproject.uk/ipam/services/41/|View in NetBox.]] | ^  | [[https://netbox.tardisproject.uk/ipam/services/41/|View in NetBox.]] |
 [[meta:autogen:end|​]] [[meta:autogen:end|​]]
 +
 +An nginx server configured to host users' ''www/'' directory at ''<username>.tardis.ac''. This isn't exposed directly, but through Traefik - see [[hosts:user_hosting|here]].
 +
 +The sandbox VM exports users home directories as an NFS share, which is mounted by this VM. You can find the configuration [[https://git.tardisproject.uk/tardis/nix/-/blob/main/profiles/web/userhomes.nix|here]].
 +
 +===== What if I want to use a custom domain? =====
 +
 +This is totally possible by adding the domain and forwarding it manually to nginx. See the step-by-step below. Some steps require an admin, so please contact an admin if you would like this (we're friendly, I promise!).
 +
 +Currently working examples of this include https://mathsoc.uk and https://www.emilymiller.xyz.
 +
 +1. (Admin required) Add the domain to the users account. For instance, "example.com" and "www.example.com" \\
 +
 +**Note: subdomains like www. are not automatically included, so it's usually smartest to add them manually.** \\
 +
 +Further Note: wildcard domains aren't handled well by Caddy, so putting a wildcard domain will likely require extra configuration to make work. Roughly however, this should at least serve the site, albiet with a potentially broken SSL cert. \\
 +
 +2. Go into the console ([[https://console.tardisproject.uk|console.tardisproject.uk]]) and select "Manage Endpoints".
 +
 +3. Add a new proxy rule with the following settings. Note: You'll need to do this for each subdomain (which will usually be at least "example.com" and "www.example.com"). 
 +
 +**What to proxy:**
 +
 +Domain: <whatever domain you want to add> (e.g. example.com) \\
 +Path prefix: / \\
 +
 +**Where to proxy to:**
 +
 +Target IP: 192.168.0.14 (This is the internal IP address of [[hosts:virtual_machines:web:|hosts:virtual_machines:web]], which hosts [[https://git.tardisproject.uk/tardis/nix/-/blob/main/profiles/web/userhomes.nix|an nginx webserver which servers userhomes]]) \\
 +Target Port: 8181 (This is the port where nginx is expecting traffic to come through on) \\
 +Does the target expect HTTPS? No (SSL termination is handled seperately by traefik) \\
 +
 +**Advanced**
 +
 +Strip path prefix before sending to app? No \\
 +Redirect HTTP to HTTPS? Yes \\
 +Override the Host header: <your username>.tardis.ac (e.g. jdoe.tardis.ac, without this nginx won't know where to route the traffic) \\
 +
  
hosts/virtual_machines/web/userhomes_hosting.1693418606.txt.gz · Last modified: 2023/08/30 18:03 by netbox