Deploy BuildVu on Oracle Cloud Infrastructure
Table of contents
- Download or Build the WAR file
- Set up your VCN
- Upload BuildVu WAR file
- Install Docker
- Pull and run idrsolutions/buildvu
- HTTPS Integration [Optional]
- Running BuildVu from different language clients
One of the easiest ways to deploy BuildVu on Oracle Cloud Infrastructure is to run a single compute instance and installing docker on it.
Download or Build the WAR file
Before getting started you need the WAR file which you can either download or build yourself.
This WAR file is required for the BuildVu service to work.
Download the WAR file
Download the buildvu-microservice.war file.
Trial users can find the war download in the Docker section after trial signup.
Building the WAR file
Build a copy of our BuildVu Microservice Example project.
Instructions can be found on the GitHub page.
Set up your VCN
Start by navigating to Virtual Cloud Networks (VCN).
Create a VCN (use the wizard if uncertain).
Once complete, open your VCN.
Select “Security Lists”.
Open the default list for your VCN.
Click on “Add Ingress Rules” and copy the settings below.
Click “Add Ingress Rules” and navigate to compute/Instances.
Click “Create Instance” and follow the network settings below.
Make sure to add the SSH key you will need to connect to the instance to continue, click create and open our preferred method for SSH connections. (I will be using bash.)
Enter "ssh -i key opc@"
where key is the directory of the private key followed by your instance’s public IP e.g. ssh -i instance.key [email protected]
Once connected, type the following commands waiting in turn for each to complete.
Upload BuildVu WAR file
In a separate terminal, you will need to upload the WAR file with scp.
Using the same ssh details, the command will look like:
scp -i <key> <path/to/buildvu-microservice.war> opc@<instance public IP>:/home/opc
e.g.
scp -i instance.key buildvu-microservice.war [email protected]:/home/opc
This will upload to the opc home directory; ready for use with docker.
Install Docker
sudo yum install docker-engine
Pull and run idrsolutions/buildvu
sudo docker pull idrsolutions/buildvu
If you get the following message then you will need to run another command to start the docker daemon:
sudo service docker start
Now launch the docker image.
sudo docker run -p 80:80 --mount "source=/home/opc/buildvu_microservice.war,target=/usr/local/tomcat/webapps/ROOT.war,type=bind" idrsolutions/buildvu
Now go to a web browser and enter the public IP of your instance followed by “:80” to connect e.g. 123.123.123.123:80
. You should be shown a page displaying the name of the service being used, in this case “BuildVu Microservice Example”.
HTTPS Integration [Optional]
If you intend to use HTTPS encryption, you will need to update your VNS security list.
Navigate back to VNS and create a new ingress rule with the following settings:
Using the same key used to update the war file add your certificate, key, and ca_bundle. They should have these names:
scp -i <key> <path/to/certificate.crt> opc@<instance public IP>:/home/ssl/certificate.crt
scp -i <key> <path/to/private.key> opc@<instance public IP>:/home/ssl/private.key
scp -i <key> <path/to/ca_bundle.crtr> opc@<instance public IP>:/home/ssl/ca_bundle.crt
Now run the following command to start the service:
docker run -p 80:80 -p 443:443 --mount "source=/home/opc/buildvu_microservice.war,target=/usr/local/tomcat/webapps/ROOT.war,type=bind" --mount "source=/local/path/to/ssl/directory,target=/opt/ssl,type=bind,readonly" idrsolutions\buildvu
If you encounter an error then you may need to run the following command instead. Please take caution in doing this - more information can be found in the docker docs.
docker run -p 80:80 -p 443:443 --mount "source=/home/opc/buildvu_microservice.war,target=/usr/local/tomcat/webapps/ROOT.war,type=bind" --volume "/path/to/ssl"/target:"/opt/ssl"/app:z,ro idrsolutions/buildvu
In order to add additional features such as authentication, multiple users, or access to the converted files without the API you can find further details on our docker image page.
Running BuildVu from different language clients
Now that you have the docker server running you can follow the tutorials for using the API to begin your conversions.