docs: def add_shared_configs(p, base_dir=''):
      """Add configargparser/argparse configs for shared argument.
  
      Arguments:
          p - configargparse.ArgParser object
          base_dir - base directory for file/path defaults.
      """
      p.add('--host', default='localhost',
            help="Service host")
      p.add('--port', '-p', type=int, default=8000,
            help="Service port")
      p.add('--app-host', default=None,
            help="Local application host for reverse proxy deployment, "
                 "as opposed to service --host (must also specify --app-port)")
      p.add('--app-port', type=int, default=None,
            help="Local application port for reverse proxy deployment, "
                 "as opposed to service --port (must also specify --app-host)")
      p.add('--image-dir', '-d', default=os.path.join(base_dir, 'testimages'),
            help="Image file directory")
      p.add('--generator-dir', default=os.path.join(base_dir, 'iiif/generators'),
            help="Generator directory for manipulator='gen'")
      p.add('--tile-height', type=int, default=512,
            help="Tile height")
      p.add('--tile-width', type=int, default=512,
            help="Tile width")
      p.add('--gauth-client-secret', default=os.path.join(base_dir, 'client_secret.json'),
            help="Name of file with Google auth client secret")
      p.add('--include-osd', action='store_true',
            help="Include a page with OpenSeadragon for each source")
      p.add('--access-cookie-lifetime', type=int, default=3600,
            help="Set access cookie lifetime for authenticated access in seconds")
      p.add('--access-token-lifetime', type=int, default=10,
            help="Set access token lifetime for authenticated access in seconds")
      p.add('--config', is_config_file=True, default=None,
            help='Read config from given file path')
      p.add('--debug', action='store_true',
            help="Set debug mode for web application. INSECURE!")
      p.add('--verbose', '-v', action='store_true',
            help="Be verbose")
      p.add('--quiet', '-q', action='store_true',
            help="Minimal output only")