### Welcome to Swarmlab.io **Swarmlab** is a powerful collaboration tool that connects tutors and students **in a unique all-in-one environment that gets work done fast and easily** #### **Ready-to-Use Virtual Labs one click away.** ### Table of contents 1. [Features](#introduction) 2. [System requirements ](#systemrequirements) 3. [Prerequisites](#prerequisites) 4. [Installation](#installation) 5. [More info](#moreinfo) ### Features **Share your exercises and content as a tutor and access it as student on demand** > ##### On demand Labrooms > > * Optimized for both Students and Tutors > * Tutors bootstrap their labrooms using our tools > * Students can join the created labrooms according to their interrests > * Following the lead of a cloud based world, we use git for tutors to create, distribute and run their lessons. > > ##### Labroom hybrid > > * Connect multiple computers through a network. > * Scale up or down without rebuilding > ### System requirements **Before** you create and configure a hybrid deployment using the swarmlab-agent client, your Local Machines need to meet certain requirements. > If you don't meet those requirements, you won't be able to complete the steps within the swarmlab-agent client and you won't be able to configure a hybrid deployment between your Local Enviroment and Swarmlab Online Enviroment. - A Linux Server (Virtual or Physical) - You must have super user privileges (sudo) - Docker Engine- Community version 18 or later is required. - Docker Engine is supported on x86_64 (or amd64), armhf, and arm64 architectures. - RAM - Absolute minimum to run the daemon and some very light containers - 512MB - Minimum for “comfortable” usage – 2GB - CPU - Minimum: 2 - Recommended 4+ - Disk Space - 10 GB for internal requirements. - The amount of additional disk space required for load file staging, persistence, or backups depends on the size of the data to be loaded. > Docker uses a hypervisor with a VM, and the host server must support virtualization. #### Prerequisites * node version >15 ```sh curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - sudo apt-get install -y nodejs ``` * docker ```sh curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install -y docker-ce sudo usermod -aG docker [USERNAME] ``` * docker-compose ```sh sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose ``` * pm2 ```sh sudo npm install -g pm2 ``` * wireguard ```sh sudo apt install wireguard jq ``` ### Installation

- Clone the repo ```sh git clone https://git.swarmlab.io:3000/zeus/swarmlab-hybrid.git ``` - Install it! ```sh cd swarmlab-hybrid ./install.sh ``` - Open URL __http://localhost:3088__ in browser - Get a Swarmlab account. - Get a free API Key at **Settings->Enable the Swarmlab hybrid** Menu

### More Info You can find our docs in **docs** Directory The Swarmlab docs are in **AsciiDoc** (similar to markdown), **PDF** and **html** format Asciidoc add-on can be found here: http://docs.swarmlab.io/SwarmLab-HowTos/labs/Howtos/doclive/asciidoc.adoc.html#_setup_live_preview_using_a_web_browser