diff --git a/config/custom-environment-variables.js b/config/custom-environment-variables.js index 4dccdd862b6a408f40433888f322a03deaba8f0c..4d44e7c804a075f022b61ff2467a8e7a1970bd52 100644 --- a/config/custom-environment-variables.js +++ b/config/custom-environment-variables.js @@ -6,8 +6,11 @@ module.exports = { }, 'pubsweet-client': { protocol: 'CLIENT_PROTOCOL', - host: 'PUBLIC_CLIENT_HOST', + host: 'CLIENT_HOST', port: 'CLIENT_PORT', + publicProtocol: 'PUBLIC_CLIENT_PROTOCOL', + publicHost: 'PUBLIC_CLIENT_HOST', + publicPort: 'PUBLIC_CLIENT_PORT', }, 'pubsweet-server': { protocol: 'SERVER_PROTOCOL', diff --git a/config/default.js b/config/default.js index 4ea6f061dde9a3cc7d6ecf095f0176ecf2de424a..7b759dcfcd47c8282f237256a306af21dad74e8c 100644 --- a/config/default.js +++ b/config/default.js @@ -161,12 +161,21 @@ module.exports = { theme: process.env.PUBSWEET_THEME, baseUrl: deferConfig(cfg => { const { - ORCID_AUTH_REDIRECT_PORT, - ORCID_AUTH_REDIRECT_HOSTNAME, - ORCID_AUTH_REDIRECT_PROTOCOL, - } = process.env + publicProtocol, + protocol, + publicHost, + host, + publicPort, + port, + } = cfg['pubsweet-client'] - return `${ORCID_AUTH_REDIRECT_PROTOCOL}://${ORCID_AUTH_REDIRECT_HOSTNAME}:${ORCID_AUTH_REDIRECT_PORT}` + const protocolToUse = publicProtocol || protocol + let hostToUse = publicHost || host || 'localhost' + if (hostToUse === '0.0.0.0') hostToUse = 'localhost' + const portToUse = publicPort || port + return `${protocolToUse}://${hostToUse}${ + portToUse ? `:${portToUse}` : '' + }` }), }, 'pubsweet-component-xpub-dashboard': { diff --git a/docker-compose.production.elife.yml b/docker-compose.production.elife.yml index 533e35e8dadd1453277bb705365b477c70323938..e66538724e282420f135889637ea0a6eaea9aefe 100644 --- a/docker-compose.production.elife.yml +++ b/docker-compose.production.elife.yml @@ -18,16 +18,15 @@ services: - CLIENT_PROTOCOL=${CLIENT_PROTOCOL} - CLIENT_HOST=${CLIENT_HOST} - CLIENT_PORT=${CLIENT_PORT} - - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST:-0.0.0.0} + - PUBLIC_CLIENT_PROTOCOL=${PUBLIC_CLIENT_PROTOCOL} + - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST} + - PUBLIC_CLIENT_PORT=${PUBLIC_CLIENT_PORT} - SERVER_PROTOCOL=${SERVER_PROTOCOL} - SERVER_HOST=${SERVER_HOST} - SERVER_PORT=${SERVER_PORT} - ORCID_CLIENT_ID=${ORCID_CLIENT_ID} - ORCID_CLIENT_SECRET=${ORCID_CLIENT_SECRET} - USE_SANDBOXED_ORCID=${USE_SANDBOXED_ORCID:-false} - - ORCID_AUTH_REDIRECT_PORT=${ORCID_AUTH_REDIRECT_PORT:-4000} - - ORCID_AUTH_REDIRECT_HOSTNAME=${ORCID_AUTH_REDIRECT_HOSTNAME:-localhost} - - ORCID_AUTH_REDIRECT_PROTOCOL=${ORCID_AUTH_REDIRECT_PROTOCOL:-http} - INSTANCE_NAME=${INSTANCE_NAME:-elife} entrypoint: [ @@ -83,4 +82,4 @@ services: volumes: db-data: - driver: local \ No newline at end of file + driver: local diff --git a/docker-compose.production.ncrc.yml b/docker-compose.production.ncrc.yml index 1265a0d861b0ad48a576d62c47768eb4a88f01b0..f7c615608ab4c4d29cf5219b296f010005fc769b 100644 --- a/docker-compose.production.ncrc.yml +++ b/docker-compose.production.ncrc.yml @@ -18,16 +18,15 @@ services: - CLIENT_PROTOCOL=${CLIENT_PROTOCOL} - CLIENT_HOST=${CLIENT_HOST} - CLIENT_PORT=${CLIENT_PORT} - - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST:-0.0.0.0} + - PUBLIC_CLIENT_PROTOCOL=${PUBLIC_CLIENT_PROTOCOL} + - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST} + - PUBLIC_CLIENT_PORT=${PUBLIC_CLIENT_PORT} - SERVER_PROTOCOL=${SERVER_PROTOCOL} - SERVER_HOST=${SERVER_HOST} - SERVER_PORT=${SERVER_PORT} - ORCID_CLIENT_ID=${ORCID_CLIENT_ID} - ORCID_CLIENT_SECRET=${ORCID_CLIENT_SECRET} - USE_SANDBOXED_ORCID=${USE_SANDBOXED_ORCID:-false} - - ORCID_AUTH_REDIRECT_PORT=${ORCID_AUTH_REDIRECT_PORT:-4000} - - ORCID_AUTH_REDIRECT_HOSTNAME=${ORCID_AUTH_REDIRECT_HOSTNAME:-localhost} - - ORCID_AUTH_REDIRECT_PROTOCOL=${ORCID_AUTH_REDIRECT_PROTOCOL:-http} - INSTANCE_NAME=${INSTANCE_NAME:-ncrc} entrypoint: [ @@ -83,4 +82,4 @@ services: volumes: db-data: - driver: local \ No newline at end of file + driver: local diff --git a/docker-compose.yml b/docker-compose.yml index 247639c98371d676678e4935e765a0c9ecfc0b5a..7205cf7ea55d376b479e4bcdeea91f8c07ab2670 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -68,13 +68,12 @@ services: - CLIENT_PROTOCOL=${CLIENT_PROTOCOL:-http} - CLIENT_HOST=${CLIENT_HOST:-localhost} - CLIENT_PORT=${CLIENT_PORT:-4000} - - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST:-0.0.0.0} + - PUBLIC_CLIENT_PROTOCOL=${PUBLIC_CLIENT_PROTOCOL} + - PUBLIC_CLIENT_HOST=${PUBLIC_CLIENT_HOST} + - PUBLIC_CLIENT_PORT=${PUBLIC_CLIENT_PORT} - ORCID_CLIENT_ID=${ORCID_CLIENT_ID} - ORCID_CLIENT_SECRET=${ORCID_CLIENT_SECRET} - USE_SANDBOXED_ORCID=${USE_SANDBOXED_ORCID:-true} - - ORCID_AUTH_REDIRECT_PORT=${ORCID_AUTH_REDIRECT_PORT:-4000} - - ORCID_AUTH_REDIRECT_HOSTNAME=${ORCID_AUTH_REDIRECT_HOSTNAME:-localhost} - - ORCID_AUTH_REDIRECT_PROTOCOL=${ORCID_AUTH_REDIRECT_PROTOCOL:-https} - INSTANCE_NAME=${INSTANCE_NAME:-elife} volumes: - ./config:/home/node/app/config