async def local_hub_local_binder(request):
    """
    Set up a local docker based binder based on testing/local-binder-local-hub

    Requires docker to be installed and available
    """
    port = random_port()
    proc = subprocess.Popen(
        [
            sys.executable,
            "-m",
            "jupyterhub",
            "--config",
            "testing/local-binder-local-hub/jupyterhub_config.py",
            f"--port={port}",
        ]
    )

    url = f"http://127.0.0.1:{port}/services/binder/"
    for i in range(10):
        try:
            resp = await async_requests.get(url)
            if resp.status_code == 200:
                break
        except requests.exceptions.ConnectionError:
            pass
        time.sleep(1)
    yield url

    proc.terminate()
    proc.wait()

    Set up a local docker based binder based on testing/local-binder-local-hub

    Requires docker to be installed and available
    
integration-tests/test_ui.py