{"id":13574255,"url":"https://github.com/tarampampam/indocker-app","last_synced_at":"2025-08-07T09:09:45.881Z","repository":{"id":65714824,"uuid":"596894741","full_name":"tarampampam/indocker-app","owner":"tarampampam","description":"💥 Domain names with valid SSL for your local docker containers","archived":false,"fork":false,"pushed_at":"2025-04-06T02:05:24.000Z","size":738,"stargazers_count":37,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T03:19:15.099Z","etag":null,"topics":["developer-tools","development","docker","domains","local","resolver","ssl","traefik"],"latest_commit_sha":null,"homepage":"https://indocker.app","language":"Go","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/tarampampam.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-03T06:48:09.000Z","updated_at":"2025-04-06T02:05:27.000Z","dependencies_parsed_at":"2024-01-01T17:29:00.673Z","dependency_job_id":"59f6d08d-1eea-4998-b238-01edf533a819","html_url":"https://github.com/tarampampam/indocker-app","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarampampam%2Findocker-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarampampam%2Findocker-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarampampam%2Findocker-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarampampam%2Findocker-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tarampampam","download_url":"https://codeload.github.com/tarampampam/indocker-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248945810,"owners_count":21187392,"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","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":["developer-tools","development","docker","domains","local","resolver","ssl","traefik"],"created_at":"2024-08-01T15:00:48.944Z","updated_at":"2025-04-14T19:33:19.812Z","avatar_url":"https://github.com/tarampampam.png","language":"Go","readme":"\u003cdiv align=\"center\"\u003e\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://socialify.git.ci/tarampampam/indocker-app/image?description=1\u0026font=Raleway\u0026forks=1\u0026issues=1\u0026owner=1\u0026pulls=1\u0026pattern=Solid\u0026stargazers=1\u0026theme=Dark\"\u003e\n  \u003cimg src=\"https://socialify.git.ci/tarampampam/indocker-app/image?description=1\u0026font=Raleway\u0026forks=1\u0026issues=1\u0026owner=1\u0026pulls=1\u0026pattern=Solid\u0026stargazers=1\"\u003e\n\u003c/picture\u003e\n\n[![tests][badge-tests]][actions]\n[![release][badge-release]][actions]\n[![docker][badge-docker]][quay]\n[![license][badge-license]][license]\n\u003c/div\u003e\n\n[badge-tests]:https://img.shields.io/github/actions/workflow/status/tarampampam/indocker-app/tests.yml?branch=master\u0026maxAge=30\u0026label=tests\u0026logo=github\u0026style=flat-square\n[badge-release]:https://img.shields.io/github/actions/workflow/status/tarampampam/indocker-app/release.yml?maxAge=30\u0026label=release\u0026logo=github\u0026style=flat-square\n[badge-docker]:https://shields.io/static/v1?label=Docker%20image\u0026message=quay.io%2Findocker%2Fapp\u0026color=blue\u0026style=flat-square\n[badge-license]:https://img.shields.io/github/license/tarampampam/indocker-app.svg?maxAge=30\u0026style=flat-square\n\n\u003e [!INFO]\n\u003e This project was previously called `localhost.tools`.\n\nOne time, you may want to run Docker containers locally and interact with them using domain names instead of\n`127.0.0.1:1234`, for example. Additionally, you may want to use the HTTPS protocol. That’s what this project\naims to provide.\n\n\u003e [!WARNING]\n\u003e This project is under development and may not work as expected. For instance, the current implementation does\n\u003e not support WebSockets, gRPC, or other connection types - only HTTP/HTTPS is supported.\n\n## How does it work?\n\nTechnically, this project is a simple reverse proxy server. It listens to all incoming requests to domains\nlike `*.indocker.app` and forwards them to the corresponding Docker containers running on your local machine.\nTo make this work, I've registered the domain `indocker.app` and configured it so any subdomain points to your\nlocal machine (`127.0.0.1` for IPv4 and `::1` for IPv6):\n\n```bash\n$ dig +noall +answer -t A foo.indocker.app # IPv4\nfoo.indocker.app.\t7131\tIN\tA\t127.0.0.1\n\n$ dig +noall +answer -t AAAA foo.indocker.app # IPv6\nfoo.indocker.app.\t86400\tIN\tAAAA\t::1\n\n$ dig +noall +answer foo.bar.baz.indocker.app # any depth\nfoo.bar.baz.indocker.app. 86400\tIN\tA\t127.0.0.1\n```\n\nThis eliminates the need for modifying the `hosts` file or using additional software to resolve domain names locally.\nAll you need to do is run the indocker app and configure your Docker containers to be accessible via domain names\nusing **Docker labels**.\n\nHere’s an example of how the routing works:\n\n- You send an HTTP request to `https://foo.indocker.app`\n- `foo.indocker.app` resolves to `127.0.0.1` (your local machine)\n- The indocker app on your local machine (listening on ports 443 and 80) receives the request and forwards it to\n  the appropriate Docker container based on the domain name\n\n\u003e [!INFO]\n\u003e More examples can be found in the [examples](examples) directory.\n\n## What about HTTPS?\n\nTo enable HTTPS, I’ve generated a wildcard SSL certificate for the `*.indocker.app` domain, signed by\n[Let's Encrypt][letsencrypt]. The indocker app uses this certificate to encrypt all incoming requests.\n\nThe certificate is automatically renewed periodically, and the app downloads it each time it starts, so you don’t\nneed to worry about managing it.\n\n[letsencrypt]: https://letsencrypt.org/\n\n### License\n\nThis is open-sourced software licensed under the [MIT License][license].\n\n[license]:https://github.com/tarampampam/indocker-app/blob/master/LICENSE\n\n[actions]:https://github.com/tarampampam/indocker-app/actions\n[quay]:https://quay.io/indocker/app\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarampampam%2Findocker-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftarampampam%2Findocker-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarampampam%2Findocker-app/lists"}