DTaaS on Single Vagrant Machine
These are installation instructions for running DTaaS software inside one vagrant Virtual Machine. The setup requires a machine which can spare 16GB RAM, 8 vCPUs and 50GB Hard Disk space to the vagrant box.
Create Base Vagrant Box
Create dtaas Vagrant box.
You would have created an SSH key pair - vagrant and vagrant.pub.
The vagrant is the private SSH key and is needed for the next steps.
Copy vagrant SSH private key into the current directory
(deploy/vagrant/single-machine
).
This shall be useful for logging into the vagrant
machines created for two-machine deployment.
Target Installation Setup
The goal is to use the dtaas Vagrant box to install the DTaaS software on one single vagrant machine. A graphical illustration of a successful installation can be seen here.
There are many unused software packages/docker containers within the dtaas base box. The used packages/docker containers are highlighed in blue color.
Tip
The illustration shows hosting of gitlab on the same
vagrant machine with
Configure Server Settings
A dummy foo.com URL has been used for illustration. Please change this to your unique website URL.
Please follow the next steps to make this installation work in your local environment.
Update the Vagrantfile. Fields to update are:
- Hostname (
node.vm.hostname = "foo.com"
) - MAC address (
:mac => "xxxxxxxx"
). This change is required if you have a DHCP server assigning domain names based on MAC address. Otherwise, you can leave this field unchanged. - Other adjustments are optional.
Installation Steps
Execute the following commands from terminal
Set a cronjob inside the vagrant virtual machine to remote the conflicting default route.
If you only want to test the application and are not setting up a production instance, you can follow the instructions of single script install.
If you are not in a hurry and would rather have a production instance, follow the instructions of regular server installation setup to complete the installation.
References
Image sources: Ubuntu logo, Traefik logo, ml-workspace, nodejs, reactjs, nestjs