diff --git a/archivebox/cli/archivebox_server.py b/archivebox/cli/archivebox_server.py index b7f970d0..dbacf7e5 100644 --- a/archivebox/cli/archivebox_server.py +++ b/archivebox/cli/archivebox_server.py @@ -10,10 +10,9 @@ from typing import Optional, List, IO from ..main import server from ..util import docstring -from ..config import OUTPUT_DIR +from ..config import OUTPUT_DIR, BIND_ADDR from ..logging_util import SmartFormatter, reject_stdin - @docstring(server.__doc__) def main(args: Optional[List[str]]=None, stdin: Optional[IO]=None, pwd: Optional[str]=None) -> None: parser = argparse.ArgumentParser( @@ -26,7 +25,7 @@ def main(args: Optional[List[str]]=None, stdin: Optional[IO]=None, pwd: Optional 'runserver_args', nargs='*', type=str, - default=None, + default=[BIND_ADDR], help='Arguments to pass to Django runserver' ) parser.add_argument( diff --git a/archivebox/config/__init__.py b/archivebox/config/__init__.py index c53c5eec..70b0fea8 100644 --- a/archivebox/config/__init__.py +++ b/archivebox/config/__init__.py @@ -62,6 +62,7 @@ CONFIG_DEFAULTS: Dict[str, ConfigDefaultDict] = { 'SERVER_CONFIG': { 'SECRET_KEY': {'type': str, 'default': None}, + 'BIND_ADDR': {'type': str, 'default': lambda c: ['127.0.0.1:8000', '0.0.0.0:8000'][c['IN_DOCKER']]}, 'ALLOWED_HOSTS': {'type': str, 'default': '*'}, 'DEBUG': {'type': bool, 'default': False}, 'PUBLIC_INDEX': {'type': bool, 'default': True}, diff --git a/archivebox/config/stubs.py b/archivebox/config/stubs.py index 68a442eb..0e984624 100644 --- a/archivebox/config/stubs.py +++ b/archivebox/config/stubs.py @@ -40,6 +40,7 @@ class ConfigDict(BaseConfig, total=False): URL_BLACKLIST: Optional[str] SECRET_KEY: str + BIND_ADDR: str ALLOWED_HOSTS: str DEBUG: bool PUBLIC_INDEX: bool