zeus
3cc909cd8f
|
3 years ago | |
---|---|---|
dist | 3 years ago | |
docs | 3 years ago | |
files | 3 years ago | |
hybrid | 4 years ago | |
install | 4 years ago | |
keys | 4 years ago | |
nginx | 4 years ago | |
public | 4 years ago | |
src | 3 years ago | |
src-local | 3 years ago | |
test | 4 years ago | |
.gitignore | 3 years ago | |
Dockerfile | 4 years ago | |
Dockerfile.backup | 4 years ago | |
Dockerfile.build | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 3 years ago | |
down.sh | 4 years ago | |
ecosystem.config.js | 4 years ago | |
ecosystem.config.js.backup | 4 years ago | |
install.sh | 3 years ago | |
package-lock.json | 3 years ago | |
package.json | 3 years ago | |
restart | 4 years ago | |
restart.sh | 4 years ago | |
run.yml | 3 years ago | |
run.yml.backup | 4 years ago | |
run.yml.sh | 3 years ago | |
start | 4 years ago | |
start.sh | 3 years ago | |
status.sh | 4 years ago | |
stop | 4 years ago | |
stop.sh | 4 years ago | |
update-agent.sh | 4 years ago |
README.md
Swarmlab Hybrid
Welcome to Swarmlab.io
On demand Labrooms
Ready-to-Use Virtual Labs one click away.
Table of contents
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 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:
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!
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
ℹ️ 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
for Windows
if you wish to keep the environment contained
And instructions on how to use them here.
ℹ️ Default password: swarmlab
PLEASE CHANGE PASSWORD IMEDIATELLY AFTER FIRST LAUNCH!!!
More Info
You can find our docs in
http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs/swarmlab/docs/index.html