Streamlit fails to start because external IP not detected


I am trying to run a streamlit app on an EKS cluster pod which has no direct connection to the internet. The app fails to start and I see the following error:

Did not auto detect external IP.
Please go to for debugging hints.

Please report this bug at

EXCEPTION! 'NoneType' object has no attribute 'strip'
  File "/usr/local/bin/streamlit", line 8, in <module>
  File "/usr/local/lib/python3.7/site-packages/click/", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/site-packages/click/", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/site-packages/click/", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/site-packages/click/", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/streamlit/", line 188, in main_hello
  File "/usr/local/lib/python3.7/site-packages/streamlit/", line 257, in _main_run, command_line, args)
  File "/usr/local/lib/python3.7/site-packages/streamlit/", line 241, in run
  File "/usr/local/lib/python3.7/site-packages/tornado/platform/", line 132, in start
  File "/usr/local/lib/python3.7/asyncio/", line 523, in run_forever
  File "/usr/local/lib/python3.7/asyncio/", line 1758, in _run_once
  File "/usr/local/lib/python3.7/asyncio/", line 88, in _run, *self._args)
  File "/usr/local/lib/python3.7/site-packages/tornado/", line 758, in _run_callback
    ret = callback()
  File "/usr/local/lib/python3.7/site-packages/tornado/", line 300, in null_wrapper
    return fn(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/tornado/", line 326, in wrapper
    yielded = next(result)
  File "/usr/local/lib/python3.7/site-packages/streamlit/server/", line 402, in _loop_coroutine

Looking at the streamlit code, this appears to happen in:

Is it possible to bypass this check through a config setting? Maybe provide a dummy external IP through the command line option? Or is the external access critical for some functionality?


I was able to resolve this using the command line flag --server.headless=false.