{"id":22363121,"url":"https://github.com/lambdatest/docker-tunnel","last_synced_at":"2025-09-01T12:35:46.084Z","repository":{"id":51264122,"uuid":"260192097","full_name":"LambdaTest/docker-tunnel","owner":"LambdaTest","description":"Official docker image for LambdaTest tunnel","archived":false,"fork":false,"pushed_at":"2021-05-18T13:28:23.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-07T16:48:57.384Z","etag":null,"topics":["docker","lambdatest","local-testing","localhost","proxy","tunnel"],"latest_commit_sha":null,"homepage":"https://www.lambdatest.com/","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LambdaTest.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-30T11:22:39.000Z","updated_at":"2021-05-13T10:43:51.000Z","dependencies_parsed_at":"2022-09-07T18:40:15.233Z","dependency_job_id":null,"html_url":"https://github.com/LambdaTest/docker-tunnel","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LambdaTest/docker-tunnel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LambdaTest%2Fdocker-tunnel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LambdaTest%2Fdocker-tunnel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LambdaTest%2Fdocker-tunnel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LambdaTest%2Fdocker-tunnel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LambdaTest","download_url":"https://codeload.github.com/LambdaTest/docker-tunnel/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LambdaTest%2Fdocker-tunnel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273123063,"owners_count":25049716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","lambdatest","local-testing","localhost","proxy","tunnel"],"created_at":"2024-12-04T17:13:43.059Z","updated_at":"2025-09-01T12:35:46.060Z","avatar_url":"https://github.com/LambdaTest.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![LambdaTest Logo](https://www.lambdatest.com/static/images/logo.svg)\n\n## LambdaTest docker tunnel\n\nOfficial docker image for [LambdaTest](https://www.lambdatest.com/) tunnel.\n\n\u003e You need username and accesskey to connect lambdatest tunnel. If you already have an account you can visit [here](https://accounts.lambdatest.com/detail/profile) to fetch your credentails. If you haven't then please signup [here](https://accounts.lambdatest.com/register)\n\n### Usage\n\nThe entrypoint of the image is set to the tunnel binary with no extra arguments. Run the image without any arguments to see the help text.\n\nThis image supports all the tunnel modifier [flags available](https://www.lambdatest.com/support/docs/lambda-tunnel-modifiers/) in the tunnel command line binary, and passes them as it is to the entry point.\n\n#### Version\n\n```bash\ndocker run -it  lambdatest/tunnel:latest --version\n```\n\n#### Help\n\n```bash\ndocker run -it  lambdatest/tunnel:latest --help\n```\n\n#### Basic\n\n```bash\ndocker run -it --name lt lambdatest/tunnel:latest --user johndoe --key XXXXXXXXXXXX\n```\n\n#### Capturing logs in mounted volume on host machine\n\n```bash\ndocker run -it  -v /mydir:/logs lambdatest/tunnel:latest --user joendoe --key XXXXXXXX --logFile /logs/tunnel.log\n```\n\n#### Using info api on tunnel to fetch tunnel status and stop tunnel\n\n\u003e Info API will be available on the host over port 13001. `curl -X GET http://127.0.0.1:13001/api/v1.0/info` can be used to probe the tunnel status and `curl -X DELETE http://127.0.0.1:13001/api/v1.0/stop` to stop tunnel.\n\n```bash\ndocker run -it -p 13001:8000 lambdatest/tunnel:latest --user johndoe --key XXXXXXX  --infoAPIPort 8000\n```\n\n#### Using Proxy running on host machine at port 8082 having foo and bar as username and key\n\n```bash\ndocker run -it lambdatest/tunnel:latest --user johndoe --key XXXXXXX  --proxy-host host.docker.internal --proxy-port 8082 --proxy-user foo --proxy-pass bar\n```\n\n#### Using Proxy running on another docker container within same default bridge network\n\n\u003e Assuming the container in which proxy is running has IP 172.17.0.2. The IP can be found from inside of the container or by inspecting the network to which container is attached\n\n```bash\ndocker run -it lambdatest/tunnel:latest --user johndoe --key XXXXXXX  --proxy-host 172.17.0.2  --proxy-port 8082 --proxy-user foo --proxy-pass bar\n```\n\n#### Using Proxy running on another docker container within same `custom` bridge network\n\n\u003e When you create custom network, containers can reach each other using container names due to automatic service discovery. Assuming that `custom-network` already exists and container named proxy-service has a proxy server running\n\n```bash\ndocker run -it lambdatest/tunnel:latest --user johndoe --key XXXXXXX  --proxy-host proxy-service  --proxy-port 8082 --proxy-user foo --proxy-pass bar\n```\n\n## Development\n\n- Clone the repo from [github](https://github.com/LambdaTest/docker-tunnel)\n- run `docker build -t \u003cbuild name\u003e \u003ccloned directory\u003e`\n\n## Considerations when testing web applications running on the host machine\n\nBy default LambdaTest tunnel can no longer access webapps running on host machines or other docker containers using localhost or 127.0.0.1 when you run it using docker container. This means that the test scripts needs to be modified in the way they accesses the target webapp, according to the docker network topology and host operating system.\n\n### Linux\n\nOn linux, containers can run in a special network mode called `host`. This network mode makes the container use host's network stack and doesn't create an isolated one for the containers.\nRunning the following command makes tunnel container run with host networking and can access host's network. The test scripts can access services running on host machine using localhost\n\n```bash\ndocker run -it  --network host lambdatest/tunnel:latest --user johndoe --key XXXXXXXXXXXX\n```\n\n#### Mac and Windows\n\nUnfortunately, on both mac and windows, host networking mode is not available due to the implementation of docker machine. The recommended approach to access services on host machine is to use a special host name `host.docker.internal` which resolves to the host machine. You can find more details on these links: [mac](https://docs.docker.com/docker-for-mac/networking/), [windows](https://docs.docker.com/docker-for-windows/networking/)\nThe test scripts need to use this special hostname in order to access the webservices running on the host machine.\n\n\u003e The idomatic way of testing on docker infra is to create a custom bridge network and access services using their container names. This method works on all operating systems\n\n## About LambdaTest\n\n[LambdaTest](https://www.lambdatest.com/) is a cloud based selenium grid infrastructure that can help you run automated cross browser compatibility tests on 2000+ different browser and operating system environments. LambdaTest supports all programming languages and frameworks that are supported with Selenium, and have easy integrations with all popular CI/CD platforms. It's a perfect solution to bring your [selenium automation testing](https://www.lambdatest.com/selenium-automation) to cloud based infrastructure that not only helps you increase your test coverage over multiple desktop and mobile browsers, but also allows you to cut down your test execution time by running tests on parallel.\n\n## License\n\nLicensed under the [MIT license](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdatest%2Fdocker-tunnel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flambdatest%2Fdocker-tunnel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdatest%2Fdocker-tunnel/lists"}