{"id":26267651,"url":"https://github.com/oslabs-beta/orcastration","last_synced_at":"2025-08-02T11:08:49.292Z","repository":{"id":65296203,"uuid":"581674434","full_name":"oslabs-beta/Orcastration","owner":"oslabs-beta","description":"A GUI designed to easily visualize Docker Swarm Nodes allowing developers to fully understand their swarm, containers, and images at all times.","archived":false,"fork":false,"pushed_at":"2023-01-26T15:01:32.000Z","size":449,"stargazers_count":58,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-30T19:09:52.084Z","etag":null,"topics":["chartjs","css","docker","dockerswarm","dockerswarm-monitoring","express","javascript","jest","node","react","tailwind"],"latest_commit_sha":null,"homepage":"https://orcastration.dev/","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/oslabs-beta.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":"2022-12-23T23:01:06.000Z","updated_at":"2024-11-28T15:41:45.000Z","dependencies_parsed_at":"2023-02-14T18:31:21.733Z","dependency_job_id":null,"html_url":"https://github.com/oslabs-beta/Orcastration","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oslabs-beta/Orcastration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FOrcastration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FOrcastration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FOrcastration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FOrcastration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oslabs-beta","download_url":"https://codeload.github.com/oslabs-beta/Orcastration/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FOrcastration/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268378806,"owners_count":24240896,"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-08-02T02:00:12.353Z","response_time":74,"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":["chartjs","css","docker","dockerswarm","dockerswarm-monitoring","express","javascript","jest","node","react","tailwind"],"created_at":"2025-03-14T04:17:41.511Z","updated_at":"2025-08-02T11:08:49.269Z","avatar_url":"https://github.com/oslabs-beta.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align='center' \u003e\n    \u003cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"app/assets/LOGO.png\" width='250'\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://orcastration.dev\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/website-orcastration-teal.svg\" /\u003e\n  \u003c/a\u003e\n  \u003cimg alt=\"license\" src=\"https://img.shields.io/badge/License-MIT-blue.svg\"\u003e\n  \u003cimg alt=\"last-commit\" src=\"https://img.shields.io/github/last-commit/oslabs-beta/orcastration?color=green\"\u003e\n\u003c/div\u003e\n\u003ch1 align='center'\u003eOrcastration\u003c/h1\u003e\n\u003cbr\u003e\n\u003cp\u003e\n    Orcastration is a Docker Swarm visualization tool, giving developers the power to view container metrics of their Docker Swarm with ease! A seamless and efficient GUI gives you insight to CPU usage, memory usage, NET I/O, and the health of each of your Docker swarm containers organized neatly by node and task. Say goodbye to clumsy and difficult to understand Docker CLI command outputs and say hello to Orcastration.\n\u003c/p\u003e\n\u003cbr\u003e\n\u003ch2\u003eHow it works\u003c/h2\u003e\n    \u003cp\u003e\n        Orcastration runs Docker CLI commands for you (out of sight and automatically) in order to retrieve Docker Swarm cluster information from the daemon. Data is then processed and graphs are generated in order to represent your various container metrics. Orcastration creates pie and line charts based on live-streamed data, so you can track your container's metrics in real-time. Orcastration also makes it easy to monitor the health and logs of your containers utilizing Docker Health Check. With the simple click of a button, get immediate feedback on the health status of your containers. \n    \u003c/p\u003e\n\u003ch2\u003eHow to use Orcastration\u003c/h2\u003e\n\u003cbr\u003e\n\u003ch3\u003eFirst:\u003c/h3\u003e\n\u003cpre\u003egit clone https://github.com/oslabs-beta/Orcastration.git\u003c/pre\u003e\n\n\u003cp\u003eClone this repository to your machine.\u003c/p\u003e\n\u003cbr\u003e\n\u003ch3\u003eNext:\u003c/h3\u003e\n\u003cbr\u003e\n\u003cpre\u003enpm install\u003c/pre\u003e\n\u003cp\u003eInstall dependencies in order to ensure proper app functionality.\u003c/p\u003e\n\u003cbr\u003e\n\u003ch3\u003eThen:\u003c/h3\u003e\n\u003cp\u003e\n    Confirm that your Docker Swarm and Docker Desktop are running. Verify that you are running Orcastration on the same machine that is hosting the manager node. The application must be running on the manager node’s machine in order to have the necessary access to the swarm's cluster management functionality.  Please be aware that Orcastration runs on port 8080 and 3000, so be mindful that none of your containers share these ports! Also, understand that the Docker Health Check feature will only function for Docker containers configured with Docker healthcheck in the Dockerfile or the Docker Compose file.\n    \u003cbr\u003e\n    \u003cp\u003eClick \u003ca style='color:lightblue'href='https://scoutapm.com/blog/how-to-use-docker-healthcheck'\u003ehere\u003c/a\u003e for more information on Docker Health Check. \n\u003c/p\u003e\n\u003cbr\u003e\n\u003ch3\u003eNext:\u003c/h3\u003e\n\u003cp\u003e\n    Orcastration utilizes a MongoDB database in order to efficiently serve your data. In order to ensure proper functionality, create a MongoDB database (click \u003ca style='color:lightblue'href='https://www.mongodb.com/basics/create-database'\u003ehere\u003c/a\u003e for more information on setup). Then, create an .env file in the root of the Orcastration codebase and set an environment variable of \n    \u003cbr\u003e\n    \u003cpre\u003eMONGO_URI\u003c/pre\u003e\n    to your newly created MongoDB URI. \u003cbr\u003e\u003cbr\u003eClick \u003ca style='color:lightblue'href='https://www.npmjs.com/package/dotenv-webpack'\u003ehere\u003c/a\u003e for more information on environment variables.\n    \u003cp\u003e\n\u003cbr\u003e\n\u003ch3\u003eFinally...\u003c/h3\u003e\n\u003cpre\u003enpm run dev\u003c/pre\u003e\n\u003cp\u003e\n    Run Orcastration and view your Docker Swarm metrics! (Note: if Orcastration does not run or you encounter errors, try restarting Docker Desktop!)\n\u003cp\u003e\n\u003cbr\u003e\n\u003ch2\u003eWant to contribute?\u003c/h2\u003e\n\u003cp\u003e\n    Submit a pull request or reach out to one of our team members directly (contact information listed below).\n\u003c/p\u003e\n\u003cbr\u003e\n\u003ch2\u003eEncounter a bug?\u003c/h2\u003e\n\u003cp\u003e\n    Let us know! Submit an issue with the following format and we'll address it as soon as possible. \n    \u003cbr\u003e\n    \u003cbr\u003e\n    \u003ch2 style='text-align:center'\u003eWhat is the bug?\u003c/h2\u003e\n    \u003ch2 style='text-align:center'\u003eHow can you replicate the bug (please include specific steps)?\u003c/h2\u003e\n    \u003ch2 style='text-align:center'\u003eWhat is the severity of this bug: high (impacts core functionality), mid (slightly impacts functionality, but app still remains usable), or low (an annoyance)?\u003c/h2\u003e\n\u003c/p\u003e\n\u003cbr\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\n    Danny Zheng\n    \u003ca href=\"https://www.linkedin.com/in/dannyzheng159\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/LinkedIn-0077B5?style=social\u0026logo=linkedin\" /\u003e\n    \u003c/a\u003e\n      \u003ca href=\"https://github.com/dannyzheng159\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Github-0077B5?style=social\u0026logo=github\" /\u003e\n    \u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    Andrew Hogan\n    \u003ca href=\"https://www.linkedin.com/in/andrewlallyhogan\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/LinkedIn-0077B5?style=social\u0026logo=linkedin\" /\u003e\n    \u003c/a\u003e\n      \u003ca href=\"https://github.com/andrewlallyhogan\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Github-0077B5?style=social\u0026logo=github\" /\u003e\n    \u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    Meimei Xiong\n    \u003ca href=\"https://www.linkedin.com/in/meimei-x-20085111/\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/LinkedIn-0077B5?style=social\u0026logo=linkedin\" /\u003e\n    \u003c/a\u003e\n      \u003ca href=\"https://github.com/meimeix01\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Github-0077B5?style=social\u0026logo=github\" /\u003e\n    \u003c/a\u003e\n  \u003c/li\u003e\n  \u003cli\u003e\n    Max Heubel\n    \u003ca href=\"http://www.linkedin.com/in/max-heubel\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/LinkedIn-0077B5?style=social\u0026logo=linkedin\" /\u003e\n    \u003c/a\u003e\n      \u003ca href=\"https://github.com/maxheubel\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Github-0077B5?style=social\u0026logo=github\" /\u003e\n    \u003c/a\u003e\n  \u003c/li\u003e\n    \u003cli\u003e\n    Juliana Morrelli\n    \u003ca href=\"https://www.linkedin.com/in/juliana-morrelli-71b407218/\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/LinkedIn-0077B5?style=social\u0026logo=linkedin\" /\u003e\n    \u003c/a\u003e\n      \u003ca href=\"https://github.com/juliana228\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Github-0077B5?style=social\u0026logo=github\" /\u003e\n    \u003c/a\u003e\n  \u003c/li\u003e\n\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Forcastration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foslabs-beta%2Forcastration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Forcastration/lists"}