diff --git a/deploy/auth/util.js b/deploy/auth/util.js
index 554d5f4970f6639e3f436eaabb5cddcc7949fb40..c9240bf3d7b1cd8cdec89a8b3df6b7b8520073db 100644
--- a/deploy/auth/util.js
+++ b/deploy/auth/util.js
@@ -2,10 +2,11 @@ const { configureAuth } = require('./oidc')
 const jwtDecode = require('jwt-decode')
 
 const HOSTNAME = process.env.HOSTNAME || 'http://localhost:3000'
+const HOST_PATHNAME = process.env.HOST_PATHNAME || ''
 const clientId = process.env.HBP_CLIENTID || 'no hbp id'
 const clientSecret = process.env.HBP_CLIENTSECRET || 'no hbp client secret'
 const discoveryUrl = 'https://services.humanbrainproject.eu/oidc'
-const redirectUri = `${HOSTNAME}/hbp-oidc/cb`
+const redirectUri = `${HOSTNAME}${HOST_PATHNAME}/hbp-oidc/cb`
 
 let REFRESH_TOKEN = process.env.REFRESH_TOKEN || null
 const CLIENT_NOT_INIT = `Client is not initialised.`
diff --git a/deploy/datasets/supplements/previewFile.js b/deploy/datasets/supplements/previewFile.js
index 2600b01bb9615dab3c7ee4aa18878405bfb18070..7c3edcaab9e8f965b97b6ab94b74a45f6a3a9741 100644
--- a/deploy/datasets/supplements/previewFile.js
+++ b/deploy/datasets/supplements/previewFile.js
@@ -6,6 +6,7 @@ const DISABLE_JUBRAIN_PMAP = process.env.DISABLE_JUBRAIN_PMAP
 const DISABLE_JUBRAIN_PMAP_V17 = process.env.DISABLE_JUBRAIN_PMAP_V17
 const DISABLE_DWM_PMAP = process.env.DISABLE_DWM_PMAP
 const HOSTNAME = process.env.HOSTNAME || 'http://localhost:3000'
+const HOST_PATHNAME = process.env.HOST_PATHNAME || ''
 
 let previewMap = new Map(),
   previewMapKeySet = new Set()
@@ -48,7 +49,7 @@ exports.getPreviewFile = ({ datasetName, templateSelected }) => previewMap.get(d
             ...file,
             ...(file.url && !/^http/.test(file.url)
               ? {
-                url: `${HOSTNAME}/${file.url}`
+                url: `${HOSTNAME}${HOST_PATHNAME}/${file.url}`
               }
               : {})
           }
diff --git a/deploy/server.js b/deploy/server.js
index a0f8950e82e562e36bbcbd6307b9ce85825baa24..ce483fb833f85430d3a557af0c66b267fd490fab 100644
--- a/deploy/server.js
+++ b/deploy/server.js
@@ -66,6 +66,11 @@ const PORT = process.env.PORT || 3000
 // n.b. no trailing slash is important
 const HOST_PATHNAME = process.env.HOST_PATHNAME || ''
 
+if(HOST_PATHNAME !== '') {
+  if (HOST_PATHNAME.slice(0,1) !== '/') throw new Error(`HOST_PATHNAME, if defined and non-empty, should start with a leading slash. HOST_PATHNAME: ${HOST_PATHNAME}`)
+  if (HOST_PATHNAME.slice(-1) === '/') throw new Error(`HOST_PATHNAME, if defined and non-emtpy, should NOT end with a slash. HOST_PATHNAME: ${HOST_PATHNAME}`)
+}
+
 server.disable('x-powered-by')
 
 server.use(HOST_PATHNAME, app)