Link

Deploy BuildVu on DigitalOcean

Table of contents

  1. Download the WAR file
  2. Provisioning a droplet
  3. Transfer the war file to your droplet
  4. Run the BuildVu droplet
  5. Enabling HTTPS
  6. Enabling Daemon mode
  7. Running BuildVu from different language clients

Running BuildVu on DigitalOcean is just a matter of spinning up a droplet with Docker installed, exposing some firewall ports and running the image.

Download the WAR file

Before getting started, you first want to download the WAR file. This is required for the image to work.

For trial users:

  1. If you haven’t already, sign up for BuildVu trial.

  2. Open the email you recieve when you signed up.

  3. Follow the download link found in the Docker section.

For customers:

  1. Visit the Customer download page.

  2. Click on ‘Download Latest Customer WAR’.

  3. Submit your username and password.

Provisioning a droplet

Log in to DigitalOcean, then click on ‘Create’ and ‘Droplets’:

1

Click on ‘Marketplace’ and select the ‘Docker on 18.04' app image:

2

Scroll down and select your Droplet plan:

3

Choose a region near you:

4

Choose an existing SSH key, or create a new one, then give your Droplet a name a click ‘Create Droplet’

5

You will see a progress bar while your Droplet is being prepared:

6

When it’s done, click on its IP address to copy it. If you wish to use HTTPS, you will need to create a DNS A record to map this IP address to a domain name.

7

Bring up a terminal and SSH into your new droplet using either it’s IP address or domain name:

ssh root@<IP or domain>

Open up the HTTP port in the firewall:

ufw allow http

Transfer the war file to your droplet

To be able to mount the war file you need to ensure it is in the droplets directory, so you will need to transfer it.

Download and install filezilla. Then follow the installation instructions, and the application should automatically open to this:

8

Now go to settings in the Edit menu and click on SFTP under connection. 9

Click the ‘add key file’ button and here you will be asked for your droplet SSH key, you can locate this in your local machine. If promped to convert the file into a suported format, click yes. 10

Now go to Site Manager in the File menu, click new site and enter the droplet name and select as shown below: 11

Once you have entered the information, click connect and you should see your droplet in the remote site side. Now you can transfer your war over to do this just navigate to the war, right click on it and select upload. 12

You should now see it in your droplet.

Run the BuildVu droplet

When you run the droplet there are some Environment variables you can set.

If you set ACCESS_USERNAME and ACCESS_PASSWORD environment variables they will be required in order to connect to the BuildVu droplet.

docker run -p 80:80 --env ACCESS_USERNAME=<username> --env ACCESS_PASSWORD=<password> --mount "source=/root/buildvu-microservice.war,target=/usr/local/tomcat/webapps/ROOT.war,type=bind" idrsolutions/buildvu

Open up the IP address/domain in your browser. You should be prompted for your username and password if you have set them

Enabling HTTPS

To enable HTTPS, you need to open up the HTTPS port in the firewall, then you need a valid SSL certificate and key mounted at /opt/ssl in the container.

Open up the HTTPS port:

ufw allow https

Create SSL directory on host machine:

mkdir /opt/ssl

Ensure that server.crt and server.key are present in that folder, then run the BuildVu container, ensuring that port 443 is also forwarded to it, and the /opt/ssl folder is mounted:

docker run -p 80:80 -p 443:443 --mount "source=/root/buildvu-microservice.war,target=/usr/local/tomcat/webapps/ROOT.war,type=bind" --mount "source=/opt/ssl,target=/opt/ssl,type=bind,readonly" idrsolutions/buildvu

Give it a few minutes to spin up, then check https:// to make sure it works.

Enabling Daemon mode

In order for the container to continue running once the SSH session ends, you need to run it in daemon mode. Just add the -d flag after the docker command like so:

docker run -d -p 80:80 -p 443:443 --mount "source=/root/buildvu-microservice.war,target=/usr/local/tomcat/webapps/ROOT.war,type=bind" --mount "source=/opt/ssl,target=/opt/ssl,type=bind,readonly" idrsolutions/buildvu

When you’re done with your Droplet, you can Destroy it, so it doesn’t run up your bill:

13

Running BuildVu from different language clients

Now that you have the docker server running, you can choose from these different language clients to begin your conversions.