zeus
4 years ago
1 changed files with 161 additions and 0 deletions
@ -0,0 +1,161 @@ |
|||
|
|||
<img align="right" width="300" height="300" src="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid/raw/branch/master/docs/images/hybrid-1.png"> |
|||
|
|||
# Swarmlab Hybrid |
|||
|
|||
### Table of contents |
|||
|
|||
1. [Features](#introduction) |
|||
2. [System requirements ](#systemrequirements) |
|||
3. [Prerequisites](#prerequisites) |
|||
4. [Installation](#installation) |
|||
5. [More info](#moreinfo) |
|||
|
|||
|
|||
### <a name="introduction"></a> |
|||
## <b>Swarmlab Hybrid</b> is the Swarmlabs younger, more tech savvy brother. |
|||
|
|||
Swarmlab hybrid provides the user with the unique abillity to create and share project images and even full-blown systems. An all of that <b>using onlly the browser and the command line</b> of their system. |
|||
|
|||
## Why? |
|||
Ever created a service that you would like to test on a real-world network? |
|||
Ever designed an application you would like to distribute to your friends/students? |
|||
Swarmlab Hybrid comes to fill in the gap between the coder/developer of a service and the and user and at the same time meet the needs for a real-world testing environment. |
|||
With Hybrid we can now as part of the cloud work <b>independantly</b> but also stay <b>connected</b>. |
|||
The hybrid format allows us to utilize the power of Swarmlab itself but also combine it with the practiaclly unlimited computing of our own machines. |
|||
|
|||
## How? |
|||
How does Swarmlab Hybrid differ from Swarmlab? Well...its Swarmlab...just....HYBRID! |
|||
Easy enough right? But what does that mean in practice? |
|||
Well for us it means a couple million more lines of code. For you it means a few more installation steps and the newfound access to YOUR OWN RESOURCES! |
|||
|
|||
You will be connected to the Swarmlab Cloud (hence HYBRID) but you will be able to use your own storage(move files around, delete/copy etc),your own networking and computational power(cpu/graphics etc) and create a system exactly the way you need it. |
|||
|
|||
This way you will be able to : |
|||
- <b>create</b> images for testing. |
|||
- <b>Run</b> them using docker. |
|||
- <b>Share</b> them for others to use and develop. |
|||
- Finally <b>browse the cloud</b> for shared images to <b>integrate</b> into your project and make it even better. |
|||
|
|||
# |
|||
|
|||
|
|||
|
|||
## Swarmlab vs Swarmlab Hybrid in a nutshell |
|||
|
|||
### Swarmlab |
|||
|
|||
- Ready to use virtual labs |
|||
- Optimized for both Students and Tutors |
|||
- Tutors bootstrap their labrooms using our tools |
|||
- Students can join the created labrooms according to their interrests |
|||
|
|||
|
|||
### Hybrid |
|||
- Run and manage applications |
|||
- Scale up or down without rebuilding |
|||
- Connect multiple computers through a network. |
|||
- Move Labs between environments |
|||
- Create your own labs |
|||
|
|||
|
|||
|
|||
## System requirements<a name="systemrequirements"></a> |
|||
|
|||
|
|||
**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 (root/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 soloemnly depends on you intended use. |
|||
|
|||
:warning: Since Doecker uses hyupervisor the host NEEDS TO HAVE VIRTUALIZATION ENABLED! |
|||
|
|||
|
|||
|
|||
|
|||
## Prerequisites<a name="prerequisites"></a> |
|||
|
|||
* 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<a name="installation"></a> |
|||
|
|||
<br /> |
|||
<p align="center"> |
|||
<p align="center"> |
|||
- Clone the repo |
|||
|
|||
```sh |
|||
git clone --recurse-submodules 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 |
|||
</p> |
|||
</p> |
|||
|
|||
|
|||
### More Info<a name="moreinfo"></a> |
|||
|
|||
You can find our docs in **docs** Directory |
|||
|
|||
The Swarmlab docs are in **AsciiDoc** (similar to markdown), **PDF** and **html** format |
|||
|
|||
|
|||
For real-time rendering in browser Asciidoc an 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 |
|||
|
|||
|
|||
|
Loading…
Reference in new issue