You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
zeus 0ee4f014a9 stats 1 year ago
dist add check url 1 year ago
docs readme 1 year ago
files admin 1 year ago
hybrid add hybrid ssh 2 years ago
install stats 2 years ago
keys client server ok 2 years ago
nginx changes 2 years ago
public add img 2 years ago
src stats 1 year ago
src-local stats 1 year ago
test changes 2 years ago
.gitignore version 1.1 1 year ago
Dockerfile changes 2 years ago
Dockerfile.backup changes 2 years ago client server ok 2 years ago
LICENSE Initial commit 2 years ago readme 1 year ago bash update 2 years ago
ecosystem.config.js changes 2 years ago
ecosystem.config.js.backup changes 2 years ago add container stop 1 year ago
package-lock.json stats 1 year ago
package.json stats 1 year ago
restart check sudo 2 years ago bash update 2 years ago
run.yml add custom 1 year ago
run.yml.backup changes 2 years ago add ttyd 1 year ago
start check sudo 2 years ago check ports 1 year ago bash update 2 years ago
stop check sudo 2 years ago install 2 years ago add 2 years ago

Swarmlab Hybrid

Welcome to

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

An open source work/study-from-home application.

Swarmlab provides you with all the required tools, tools to teach work or try out demos in a completely virtual environment.

Swarmlab is a collection of services that aims to:

  • provide teachers and professors with online remote tools to do their lessons

  • give students the opportunity to study real life examples in their chosen area of expertise

  • allow developers to fully test and debug their applications and provide POC’s

Swarmlab, up and running since 2020, is already used for teaching purposes in a university and has proven itself as a powerful tool in the post covid remote-based situation.

Source code is available at under the AGPL licence.

Ready to run out-of-the-box

As of now the services provided by swarmlab are:

  • Labrooms(virtual classrooms in the form of model applications to be tweaked at will)

  •   linux → base linux system – designed for use as a base to further develop your app
  •    MPI → Instances of Ubuntu Linux with MPICH — portable implementation of Message Passing Interface (MPI) standard. Designed for MPI program development and deployment.
  •    Node.js
  •    sec → a basic linux-based os with security tools – designed as a template for apps
  • Storage to automatically create a cluster of databases.

  • Proof Of Concept (POC) options

  •    datacollector → using provided services a fully developed application may collect data from a swarm and use it for further analysis
  • Microservices

  •    Jupyter
  •    numpy
  •    scipy
  •    nodejs
  •    nginx
  •    haproxy
  •    gns3
  •    wireshark
  •    snmpsim
  •    xelatexthesis
  •    ansible
  •    etherpad
  •    codeserver (vscode)
  •    redisserver
  •    mongoserver
  •    mongoclient (GUI)

    to be continued…

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.

⚠️ Since Docker uses hypervisor the host NEEDS TO HAVE VIRTUALIZATION ENABLED!


  • node version >15

    curl -sL | sudo -E bash -
    sudo apt-get install -y nodejs
  • docker

    curl -fsSL | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] $(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

ℹ️ for kali specifically please visit the following link to install docker.

  • docker-compose

    sudo curl -L "$(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


for *nix

  • Clone the repo

    git clone --recurse-submodules
  • Install it!

    cd swarmlab-hybrid
    ./  <-- run it without root privileges
  • Open URL http://localhost:3088 in browser

for Windows

if you wish to keep the environment contained

And instructions on how to use them here.

ℹ️ Default password: swarmlab


More Info

You can find our docs in