{"id":13815695,"url":"https://github.com/tinyclub/cloud-lab","last_synced_at":"2025-04-07T14:15:02.312Z","repository":{"id":40531726,"uuid":"71002928","full_name":"tinyclub/cloud-lab","owner":"tinyclub","description":"Docker based Cloud Lab Center, with noVNC and Gateone attachable LXDE Desktop and SSH Terminal. 本项目作者发布了《360° 剖析 Linux ELF》视频课程，欢迎订阅：https://www.cctalk.com/m/group/88089283","archived":false,"fork":false,"pushed_at":"2024-09-13T16:17:16.000Z","size":4900,"stargazers_count":209,"open_issues_count":1,"forks_count":73,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-03-31T12:05:09.983Z","etag":null,"topics":["docker","gateone","lab-center","labs","lxde","novnc","ssh"],"latest_commit_sha":null,"homepage":"http://tinylab.org/cloud-lab","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tinyclub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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}},"created_at":"2016-10-15T17:30:37.000Z","updated_at":"2025-02-24T00:21:20.000Z","dependencies_parsed_at":"2023-12-31T18:24:41.918Z","dependency_job_id":"ef704443-704f-4903-9477-82803395341c","html_url":"https://github.com/tinyclub/cloud-lab","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinyclub%2Fcloud-lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinyclub%2Fcloud-lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinyclub%2Fcloud-lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinyclub%2Fcloud-lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tinyclub","download_url":"https://codeload.github.com/tinyclub/cloud-lab/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247666015,"owners_count":20975788,"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":["docker","gateone","lab-center","labs","lxde","novnc","ssh"],"created_at":"2024-08-04T04:03:54.453Z","updated_at":"2025-04-07T14:15:02.289Z","avatar_url":"https://github.com/tinyclub.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"**Subscribe Wechat, Learn Project Status**：\n![Wechat Public](images/tinylab-wechat.jpg)\n\n# Cloud Lab\n\n[Cloud Lab][003] is a Docker based online lab center, it integrates many popular computer\nscience courses and provides a Docker based experiment environment as-is.\n\nCloud Lab is open source with no warranty – use at your own risk.\n\n## Quickstart\n\nIf really a Linux newbie or simply don't want to spend time on boring installation, buy the instant [Linux Lab Disk](https://shop155917374.taobao.com).\n\n### Install docker\n\nCload Lab is docker based, please make sure docker environment is installed with [Docker CE][001], Docker CE support Mac, Windows, Ubuntu, Debian, Fedora, CentOS, Azure and AWS, we have tested Cloud Lab with Docker CE in Ubuntu and Mac.\n\nThe old install method for Windows and Mac OSX is [Docker Toolbox][002].\n\n### Configure docker\n\nIn order to run docker without password, please make sure your user is added in the docker group:\n\n    $ sudo usermod -aG docker $USER\n\nIn order to speedup docker images downloading, please configure a local docker mirror in `/etc/default/docker`, for example:\n\n    $ grep registry-mirror /etc/default/docker\n    DOCKER_OPTS=\"$DOCKER_OPTS --registry-mirror=https://docker.mirrors.ustc.edu.cn\"\n    $ service docker restart\n\nIn order to avoid network ip address conflict, please try following changes and restart docker:\n\n    $ grep bip /etc/default/docker\n    DOCKER_OPTS=\"$DOCKER_OPTS --bip=10.66.0.10/16\"\n    $ service docker restart\n\nIf the above changes not work, try something as following:\n\n    $ grep dockerd /lib/systemd/system/docker.service\n    ExecStart=/usr/bin/dockerd -H fd:// --bip=10.66.0.10/16 --registry-mirror=https://docker.mirrors.ustc.edu.cn\n    $ service docker restart\n\nIf installed via Docker Toolbox, to access the Lab page, we must get and use the `eth1` ip address, just replace 'localhost' with this ip in the Lab page url:\n\n    $ ifconfig eth1 | grep 'inet addr' | tr -s ' ' | tr ':' ' ' | cut -d' ' -f4\n    192.168.99.100\n\nIf the Linux system is installed on Virtualbox by ourselves, to access the Lab page outside, we must add the eth1 network device at first via setting: 'Network -\u003e Adapter2 -\u003e Host-only Adapter'.\n\n### Choose a working directory\n\nIf installed via Docker Toolbox, please enter into the `/mnt/sda1` directory of the `default` system on Virtualbox, otherwise, after poweroff, the data will be lost for the default `/root` directory is only mounted in DRAM.\n\n    $ cd /mnt/sda1\n\nFor Linux or Mac OSX, please simply choose one directory in `~/Downloads` or `~/Documents`.\n\n    $ cd ~/Documents\n\n### Download cloud-lab\n\n    $ git clone https://github.com/tinyclub/cloud-lab.git\n\n### Choose a Lab\n\n    $ tools/docker/choose\n\n    Current Lab is: linux-lab\n\n    Available Labs:\n\n         1\tcs630-qemu-lab\n         2\tlinux-0.11-lab\n         3\tlinux-lab\n         4\tmarkdown-lab\n         5\ttinylab.site\n\n    Choose the lab number: 3\n         3\tlinux-lab\n\n    Download the lab...\n\n### Run the Lab\n\n    $ tools/docker/run\n\n### Remove the Lab\n\n    $ tools/docker/rm\n\n### Stop the Lab\n\n    $ tools/docker/stop\n\n### Start the Lab\n\n    $ tools/docker/start\n\n### Run as root without password\n\nIf get syntax error under `/etc/sudoers*`, please use `pkexec visudo` to fix up it.\n\n    $ sudo -s\n    $ echo \"$SUDO_USER ALL=(ALL) NOPASSWD: ALL\" \u003e /etc/sudoers.d/$SUDO_USER\n\n[001]: https://store.docker.com/search?type=edition\u0026offering=community\n[002]: https://www.docker.com/docker-toolbox\n[003]: https://tinylab.org/cloud-lab\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinyclub%2Fcloud-lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftinyclub%2Fcloud-lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinyclub%2Fcloud-lab/lists"}