{"id":19707577,"url":"https://github.com/cailloumajor/docker-socket-proxy","last_synced_at":"2026-02-11T08:15:01.574Z","repository":{"id":154124317,"uuid":"631847261","full_name":"cailloumajor/docker-socket-proxy","owner":"cailloumajor","description":"Exposes a Docker HTTP endpoint that filters and proxies requests to Docker socket","archived":false,"fork":false,"pushed_at":"2025-07-10T07:16:29.000Z","size":206,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-10T15:59:29.175Z","etag":null,"topics":["docker","docker-api","docker-image","golang","unix-socket"],"latest_commit_sha":null,"homepage":"","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/cailloumajor.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-24T07:28:46.000Z","updated_at":"2025-07-10T07:16:19.000Z","dependencies_parsed_at":"2023-11-07T05:06:29.358Z","dependency_job_id":"7f71e993-5162-48f5-bb21-08b7760fa579","html_url":"https://github.com/cailloumajor/docker-socket-proxy","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/cailloumajor/docker-socket-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cailloumajor%2Fdocker-socket-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cailloumajor%2Fdocker-socket-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cailloumajor%2Fdocker-socket-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cailloumajor%2Fdocker-socket-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cailloumajor","download_url":"https://codeload.github.com/cailloumajor/docker-socket-proxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cailloumajor%2Fdocker-socket-proxy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265481984,"owners_count":23773982,"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","docker-api","docker-image","golang","unix-socket"],"created_at":"2024-11-11T21:39:17.571Z","updated_at":"2026-02-11T08:15:01.516Z","avatar_url":"https://github.com/cailloumajor.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker socket proxy\n\nExposes a Docker HTTP endpoint that filters and proxies requests to Docker socket.\n\nThe intended use of this service is to expose Docker API to other containers without giving them access to the Docker socket. The API is exposed on a listening TCP port.\n\n## Goals\n\n* Run as unprivileged as possible (non-root user);\n* Packaged in a Docker image without shell;\n* Lightweight, only code for required features.\n\n## Configuration file\n\nThe configuration is provided as a [TOML](https://toml.io) file, whose path must be given to the according program argument (see below). The file contains following elements.\n\n### Allowing filters (`allow_filters` key)\n\nAn array of objects describing the filters that allow requests to pass through. The first matching filter will allow the request, if no filter matches, the request is blocked (returns a HTTP 403 code to the client).\n\nEach filter object is composed as follows, the request must match all of the filter components to be allowed.\n\n| Key      | Value type | Description                           |\n| -------- | ---------- | ------------------------------------- |\n| `method` | string     | The method to match (case sensitive). |\n| `path`   | string     | A path pattern (see below).           |\n\n[Path patterns][patterns] are matched using [`doublestar.Match`][doublestar-match].\n\n#### Notes\n\n* Requests with `HEAD` method are always allowed;\n* API versioning prefix will be removed from the request path before matching, so path patterns must omit it.\n\n[doublestar-match]: https://pkg.go.dev/github.com/bmatcuk/doublestar/v4#Match\n[patterns]: https://github.com/bmatcuk/doublestar#patterns\n\n## Usage\n\nThis service is provided as a Docker image, arguments can be provided by environment variables.\n\n```ShellSession\n$ docker-socket-proxy -help\nUSAGE\n  docker-socket-proxy [options]\n\nOPTIONS\n  Flag          Env Var      Description\n  -api-listen   API_LISTEN   Listen address (default: 127.0.0.1:2375)\n  -config-file  CONFIG_FILE  Path to the TOML configuration file\n  -socket-file  SOCKET_FILE  Path to the Docker socket file (default: /var/run/docker.sock)\n  -verbose                   Be more verbose (default: false)\n  -version                   Print version information and exit (default: false)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcailloumajor%2Fdocker-socket-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcailloumajor%2Fdocker-socket-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcailloumajor%2Fdocker-socket-proxy/lists"}