Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
zeus ff307f274e version 1.0 pirms 2 mēnešiem
dist version 1.0 pirms 2 mēnešiem
docs full screen pirms 6 mēnešiem
files bash update pirms 7 mēnešiem
hybrid add hybrid ssh pirms 8 mēnešiem
install stats pirms 7 mēnešiem
keys client server ok pirms 9 mēnešiem
nginx changes pirms 8 mēnešiem
public add img pirms 6 mēnešiem
src version 1.0 pirms 2 mēnešiem
src-local version 1.0 pirms 2 mēnešiem
test changes pirms 8 mēnešiem
.gitignore add builders 1 pirms 5 mēnešiem
Dockerfile changes pirms 8 mēnešiem
Dockerfile.backup changes pirms 8 mēnešiem
Dockerfile.build client server ok pirms 9 mēnešiem
LICENSE Initial commit pirms 9 mēnešiem
README.md Readme test pirms 5 mēnešiem
down.sh bash update pirms 7 mēnešiem
ecosystem.config.js changes pirms 8 mēnešiem
ecosystem.config.js.backup changes pirms 8 mēnešiem
install.sh add builders 1 pirms 5 mēnešiem
package-lock.json seminars pirms 7 mēnešiem
package.json seminars pirms 7 mēnešiem
restart check sudo pirms 6 mēnešiem
restart.sh bash update pirms 7 mēnešiem
run.yml error bash pirms 7 mēnešiem
run.yml.backup changes pirms 8 mēnešiem
run.yml.sh install pirms 6 mēnešiem
start check sudo pirms 6 mēnešiem
start.sh add warning pirms 6 mēnešiem
status.sh bash update pirms 7 mēnešiem
stop check sudo pirms 6 mēnešiem
stop.sh install pirms 7 mēnešiem
update-agent.sh add pirms 7 mēnešiem

README.md

Swarmlab Hybrid

Welcome to Swarmlab.io

On demand Labrooms
Ready-to-Use Virtual Labs one click away.

Table of contents

  1. Features
  2. System requirements
  3. Prerequisites
  4. Installation
  5. More info

Swarmlab Hybrid is Swarmlabs younger, more tech savvy brother.

Swarmlab hybrid provides the user with the unique abillity to create Labrooms (or other applications) and share them as project images expanding the simple swarmlab Labrooms to full-blown systems. An all of that using onlly the browser and the command line of their system.

Why?

Ever imagined having a normal lesson as you would in the University from the comfort of your livingroom?
Ever created a service that you would like to test on a real-world network?
Ever designed an Labroom/application you would like to distribute to your students/applications?
Swarmlab Hybrid comes to bridge the gap between tutor and student, 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 independantly but also stay connected.
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 :

  • create images for testing.
  • Run them using docker.
  • Share them for others to use and develop.
  • Finally browse the cloud for shared images to integrate into your project and make it even better.

Ready to run out-of-the-box

Normally the docker dataflow is as described in the following images:

To make the service easier to use we have created an ever-growing database of readilly accessible images you can choose from, thus making the first step optionall!

Swarmlab vs Swarmlab Hybrid in a nutshell

Swarmlab

  • Ready to use, on demand virtual labs
  • Optimized for both Students and Tutors
  • Tutors bootstrap their labrooms using our tools

Hybrid

  • Create Labrooms/Applications
  • Run and manage said rooms and application
  • create once - scale up or down without rebuilding
  • Connect multiple computers through a network.
  • Move Labs between environments
  • Create your own labs
  • open source barebone -> Share them with your friends

In any case students can:

  • join the created labrooms according to their interrests
  • run the evailable labs at will
  • create their own rooms for exercising

IMPORTANT

:exclamation: If you wish to use the service in Hybrid mode, that is if you want to share, download or perform other activites on the cloud you will need a KEY. Read installation instructions to learn how to do that.

Local usage of the service doesnt require one, you only need to log in to your account.

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 (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 Docker uses hypervisor the host NEEDS TO HAVE VIRTUALIZATION ENABLED!

Prerequisites

  • node version >15
  curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash -
  sudo apt-get install -y nodejs
  • docker
  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] # Please replace [USERNAME] with the user you want to run docker on

:information_source: for kali specifically please visit the following link to install docker.

https://linuxhint.com/install_docker_kali_linux/

  • docker-compose
  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
  sudo npm install -g pm2
  • wireguard
  sudo apt install wireguard jq

Installation

for *nix

  • Clone the repo
   git clone --recurse-submodules https://git.swarmlab.io:3000/zeus/swarmlab-hybrid.git
  • Install it!
   cd swarmlab-hybrid
   ./install.sh  <-- run it without root privileges
  • Open URL http://localhost:3088 in browser
    • Get a Swarmlab account.
  • Get a free API Key at Settings->Enable the Swarmlab hybrid Menu

for windows or if you wish to keep the environment contained

You can find ready to run VM images here.

And instructions on how to use them here.

:information_source: Default password: swarmlab

PLEASE CHANGE PASSWORD IMEDIATELLY AFTER FIRST LAUNCH!!!

First Run

:exclamation: No matter your distribution, upon installing you will HAVE to load settings before the first run!!

This will initialize the configuration using the system defaults.

Afterwards you can add custom settings, or keep using the defaults.
This action does NOT need to be repeated unless you wish to reset the application.

Please navigate to the “Profile->Settings” menu and click on the “Load settings” button.

After doing this the application MUST be reastarted! To do that please run the restart script.

inside the root directory of the project run

  ./restart.sh

More Info

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