Virtual Machine
Instructions for deploying the sandbox on a virtual machine
The DBNL sandbox can be deployed to a virtual machine such as AWS EC2, Google Compute Engine or Azure Virtual Machines. This is a good option for sandbox deployments that need to be accessible by multiple users or applications or deployments that need to be persisted for longer periods of time.
The sandbox deployment is not suitable for production environments.
Requirements
A domain name to host the DBNL sandbox (e.g. dbnl.example.com). This is optional for AWS EC2.
Currently, the sandbox does not support being hosted from a subpath (e.g. http://example.com:8080/dbnl) or being served from a different port. If those are required, we recommend using a reverse proxy.
Installation
Create an AWS EC2 instance
Open the EC2 console and launch a Linux virtual machine instance (e.g. Amazon Linux, Ubuntu). The steps below assumes an Amazon Linux instance.
For anything but a test deployment, we recommend using a memory optimized instance such as an r7i.large or above with at least 1 TiB of gp3 storage.
SSH into the instance using the instance public dns name.
$ ssh -i KEY_FILE ec2-user@INSTANCE_PUBLIC_DNS_NAME[Optional] Configure DNS
Add a DNS CNAME record mapping your domain name to the instance public DNS name.
This step is optional and the instance public DNS name can be used directly as the deployment domain name.
Configure Security Group
Open the EC2 console, select the newly created instance and click through to the instance security group under Security > Security details > Security groups.
Add a Custom TCP inbound rule to port 8080 from My IP.
To allow traffic from more than one IP address, define a Custom source. For more details, see working with security group rules.
Install Docker
Install Docker.
$ sudo dnf install dockerStart the Docker service.
Add the
ec2-userto thedockergroup so that you can run Docker commands without using sudo.
Pick up new permissions by exiting SSH and logging back into the instance via SSH.
Install DBNL CLI
Install
pythonandpip.
Install the DBNL CLI.
Start DBNL sandbox
Start the sandbox passing the domain name or the instance public DNS name as the base URL.
Create a Google Cloud Compute instance
Open the Cloud Compute console and launch a Linux virtual machine instance (e.g. Debian, Ubuntu). The steps below assumes a Debian instance.
For anything but a test deployment, we recommend using a memory optimized instance such as an n2-highmem-2 or above with at least 1 TiB of balanced persistent disk storage.
SSH into the instance using the instance name, project id and zone.
Configure DNS
Open the IP addresses console, click Reserve external static IP address and create an IP address with:
Attached to: Instance name
Name:
dbnl-sandbox
Add a DNS A record mapping your domain name to the external static IP address created in step 1.
Configure Firewall
Open the Cloud Compute console, select the newly created instance, click Edit and under Networking set:
Network tags:
dbnl-sandbox
Open the Firewall policies console, click Create firewall rule to create a firewall rule with:
Name:
dbnl-sandboxTarget tag:
dbnl-sandboxSource IPv4 range: your IP
Target: TCP port 8080
To allow traffic from more than one IP address, define a Custom source. For more details, see working with security group rules.
Install Docker
Install Docker.
Start the Docker service.
Add the current user to the
dockergroup so that you can run Docker commands without using sudo.
Pick up new permissions by exiting SSH and logging back into the instance via SSH.
Install DBNL CLI
Install
python,venvandpip.
Create a virtual environment.
Install the DBNL CLI.
Start DBNL sandbox
Start the sandbox passing the instance public dns name as the base URL.
Create a Google Cloud Compute instance
Open the Azure Virtual Machines console and launch a Linux virtual machine instance (e.g. Debian, Ubuntu). The steps below assumes a Debian instance.
For anything but a test deployment, we recommend using a memory optimized instance such as an E2s_v6 or above with at least a 1 TiB P30 disk storage.
SSH into the instance using the instance public IP address.
Configure DNS
Add a DNS A record mapping your domain name to the public IP address of the instance.
Configure Firewall
Open the Azure Virtual Machines console, select the newly created instance and under Networking > Network settings > Rules > Create port rule > Inbound port rule add an inbound port rule with:
Source: My IP address
Source port ranges: *
Destination port ranges: 8080
Protocol: TCP
To allow traffic from more than one IP address, define a Custom source. For more details, see working with security group rules.
Install Docker
Install Docker.
Start the Docker service.
Add
azureuserto thedockergroup so that you can run Docker commands without using sudo.
Pick up new permissions by exiting SSH and logging back into the instance via SSH.
Install DBNL CLI
Install
python,venvandpip.
Create a virtual environment.
Install the DBNL CLI.
Start DBNL sandbox
Start the sandbox passing the instance public dns name as the base URL.
Last updated
Was this helpful?

