{"id":50733487,"url":"https://github.com/monajemi-arman/computer-lab-manager","last_synced_at":"2026-06-10T11:01:46.728Z","repository":{"id":318896875,"uuid":"1073849201","full_name":"monajemi-arman/computer-lab-manager","owner":"monajemi-arman","description":"A united program for managing a Linux computer lab","archived":false,"fork":false,"pushed_at":"2025-11-29T13:10:26.000Z","size":1459,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-01T15:17:01.679Z","etag":null,"topics":["ansible","ansible-api","full-stack","javascript","linux-management","mongodb","mongoose","next-auth","nextjs","nodejs","orchestration","react","system-administration","system-administration-tools","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/monajemi-arman.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-10-10T18:03:01.000Z","updated_at":"2025-11-29T13:10:30.000Z","dependencies_parsed_at":"2025-10-17T04:24:42.440Z","dependency_job_id":"70d5e03a-3aa9-41f2-97bf-4e9e1df5b80c","html_url":"https://github.com/monajemi-arman/computer-lab-manager","commit_stats":null,"previous_names":["monajemi-arman/computer-lab-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/monajemi-arman/computer-lab-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monajemi-arman%2Fcomputer-lab-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monajemi-arman%2Fcomputer-lab-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monajemi-arman%2Fcomputer-lab-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monajemi-arman%2Fcomputer-lab-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monajemi-arman","download_url":"https://codeload.github.com/monajemi-arman/computer-lab-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monajemi-arman%2Fcomputer-lab-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34149132,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"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":["ansible","ansible-api","full-stack","javascript","linux-management","mongodb","mongoose","next-auth","nextjs","nodejs","orchestration","react","system-administration","system-administration-tools","typescript"],"created_at":"2026-06-10T11:01:45.485Z","updated_at":"2026-06-10T11:01:46.721Z","avatar_url":"https://github.com/monajemi-arman.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Computer Lab Manager\n\n## Overview\n\n![](./public/screenshot.png)\n\nComputer Lab Manager is an orchestration system designed to manage Linux computer labs and clusters. It solves the practical challenges of maintaining multiple systems while providing centralized control for synchronization, updates, and monitoring, not to mention extra features for users' ease of access!\n\n## 🛠 Core Features\n\n- **Centralized User Management**: Synchronize user accounts\n- **Automated System Updates**: Coordinate apt updates with centralized caching\n- **Remote Access**: Port forwarding management for computers behind NAT for remote connection\n- **Real-time Monitoring**: Monitoring for system health and metrics\n- **Configuration Management**: Ansible playbooks for consistent system setup\n- **S3 Local Cloud Storage Integration**: Users can upload files using S3-compatible object storage\n\n## 📖 Usage\n\n### Production\n* **Clone** this repository. Go to the directory.\n* Run `node create-env.js` to setup the environment.\n* Run `docker compose up` to start the app. Visit http://localhost\n\n### Development\nThis is only if you want to work on the code and develop the project.  \n* **Clone** this repository. Go to the directory.\n* Run `node create-env.js` to setup the environment.\n* Run `docker compose up mongo` in project base if you don't have a MongoDB server.\n* Install project required node modules by running `npm install`.\n* Running `npm run dev:all` will start the app and its services.\n\n\n## 🔮 Future Roadmap\n\n### Sparkling Integration\nIntegration with our existing [Sparkling](https://github.com/monajemi-arman/sparkling) project to enable:\n- Automated GPU-enabled Spark cluster deployment\n- Distributed AI training environment management\n- GPU resource allocation and monitoring for machine learning workloads\n\n## 💡 Learning Aspect\n\n*While this project addresses real operational needs, it also serves as a platform for exploring modern DevOps tools and practices that are valuable in today's infrastructure landscape.*\n\n---\n\n*Solving real lab management challenges with modern infrastructure tools*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonajemi-arman%2Fcomputer-lab-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonajemi-arman%2Fcomputer-lab-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonajemi-arman%2Fcomputer-lab-manager/lists"}