### 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 ](#paragraph1)
1. [Sub paragraph](#subparagraph1)
3. [Installation](#paragraph2)
4. [More info](#paragraph2)
### 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.
>
### 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 update
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
- Register for a free online 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