A computer network emulator for educational purposes based on Linux OS.
Back and Front directors are .env Examps, which are used in Docker-Compose and Ansible.
If you use Docker for Backend and FrontenD, do not change the host names for URL in .env.
If you use Virtualbox/VMware with Vagrant for Backend, and unfold Redis and Rabbitmq on the host, indicate the IP host in Back/.env. (in Virtual Box by default 192.168.56.1)
Docker launch
To launch all containers, you can use the Start_all_containers.sh script, located in the root folder of the project.
cd back
docker compose up -d --build
NFS (for full automation Vagrant Up):
# /etc/sudoers.d/vagrant-syncedfolders
Cmnd_Alias VAGRANT_EXPORTS_CHOWN = /bin/chown 0:0 /tmp/vagrant-exports
Cmnd_Alias VAGRANT_EXPORTS_MV = /bin/mv -f /tmp/vagrant-exports /etc/exports
Cmnd_Alias VAGRANT_NFSD_CHECK = /etc/init.d/nfs-kernel-server status
Cmnd_Alias VAGRANT_NFSD_START = /etc/init.d/nfs-kernel-server start
Cmnd_Alias VAGRANT_NFSD_APPLY = /usr/sbin/exportfs -ar
%sudo ALL=(root) NOPASSWD: VAGRANT_EXPORTS_CHOWN, VAGRANT_EXPORTS_MV, VAGRANT_NFSD_CHECK, VAGRANT_NFSD_START, VAGRANT_NFSD_APPLY
cd back
export numberOfBoxes=N
export provider=vbox/vmware
. vagrant_vms.sh
N is the number of specimens Vagrant (Miminet currently does not support multiprocessing, the output is the launch of several VM).
After the end of vagrant_vms.sh, we initialize Worker in every virtual machine.
. start_workers.sh
Raise after rabbitmq.
cd front && docker compose up -d --build
For the possibility of authorization, you need to create your Google/VK application and place client_google.json/vk_auth.json in Front/SRC. You can contact the developers to obtain common Credentials, but this is not a safe solution.
docker exec -it miminet bash
flask db init
flask db migrate
flask db upgrade