{"id":29715599,"url":"https://github.com/lixinyang123/cloudshell","last_synced_at":"2025-07-24T05:37:34.855Z","repository":{"id":46992448,"uuid":"277883022","full_name":"lixinyang123/CloudShell","owner":"lixinyang123","description":"CloudShell is an out-of-the-box online Linux environment 💻","archived":false,"fork":false,"pushed_at":"2025-07-09T18:54:04.000Z","size":572,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-10T03:47:16.528Z","etag":null,"topics":["docker","linux","nginx","nodejs"],"latest_commit_sha":null,"homepage":"https://www.conchbrain.club/#cloudshell","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/lixinyang123.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}},"created_at":"2020-07-07T17:39:02.000Z","updated_at":"2025-07-09T18:54:06.000Z","dependencies_parsed_at":"2023-12-14T12:28:50.214Z","dependency_job_id":"ca06fe3d-85fe-40d4-a82e-92f9d1acc9fe","html_url":"https://github.com/lixinyang123/CloudShell","commit_stats":null,"previous_names":["lixinyang123/cloudshell"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/lixinyang123/CloudShell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lixinyang123%2FCloudShell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lixinyang123%2FCloudShell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lixinyang123%2FCloudShell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lixinyang123%2FCloudShell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lixinyang123","download_url":"https://codeload.github.com/lixinyang123/CloudShell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lixinyang123%2FCloudShell/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266796971,"owners_count":23985515,"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-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["docker","linux","nginx","nodejs"],"created_at":"2025-07-24T05:37:33.020Z","updated_at":"2025-07-24T05:37:34.841Z","avatar_url":"https://github.com/lixinyang123.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CloudShell\n\nCloudShell is an out-of-the-box online Linux environment that supports nine commonly used Linux distributions.  It comes with basic tools such as curl, ssh, spacevim, starship, git, tmux, and integrates development environments such as Nodejs, Python, .NET, OpenJDK, PHP, and Go.\n\n![CloudShell](https://github.com/ConchBrainClub/CloudShell/workflows/CloudShell/badge.svg)\n\n\u003cdiv style=\"display:flex; width: 100%;\"\u003e\n    \u003cimg src=\"https://corehome.oss-accelerate.aliyuncs.com/blogs/screencapture-180-76-232-34-1599031047847.png\" /\u003e\n    \u003cimg style=\"width: 46%;\" src=\"https://github.com/ConchbrainClub/CloudShell/assets/32838371/c4cb43c5-1706-4a79-a7aa-e30cdae9dd87\" /\u003e\n    \u003cimg style=\"width: 53%; height: 100%;\" src=\"https://github.com/ConchbrainClub/CloudShell/assets/32838371/8b3d8ce1-7add-472a-9088-f49cebd6b4d8\" /\u003e\n\u003c/div\u003e\n\n## Build from source code\n\n#### Environment\n\n- Node.js\n- Nginx\n- Docker\n- Docker-Compose\n\n#### Debug\n\nFirst, make sure you have prepared the above environment\n\n```shell\nnpm start\n```\n\nor\n\n```shell\nnode ./src/main.js\n```\n\n\u003e Note: The project dynamically modifies the nginx configuration, so it is recommended to debug in the development environment.\nThe default will modify the file **/etc/nginx/sites-enabled/default**.\n\n**If the server is running, it is recommended to use Docker images to run it, otherwise it may affect your ability to proxy other projects**\n\n#### Build Docker Image\n\nClone the repo\n\n```shell\ngit clone https://github.com/ConchBrainClub/CloudShell.git\n```\n\nEnter the container directory and build the user container image\n\n```shell\ncd ./container\nbash ./build.sh\n```\n\nIf you don't want to rebuild, you can also directly pull the user container image from Alibaba Cloud ECR\n\n```shell\nbash ./aliyun.sh\n```\n\nBuild CloudShell image\n\n```shell\ncd ..\ndocker build . --file Dockerfile --tag lixinyang/cloudshell:latest\n```\n\nstartup\n\n```shell\ndocker-compose up\n```\n\nvisit  http://localhost/\n\n## Deploy on server\n\nFirst, make sure that Docker and Docker-Compose are installed on your server.\n\nCreate a docker-compose.yml file and write the following content.\n\n```yaml\nversion: '3.4'\n\nservices:\n\n    cloudshell:\n        image: lixinyang/cloudshell\n        ports:\n            - \"80:80\"\n        restart: always\n        volumes:\n            - /usr/bin/docker:/usr/bin/docker\n            - /var/run/docker.sock:/var/run/docker.sock\n        user: root\n```\n\nPull image from Alibaba Cloud. ** Follow the script below to pull the image from Alibaba Cloud**.\n\n- assets/pull-images.sh\n\n```shell\nimages=(latest ubuntu centos debian alpine archlinux kali fedora opensuse)\n\nfor item in ${images[@]};\ndo\n    echo docker pull cloudshell:${item}\n    docker pull registry.cn-shenzhen.aliyuncs.com/lllxy/cloudshell:${item}\n    docker tag registry.cn-shenzhen.aliyuncs.com/lllxy/cloudshell:${item} lixinyang/cloudshell:${item}\n    docker rmi registry.cn-shenzhen.aliyuncs.com/lllxy/cloudshell:${item}\ndone\n\ndocker images  | grep none | awk '{print $3}' | xargs docker rmi\necho \"Pull image from Aliyun was successful!\"\n```\n\nAfter pull image complete, execute **docker-compose up** and then visit http://localhost/.\n\nFor port forwarding function, see [this blog](https://www.lllxy.net/Blog/Detail/5b897c13-fd96-4392-bd58-ed619d9e876d)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flixinyang123%2Fcloudshell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flixinyang123%2Fcloudshell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flixinyang123%2Fcloudshell/lists"}