common = [ '--no-browser', '--debug', '--port={port}', '--ServerApp.ip=127.0.0.1', '--ServerApp.token=""', # Disable dns rebinding protection here, since our 'Host' header # is not going to be localhost when coming from hub.mybinder.org '--ServerApp.allow_remote_access=True' ] lab_command = ' '.join([ 'jupyter', 'lab', '--dev-mode', '--extensions-in-dev-mode', '--ServerApp.base_url={base_url}lab-dev', ] + common + ['>jupyterlab-dev.log 2>&1']) lab_splice_command = ' '.join([ 'jupyter', 'lab', 'build', '--splice-source', '--minimize=False', '--dev-build=True', '--debug', '>jupyterlab-spliced.log 2>&1', '&&', 'jupyter', 'lab', '--ServerApp.base_url={base_url}lab-spliced', ] + common + ['>jupyterlab-spliced.log 2>&1']) c.ServerProxy.servers = { 'lab-dev': { 'command': [ '/bin/bash', '-c', lab_command ], 'timeout': 60, 'absolute_url': True }, 'lab-spliced': { 'command': [ '/bin/bash', '-c', lab_splice_command ], 'timeout': 300, 'absolute_url': True } } c.NotebookApp.default_url = '/lab-dev' import logging c.NotebookApp.log_level = logging.DEBUG