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.

220 lines
5.7 KiB

3 years ago
2 years ago
<img align="right" width="300" height="300" src="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid/raw/branch/master/docs/images/swarmlab.png">
3 years ago
3 years ago
# Swarmlab Hybrid
3 years ago
3 years ago
3 years ago
#### **Welcome to Swarmlab.io**
3 years ago
3 years ago
##### **On demand Labrooms**
##### **Ready-to-Use Virtual Labs one click away.**
3 years ago
3 years ago
3 years ago
### Table of contents
3 years ago
1. [Features](#introduction)
3 years ago
2. [System requirements ](#systemrequirements)
3 years ago
3. [Prerequisites](#prerequisites)
3 years ago
4. [Installation](#installation)
3 years ago
5. [More info](#moreinfo)
3 years ago
3 years ago
3 years ago
### <a name="introduction"></a>
2 years ago
**An open source work/study-from-home application.**
2 years ago
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:
2 years ago
- provide **teachers** and professors with online remote tools to do their lessons
2 years ago
2 years ago
- give **students** the opportunity to study real life examples in their chosen area of expertise
2 years ago
2 years ago
- allow **developers** to fully test and debug their applications and provide POC’s
2 years ago
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 https://git.swarmlab.io:3000 under the AGPL licence.
### Ready to run out-of-the-box
As of now the services provided by swarmlab are:
3 years ago
#### Labrooms(virtual classrooms in the form of model applications to be tweaked at will)
3 years ago
2 years ago
- linux → base linux system – designed for use as a base to further develop your app
3 years ago
2 years ago
- MPI → Instances of Ubuntu Linux with MPICH — portable implementation of Message Passing Interface (MPI) standard. Designed for MPI program development and deployment.
3 years ago
2 years ago
- Node.js
3 years ago
2 years ago
- sec → a basic linux-based os with security tools – designed as a template for apps
3 years ago
#### Storage to automatically create a cluster of databases.
3 years ago
#### Proof Of Concept (POC) options
3 years ago
2 years ago
- datacollector → using provided services a fully developed application may collect data from a swarm and use it for further analysis
3 years ago
#### Microservices
3 years ago
2 years ago
- Jupyter
2 years ago
2 years ago
- numpy
2 years ago
2 years ago
- scipy
2 years ago
2 years ago
- nodejs
2 years ago
2 years ago
- nginx
2 years ago
2 years ago
- haproxy
2 years ago
2 years ago
- gns3
2 years ago
2 years ago
- wireshark
2 years ago
2 years ago
- snmpsim
2 years ago
2 years ago
- xelatexthesis
2 years ago
2 years ago
- ansible
2 years ago
2 years ago
- etherpad
2 years ago
2 years ago
- codeserver (vscode)
2 years ago
2 years ago
- redisserver
2 years ago
2 years ago
- mongoserver
2 years ago
2 years ago
- mongoclient (GUI)
3 years ago
2 years ago
to be continued…
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
## System requirements<a name="systemrequirements"></a>
3 years ago
**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.
2 years ago
#### A Server (Virtual or Physical)
- You must have super user privileges (root/sudo)
3 years ago
- Docker Engine- Community version 18 or later is required.
2 years ago
- Docker Engine is supported on x86_64 (or amd64), armhf, and arm64 architectures.
#### RAM
3 years ago
- Absolute minimum to run the daemon and some very light containers - 512MB
- Minimum for “comfortable” usage – 2GB
2 years ago
#### CPU
3 years ago
- Minimum: 2
- Recommended 4+
2 years ago
#### Disk Space
3 years ago
- 10 GB for internal requirements.
3 years ago
- The amount of additional disk space soloemnly depends on you intended use.
3 years ago
3 years ago
:warning: Since Docker uses hypervisor the host NEEDS TO HAVE VIRTUALIZATION ENABLED!
3 years ago
3 years ago
3 years ago
3 years ago
## Prerequisites<a name="prerequisites"></a>
3 years ago
3 years ago
* node version >15
3 years ago
3 years ago
```sh
curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash -
sudo apt-get install -y nodejs
```
* docker
3 years ago
3 years ago
```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
3 years ago
sudo usermod -aG docker [USERNAME] # Please replace [USERNAME] with the user you want to run docker on
3 years ago
```
3 years ago
3 years ago
:information_source: for kali specifically please visit the following link to install docker.
3 years ago
https://linuxhint.com/install_docker_kali_linux/
3 years ago
* docker-compose
3 years ago
3 years ago
```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
3 years ago
3 years ago
```sh
sudo npm install -g pm2
```
* wireguard
3 years ago
3 years ago
```sh
sudo apt install wireguard jq
```
3 years ago
## Installation<a name="installation"></a>
3 years ago
### for *nix
3 years ago
3 years ago
- Clone the repo
3 years ago
3 years ago
```sh
3 years ago
git clone --recurse-submodules https://git.swarmlab.io:3000/zeus/swarmlab-hybrid.git
3 years ago
```
3 years ago
3 years ago
- Install it!
3 years ago
3 years ago
```sh
cd swarmlab-hybrid
3 years ago
./install.sh <-- run it without root privileges
3 years ago
```
3 years ago
3 years ago
- Open URL __http://localhost:3088__ in browser
3 years ago
2 years ago
### for Windows
3 years ago
2 years ago
http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab/docs/install/install-docker.html#windows-10-with-wsl-version2-enabled
3 years ago
2 years ago
### if you wish to keep the environment contained
3 years ago
3 years ago
And instructions on how to use them <a href="https://git.swarmlab.io:3000/zeus/swarmlab-hybrid/src/branch/master/docs/windows_use_vm.md">here</a>.
:information_source: Default password: swarmlab
3 years ago
3 years ago
PLEASE CHANGE PASSWORD IMEDIATELLY AFTER FIRST LAUNCH!!!
2 years ago
2 years ago
### Fix "x509: certificate signed by unknown authority" issue
http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab/docs/install/install-docker.html#fix-x509-certificate-signed-by-unknown-authority-issue
2 years ago
### Fix "server certificate verification failed. CAfile:..." issue
2 years ago
2 years ago
http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab/docs/install/install-docker.html#fix-server-certificate-verification-failed-cafile
2 years ago
3 years ago
### More Info<a name="moreinfo"></a>
3 years ago
2 years ago
You can find our docs in
3 years ago
2 years ago
http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab/docs/index.html
3 years ago
3 years ago