{"id":26691032,"url":"https://github.com/matuszewski/dockdash","last_synced_at":"2026-04-09T06:46:27.185Z","repository":{"id":284562715,"uuid":"910933963","full_name":"matuszewski/dockdash","owner":"matuszewski","description":"Docker instances monitoring and container management web platform (diploma work, AHE Lodz)","archived":false,"fork":false,"pushed_at":"2025-09-26T16:28:15.000Z","size":6054,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-26T18:23:09.386Z","etag":null,"topics":["api","axios","bootstrap","container","containers","docker","docker-container","docker-image","express","express-js","expressjs","jsx","monitoring","mui","mui-material","node","react","reactjs","rest","rest-api"],"latest_commit_sha":null,"homepage":"","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/matuszewski.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-01T20:43:01.000Z","updated_at":"2025-09-26T16:20:02.000Z","dependencies_parsed_at":"2025-09-29T20:46:56.644Z","dependency_job_id":null,"html_url":"https://github.com/matuszewski/dockdash","commit_stats":null,"previous_names":["matuszewski/dockdash"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/matuszewski/dockdash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matuszewski%2Fdockdash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matuszewski%2Fdockdash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matuszewski%2Fdockdash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matuszewski%2Fdockdash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matuszewski","download_url":"https://codeload.github.com/matuszewski/dockdash/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matuszewski%2Fdockdash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017235,"owners_count":26086015,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["api","axios","bootstrap","container","containers","docker","docker-container","docker-image","express","express-js","expressjs","jsx","monitoring","mui","mui-material","node","react","reactjs","rest","rest-api"],"created_at":"2025-03-26T16:16:59.010Z","updated_at":"2025-10-13T23:12:56.140Z","avatar_url":"https://github.com/matuszewski.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dockdash\n**Dockdash** - Simple platform for managing and monitoring container infrastructure.\n\n*Project component of master's thesis*\n\n```text\nKrzysztof Matuszewski\nComputer Science, Master's degree, 2nd year, 3rd semester\nAHE 2024-2025\n```\n\n## Installation\nIf the platform source code files are not copied from the CD attached to the written thesis, they should be downloaded from the repository on the GitHub platform. To run both applications, Node.js runtime environment version 23.1.0 is required, on which the platform was tested. Other dependencies should be installed automatically after executing the appropriate commands mentioned later.\n\n```bash\ngit clone git@github.com:matuszewski/dockdash.git\n  cd dockdash/\n```\n\nIn case of missing SSL certificates and running the platform with HTTP protocol (by default), the following command must be executed before running, which will allow the use of the unsecured connection version.\n```bash\nexport NODE_OPTIONS=--openssl-legacy-provider\n```\n\n### Running the API server\n```bash\ncd dockdash/api-server/\n  npm install\n  npm run\n```\n\n### Running the web application\n```bash\ncd dockdash/web-server/\n  npm install\n  npm run\n```\n\n## Using the API server\n\nRetrieving the list of Docker instances available on the API server\n\n```bash\ncurl 127.0.0.1:4000/api/instances | jq\n```\n\nRetrieving the list with image data available on a specific Docker instance from the API server\n\n```bash\ncurl 127.0.0.1:4000/api/\u003cinstance\u003e/images | jq\n```\n\nRetrieving the list with container data available on a specific Docker instance from the API server\n\n```bash\ncurl 127.0.0.1:4000/api/\u003cinstance\u003e/containers | jq\n```\n\nRetrieving the list of resources available for a specific Docker instance from the API server\n\n```bash\ncurl 127.0.0.1:4000/api/\u003cinstance\u003e/resources | jq\n```\n\n**Note!** The _jq_ package is used for proper formatting of the received response and displaying it in the terminal in a user-friendly way\n\n\n## Known issues\nIf you encounter a problem not described in the thesis or in this README.md file, you can contact krzysiekmatuszewski@outlook.com\n\n## Dependencies\n\nBoth the api-server and web-server components use package.json files, which should properly define dependencies and not generate additional problems after running the installation command.\n```bash\nnpm install\n```\nHowever, if manual package installation is needed, it is usually sufficient to install missing ones, for example for the web-server:\n```bash\ncd web-server/\n  npm install @mui/material @emotion/react @emotion/styled\n  npm install @mui/icons-material\n  npm install react-copy-to-clipboard\n  npm install recharts\n  npm install \u003cother modules\u003e\n```\n\n\n## Useful Docker API commands\n\nRetrieving data about containers available on a given Docker instance\n\n```bash\ncurl -X GET http://127.0.0.1:2375/v1.41/containers/json | jq\n```\n\nRetrieving data about images available on a given Docker instance\n```bash\ncurl -X GET http://127.0.0.1:2375/v1.41/images/json | jq\n```\n\nRetrieving information about the Docker instance\n\n```bash\ncurl -X GET http://127.0.0.1:2375/v1.41/info | jq\n# jq is optional (only for pretty-printing JSON formatted data)\n```\n\n**Note!** When using Docker Desktop on macOS, the following command will enable TCP connection on port 2375 to execute commands using Docker API from outside the system.\n\n```bash\ndocker run -d \\\n  --name docker-api-proxy \\\n  -p 2375:2375 \\\n  -v /var/run/docker.sock:/var/run/docker.sock \\\n  alpine/socat \\\n  TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock\n```\n\nWhen the container has been stopped, we start it normally:\n\n```bash\ndocker start docker-api-proxy\n```\n\nAnd we can check if it worked and port 2375 is open:\n\n```bash\ncurl http://localhost:2375/version\n```\n\nExample commands for running test containers\n\n```bash\ndocker run -it -d --name test-alpine-2 alpine:3.21.3\ndocker run -it -d --name test-alpine-3 alpine:3.21.3\ndocker run -it -d --name test-node-2 node:current\n```\n\n\n## Notes\n\n- checking availability of a single Docker instance\n- checking availability of multiple Docker instances\n- colorful, labeled logs divided by message types (info/debug/success/failure)\n- log creation mechanism with event time - timestamp in user-friendly Polish date and time format\n- log creation mechanism extendable for future development having the name of the object creating logs - currently defaulting to 'api-server'\n- loading Docker instance configuration from JSON file\n- saving Docker instance configuration to JSON file\n- loading API server configuration from JSON file\n- debug mode changeable from configuration file level\n- verbosity mode changeable from configuration file level\n- ability to change API server port from configuration file level\n- good source code documentation with comments\n- source code along with comments in English\n- functions having descriptions in comments compliant with JSDoc format\n- code formatted using Prettier (3 spaces were used as separator)\n- timeout settings for individual actions can be set separately from configuration file level\n- API compliant with REST API principles\n- using Axios instead of Request package\n- added ASCII art as a banner with the Dockdash platform logo in the API server\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatuszewski%2Fdockdash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatuszewski%2Fdockdash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatuszewski%2Fdockdash/lists"}