{"id":13416346,"url":"https://github.com/lirantal/dockly","last_synced_at":"2025-05-13T00:16:09.245Z","repository":{"id":37720470,"uuid":"71667498","full_name":"lirantal/dockly","owner":"lirantal","description":"Immersive terminal interface for managing docker containers and services","archived":false,"fork":false,"pushed_at":"2025-04-27T17:14:54.000Z","size":6743,"stargazers_count":3906,"open_issues_count":4,"forks_count":161,"subscribers_count":43,"default_branch":"main","last_synced_at":"2025-05-13T00:15:54.083Z","etag":null,"topics":["cli","command-line-tool","console","containers","docker","hacktoberfest","nodejs"],"latest_commit_sha":null,"homepage":"https://lirantal.github.io/dockly/","language":"JavaScript","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/lirantal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-10-22T21:47:48.000Z","updated_at":"2025-05-12T21:36:45.000Z","dependencies_parsed_at":"2024-03-22T22:30:21.848Z","dependency_job_id":"068cdb14-6654-4662-8f6b-ae07e531df97","html_url":"https://github.com/lirantal/dockly","commit_stats":{"total_commits":277,"total_committers":26,"mean_commits":"10.653846153846153","dds":0.2382671480144405,"last_synced_commit":"0b08a0474dcb58246cc1fd98ff5c72a60f2b3ad4"},"previous_names":[],"tags_count":68,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lirantal%2Fdockly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lirantal%2Fdockly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lirantal%2Fdockly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lirantal%2Fdockly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lirantal","download_url":"https://codeload.github.com/lirantal/dockly/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253843225,"owners_count":21972874,"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":["cli","command-line-tool","console","containers","docker","hacktoberfest","nodejs"],"created_at":"2024-07-30T21:00:57.455Z","updated_at":"2025-05-13T00:16:08.982Z","avatar_url":"https://github.com/lirantal.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Container Operations","Development","Uncategorized","Projects by main language","User Interfaces","CLI Tools","Tools and Plugins","nodejs","cli","\u003ca name=\"vm\"\u003e\u003c/a\u003eContainerization and virtualization","🛠️ Developer Tools","Built with blessed","Table of Contents"],"sub_categories":["User Interface","Docker","Uncategorized","javascript","Terminal","Devops","Windows"],"readme":"\u003cp align=\"center\"\u003e\n\t\u003cbr\u003e\n  \u003cimg width=\"200\" src=\"https://user-images.githubusercontent.com/316371/28937414-67ee5ffa-7893-11e7-95f9-5059cacf9170.png\"\u003e\n\t\u003cbr\u003e\n Immersive terminal interface for managing docker containers, services and images\n\u003c/p\u003e\n\n\n[![Node Version](https://img.shields.io/badge/node-%3E=7.6.0-brightgreen.svg)]()\n[![view on npm](http://img.shields.io/npm/v/dockly.svg)](https://www.npmjs.org/package/dockly)\n[![view on npm](http://img.shields.io/npm/l/dockly.svg)](https://www.npmjs.org/package/dockly)\n[![npm module downloads](http://img.shields.io/npm/dt/dockly.svg)](https://www.npmjs.org/package/dockly)\n[![Security Responsible Disclosure](https://img.shields.io/badge/Security-Responsible%20Disclosure-yellow.svg)](./SECURITY.md\n)\n[![dockly](https://snyk.io/advisor/npm-package/dockly/badge.svg)](https://snyk.io/advisor/npm-package/dockly)\n\nDockly has been highlighted, featured and chosen as favorite docker container management tool on:\n\n[![Awesome Docker](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/veggiemonk/awesome-docker) [![DevOps Weekly](https://img.shields.io/badge/DevOpsWeekly-%F0%9F%95%B6-yellow.svg\n)](http://devopsweekly.com) \n[![terminals are sexy](https://img.shields.io/badge/TerminalsAreSexy-%F0%9F%92%BB-green.svg\n)](https://github.com/k4m4/terminals-are-sexy) [![Programmer's Weekly](https://img.shields.io/badge/ProgrammersWeekly-%F0%9F%95%B6-purple.svg\n)](https://mailchi.mp/programmerweekly/programmer-weekly-issue-94?e=e8c11d0390) [![Console.dev](https://img.shields.io/badge/ConsoleDotDev-%F0%9F%95%B6-blue.svg\n)](https://console.dev/tools/)\n\n\u003ca href=\"https://console.dev\" title=\"Visit Console - the best tools for developers\"\u003e\u003cimg src=\"https://console.dev/img/badges/1.0/png/console-badge-pick-green1-dark.png\" alt=\"Console - Developer Tool of the Week\" /\u003e\u003c/a\u003e\n\n![dockly-demo-2](https://cloud.githubusercontent.com/assets/316371/25682867/c5212216-3027-11e7-8f36-72d38516d2af.gif)\n\n# Install\nInstall the API module as a dependency in your project so you can easily use it to query Operations Orchestration REST API\n\n```javascript\nnpm install -g dockly\n```\n\n# Usage\n\nJust fire up dockly and it will automatically connect to your localhost docker daemon through the unix socket:\n\n```\ndockly\n```\n\n## Command line options:\n\nIt's also possible to provide command line options for dockly to customize the docker connection\n\n| Param | Type | Description |\n| --- | --- | --- |\n| -s or --socketPath | string | Docker socket to connect to |\n| -H or --host | string | Remote docker daemon host to connect to |\n| -P or --port | string | Remote docker port to connect to  |\n| -T or --protocol | `http` \\| `https` \\| `ssh` | Remote docker protocol to connect to |\n| --containerFilters | string | String to apply to filter shown containers |\n| -h or --help | null | Display help |\n| -v or --version | null | Display version information |\n\n### `--containerFilters`\n\nThis is a string that could be used to filter the shown containers;\nits format is in the x-www-form-urlencoded style and the filters you could apply are listed here: [https://docs.docker.com/engine/api/v1.37/#operation/ContainerList](https://docs.docker.com/engine/api/v1.37/#operation/ContainerList)\n\nExample: `--containerFilters=\"name=test\u0026status=running\"` to only show *running* container which name match *test*.\n\n# Docker Support\n\n## Run from docker\n\nYou can run dockly using docker:\n\n```\ndocker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock lirantal/dockly\n```\n\n\n## Build\n\nIf you wish to build dockly as a docker image yourself, you can run the following:\n\n```\n$ docker build -t dockly .\n\n$ docker run -it --rm --name dockly -v /var/run/docker.sock:/var/run/docker.sock dockly\n```\n\n# FAQ\n\n1. Unsupported Node.js version\n\nIf you're getting the following error in your CLI:\n```\nroot@neo:~# dockly\n/usr/local/lib/node_modules/dockly/src/screen.js:36\nconstructor (utils = new Map()) {\n^\n\nSyntaxError: Unexpected token =\nat exports.runInThisContext (vm.js:53:16)\nat Module._compile (module.js:374:25)\n```\n\nOr this kind of error:\n```\nTrace: TypeError: Object.values is not a function                                                                                                            \n    at screen.toggleMode (/home/vokiel/.nvm/versions/node/v6.11.1/lib/node_modules/dockly/src/screen.js:149:35)\n    at Screen.screen.key (/home/vokiel/.nvm/versions/node/v6.11.1/lib/node_modules/dockly/src/screen.js:190:12)\n    at Screen.EventEmitter._emit\n    (/home/vokiel/.nvm/versions/node/v6.11.1/lib/node_modules/dockly/node_modules/blessed/lib/events.js:98:20)\n```\n\nThis is most likely because you're using an unsupported Node.js version.\nDockly requires Node.js v7.6 and above\n\n2. PuTTY displays garbled text\n\nFollow the steps [in this comment](https://github.com/lirantal/dockly/issues/50#issuecomment-536190949) to enable VT100 support on the settings for the window\n\n3. Icons not working properly \n\nset `LANG` and `LC_ALL` to c.UTF-8 like so\n```bash\nexport LANG=C.UTF-8\nexport LC_ALL=C.UTF-8\n```\nfor more info please see [this issue](https://github.com/yaronn/blessed-contrib/issues/111)\n\n## Alternatives\n\nSee [Awesome Docker list](https://github.com/veggiemonk/awesome-docker/blob/master/README.md#terminal) for similar tools to work with Docker.\n\n# In the news\n\n- Admin Magazine article: [Visualizing containers with clarity\n](https://www.admin-magazine.com/Articles/Visualizing-containers-with-clarity)\n- [A learnk8s tweet](https://twitter.com/learnk8s/status/1075677503782563840)\n- [Dockly – Manage Docker Containers From Terminal](https://ostechnix.com/dockly-manage-docker-containers-from-terminal/)\n- [Clever cloud CEO, Quentin Adam, tweeting about dockly](https://twitter.com/waxzce/status/1123886351924043777)\n\n# Author\nLiran Tal \u003cliran.tal@gmail.com\u003e\n\n\u003chr/\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://nodejs-security.com\"\u003e\n      \u003cimg alt=\"Node.js Security\" align=\"center\" src=\"https://img.shields.io/badge/%F0%9F%A6%84-Learn%20Node.js%20Security%E2%86%92-gray.svg?colorA=5734F5\u0026colorB=5734F5\u0026style=flat\" /\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n  \n  ![Screenshot 2024-09-12 at 20 08 07](https://github.com/user-attachments/assets/970a97fd-16bd-4b3c-b535-ae7445b52d4c)\n\n  \u003cp\u003e\n    Learn Node.js Secure Coding techniques and best practices from \u003ca href=\"https://www.lirantal.com\"\u003eLiran Tal\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flirantal%2Fdockly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flirantal%2Fdockly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flirantal%2Fdockly/lists"}