{"id":21973632,"url":"https://github.com/alash3al/droxy","last_synced_at":"2025-04-28T14:26:30.788Z","repository":{"id":57605577,"uuid":"67867365","full_name":"alash3al/droxy","owner":"alash3al","description":"a transparent standalone http reverse proxy for docker containers","archived":false,"fork":false,"pushed_at":"2017-06-10T14:09:46.000Z","size":14,"stargazers_count":45,"open_issues_count":0,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-30T10:33:22.950Z","etag":null,"topics":["docker","nginx","reverse-proxy"],"latest_commit_sha":null,"homepage":null,"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/alash3al.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":"2016-09-10T11:29:24.000Z","updated_at":"2023-05-12T16:45:04.000Z","dependencies_parsed_at":"2022-09-26T20:01:52.073Z","dependency_job_id":null,"html_url":"https://github.com/alash3al/droxy","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alash3al%2Fdroxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alash3al%2Fdroxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alash3al%2Fdroxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alash3al%2Fdroxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alash3al","download_url":"https://codeload.github.com/alash3al/droxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251328544,"owners_count":21571936,"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":["docker","nginx","reverse-proxy"],"created_at":"2024-11-29T15:33:45.580Z","updated_at":"2025-04-28T14:26:30.753Z","avatar_url":"https://github.com/alash3al.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Droxy\nA transparent standalone http reverse proxy for docker containers .\n\n# Download\n- [Goto releases](https://github.com/alash3al/droxy/releases/tag/v2.0).\n- Then open your `terminal` or `CMD` .\n\n# Usage\nTo run it, just run the downloaded binary as it !\n```bash\n# type ./droxy for linux or ./droxy.exe for windows\n$ ./droxy\n```\n\nThen You need to run any container(s), for examples, we will use the default nginx container.\n```bash\ndocker run --name service1 -v /var/www/:/usr/share/nginx/html:ro -d -p 8081:80 -e DROXY_HOST=service1.mysite.com -e DROXY_LETSENCRYPT=service1.mysite.com nginx\n```\nnow open `service1.mysite.com` which maps to your server's ip, you will see the nginx service .\n\n\nWhat is `DROXY_HOST` and `DROXY_LETSENCRYPT` ?\n- `DROXY_HOST` tells droxy to route all requests that match `DROXY_HOST` to this container . \n- `DROXY_LETSENCRYPT` tells droxy to enable auto ssl based on Let'sEncrypt for this container and that hostname .\n\n# Features\n- No Dependencies, just a small single binary ! .\n- Watches docker in realtime and add/remove containers from our own internal service discovery .\n- Automatically generate and renew SSL Certs for created containers .\n- Single and Multiple Hosts allowed for both `DROXY_HOST` and `DROXY_LETSENCRYPT`\n- You can specifiy whether to use `http` or `https` when connecting with the backend `DROXY_HOST=host1.com,https://host2.com`.\n- You can choose the backend port (docker private port) to be used for each hostname `DROXY_HOST=host1.com,host2.com:8080`\n- You can run multiple containers with the same hostname and droxy will use `roundrobin` to distribute the traffic between them .\n- You can use wildcards with hostnames for both `DROXY_HOST` and `DROXY_LETSENCRYPT`.\n- It caches Let'sEncrypt certs in the current working directory under `./droxy-certs/`, you can change when starting as following `./droxy --certs-dir=/path/to/custom/dir`.\n- You can change the default listening ports for both `80` and `443` `./droxy --http=:8080 --https=:44303`\n\n# Installing From Source\n```bash\n$ go get -u github.com/alash3al/droxy\n$ go install github.com/alash3al/droxy\n$ droxy --help\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falash3al%2Fdroxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falash3al%2Fdroxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falash3al%2Fdroxy/lists"}