{"id":13583162,"url":"https://github.com/apocas/docker-modem","last_synced_at":"2025-05-15T00:10:40.088Z","repository":{"id":501525,"uuid":"14841832","full_name":"apocas/docker-modem","owner":"apocas","description":"Docker Remote API network stack driver.","archived":false,"fork":false,"pushed_at":"2024-05-03T22:33:55.000Z","size":397,"stargazers_count":219,"open_issues_count":32,"forks_count":106,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-05-22T02:02:58.366Z","etag":null,"topics":["docker","dockerode","javascript","moby","node","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apocas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"apocas"}},"created_at":"2013-12-01T16:22:46.000Z","updated_at":"2024-06-18T12:20:20.695Z","dependencies_parsed_at":"2023-12-23T01:51:16.725Z","dependency_job_id":"f048477c-6b92-46da-822b-a8ec0a85217e","html_url":"https://github.com/apocas/docker-modem","commit_stats":{"total_commits":215,"total_committers":59,"mean_commits":"3.6440677966101696","dds":0.3767441860465116,"last_synced_commit":"e55461b7e821c49661e8410532bb46fc6d7fd212"},"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apocas%2Fdocker-modem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apocas%2Fdocker-modem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apocas%2Fdocker-modem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apocas%2Fdocker-modem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apocas","download_url":"https://codeload.github.com/apocas/docker-modem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248781329,"owners_count":21160706,"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","dockerode","javascript","moby","node","nodejs"],"created_at":"2024-08-01T15:03:17.570Z","updated_at":"2025-04-13T20:39:21.150Z","avatar_url":"https://github.com/apocas.png","language":"JavaScript","readme":"# docker-modem\n\n[Docker](https://www.docker.com/)'s Remote API network layer module.\n\n`docker-modem` will help you interacting with `Docker`, since it already implements all the network strategies needed to support all `Docker`'s Remote API endpoints.\n\nIt is the module powering (network wise) [dockerode](https://github.com/apocas/dockerode) and other modules.\n\n## Usage\n\n### Getting started\n\n``` js\nvar Modem = require('docker-modem');\nvar modem1 = new Modem({socketPath: '/var/run/docker.sock'});\nvar modem2 = new Modem(); //defaults to above if env variables are not used\nvar modem3 = new Modem({host: 'http://192.168.1.10', port: 3000});\nvar modem4 = new Modem({protocol:'http', host: '127.0.0.1', port: 3000});\nvar modem5 = new Modem({host: '127.0.0.1', port: 3000}); //defaults to http\n```\n\n### SSH\n\nYou can connect to the Docker daemon via SSH in two ways:\n\n* Using the built-in SSH agent.\n* Implement your own custom agent.\n\n``` js\n//built-in SSH agent\nvar modem1 = new Modem({\n  protocol: 'ssh',\n  host: 'ssh://127.0.0.1',\n  port: 22\n});\n\n//custom agent\nvar customAgent = myOwnSSHAgent({host: 'ssh://127.0.0.1', port: 22});\nvar modem2 = new Modem({\n  agent: customAgent,\n});\n```\n\n## Tests\n\n * Tests are implemented using `mocha` and `chai`. Run them with `npm test`.\n * Check [dockerode](https://github.com/apocas/dockerode) tests, which is indirectly co-testing `docker-modem`.\n\n## Sponsors\n\nAmazing entities that [sponsor](https://github.com/sponsors/apocas) my open-source work. Check them out!\n\n[![HTTP Toolkit](https://avatars.githubusercontent.com/u/39777515?s=100)](https://github.com/httptoolkit)\n\n## License\n\nPedro Dias - [@pedromdias](https://twitter.com/pedromdias)\n\nLicensed under the Apache license, version 2.0 (the \"license\"); You may not use this file except in compliance with the license. You may obtain a copy of the license at:\n\nhttp://www.apache.org/licenses/LICENSE-2.0.html\n\nUnless required by applicable law or agreed to in writing, software distributed under the license is distributed on an \"as is\" basis, without warranties or conditions of any kind, either express or implied. See the license for the specific language governing permissions and limitations under the license.\n","funding_links":["https://github.com/sponsors/apocas"],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapocas%2Fdocker-modem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapocas%2Fdocker-modem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapocas%2Fdocker-modem/lists"}