Skip to content

Commit

Permalink
Add env variable support for port options
Browse files Browse the repository at this point in the history
In order to better support use cases relating to containerized environments,
this change adds environment variable support for the `--port` option.  Since
anyone setting a specific port probably doesn't want port retry logic enabled,
the `--port-retries` option has also been backed by an env.

Option `--port` will be backed by env `JUPYTER_PORT` and still defaults to `8888`.
Option `--port-retries` will be backed by env `JUPYTER_PORT_RETRIES` and still
defaults to `50`.

The CLI options will override those set via the envrionment, but environment
values override those set via configuration files.

Closes jupyter#5212
  • Loading branch information
kevin-bates committed Feb 11, 2020
1 parent 43df5af commit 7a13cd1
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions notebook/notebookapp.py
Original file line number Diff line number Diff line change
Expand Up @@ -707,14 +707,27 @@ def _valdate_ip(self, proposal):
or containerized setups for example).""")
)

port = Integer(8888, config=True,
help=_("The port the notebook server will listen on.")
port_env = 'JUPYTER_PORT'
port_default_value = 8888
port = Integer(port_default_value, config=True,
help=_("The port the notebook server will listen on (env: JUPYTER_PORT).")
)

port_retries = Integer(50, config=True,
help=_("The number of additional ports to try if the specified port is not available.")
@default('port')
def port_default(self):
return int(os.getenv(self.port_env, self.port_default_value))

port_retries_env = 'JUPYTER_PORT_RETRIES'
port_retries_default_value = 50
port_retries = Integer(port_retries_default_value, config=True,
help=_("The number of additional ports to try if the specified port is not "
"available (env: JUPYTER_PORT_RETRIES).")
)

@default('port_retries')
def port_retries_default(self):
return int(os.getenv(self.port_retries_env, self.port_retries_default_value))

certfile = Unicode(u'', config=True,
help=_("""The full path to an SSL/TLS certificate file.""")
)
Expand Down

0 comments on commit 7a13cd1

Please sign in to comment.