How to Deploy DBConvert Streams on Google Cloud
Prerequisites
- Install and set up Google Cloud CLI:
# Install gcloud CLI (example for Debian/Ubuntu) curl https://sdk.cloud.google.com | bash # Restart your shell exec -l $SHELL # Initialize gcloud and authenticate gcloud init - Make sure you have:
- An active Google Cloud account
- A project created in Google Cloud
- Billing enabled for your project
- Compute Engine API enabled
- Set your project ID:
gcloud config set project YOUR_PROJECT_ID - Choose machine type:
- Minimum:
e2-small(2 vCPU, 2GB memory) - Recommended for production:
e2-medium(2 vCPU, 4GB memory)e2-standard-2(2 vCPU, 8GB memory)
To see available machine types:gcloud compute machine-types list --filter="zone:europe-west4-a" - Minimum:
There are two ways to set up DBConvert Streams in GCP:
Option 1: Use Prebuilt GCP Image (One-Command Setup)
Fastest way — deploy from a ready-made image with everything preinstalled.
Steps
- Find the latest image:
# List available DBConvert Streams images gcloud compute images list --project dbconvert-streams --filter="name~'^dbconvert-streams-'" --sort-by=~creationTimestamp --limit=1
This will show the most recent image name. - Create the VM using the latest image:
# Using the latest image directly LATEST_IMAGE=$(gcloud compute images list --project dbconvert-streams --filter="name~'^dbconvert-streams-'" --sort-by=~creationTimestamp --limit=1 --format="get(name)") gcloud compute instances create dbconvert-vm \ --zone=europe-west4-a \ --machine-type=e2-small \ --image=$LATEST_IMAGE \ --image-project=dbconvert-streams \ --tags=http-server,https-server
Or specify an image manually:# Using a specific image version gcloud compute instances create dbconvert-vm \ --zone=europe-west4-a \ --machine-type=e2-small \ --image=dbconvert-streams-1744047008 \ --image-project=dbconvert-streams \ --tags=http-server,https-server - SSH into the VM:
Method A: Using gcloud command# Using instance name (recommended) gcloud compute ssh dbconvert-vm --zone=europe-west4-a # Or using IP address directly (if you know the external IP) gcloud compute ssh USERNAME@EXTERNAL_IP
Method B: Using Google Cloud Console- Click the SSH button in the VM instances list
- Access the web UI via:
http://<your-external-ip>
Option 2: Use Install Script on a Clean VM
If you prefer more control or want to install on your own image.
Steps
- Create a VM with your preferred Linux distribution:
Method A: Using Command Line# Example for Ubuntu 22.04 with minimum specs gcloud compute instances create dbconvert-vm \ --zone=europe-west4-a \ --machine-type=e2-small \ --image-family=ubuntu-2204-lts \ --image-project=ubuntu-os-cloud \ --tags=http-server,https-server # For production workloads gcloud compute instances create dbconvert-vm \ --zone=europe-west4-a \ --machine-type=e2-medium \ # or e2-standard-2 for more memory --image-family=ubuntu-2204-lts \ --image-project=ubuntu-os-cloud \ --tags=http-server,https-server
Method B: Using Google Cloud Console- Go to Google Cloud Console
- Navigate to Compute Engine > VM instances > Create Instance
- Configure the basic settings:
- Select machine type:
- Minimum:
e2-small(2 vCPU, 2GB memory) - Production:
e2-mediumor larger
- Minimum:
- Choose your preferred Linux distribution
- Select machine type:
- Under "Networking" tab:
- Check "Allow HTTP traffic"
- Check "Allow HTTPS traffic"
Supported Linux distributions:- Ubuntu (recommended)
- Debian
- CentOS
- RHEL
- Fedora
::: warning OS Selection Note While Google Cloud offers Container-Optimized OS (COS), we recommend using standard Linux distributions instead. COS is a minimal OS designed primarily for running containers but has limitations that may affect DBConvert Streams installation:- Limited system utilities
- Read-only file system in many directories
- No package manager for additional tools :::
- SSH into the VM:
Method A: Using gcloud command# Using instance name (recommended) gcloud compute ssh dbconvert-vm --zone=europe-west4-a # Or using IP address directly (if you know the external IP) gcloud compute ssh USERNAME@EXTERNAL_IP
Method B: Using Google Cloud Console- Click the SSH button in the VM instances list
- Run the install script:
# Basic installation curl -fsSL https://dbconvert.nyc3.digitaloceanspaces.com/downloads/streams/latest/docker-install.sh | sh # Or download and run with options curl -fsSL https://dbconvert.nyc3.digitaloceanspaces.com/downloads/streams/latest/docker-install.sh -o install.sh chmod +x install.sh ./install.sh --help # Show available options - Start the service:
cd ~/dbconvert-streams-docker # Start with HTTPS enabled (recommended for production) ./start.sh -s # or --secure # Start with HTTP only (for testing) ./start.sh
::: tip HTTPS vs HTTP- Use
-sor--securefor production environments (enables HTTPS) - Use without flags for testing or development (HTTP only)
- Both modes will work with the firewall rules we created :::
- Use
Network Access
The required ports (22, 80, 443) are automatically configured when creating the VM with --tags=http-server,https-server. No additional firewall rules are needed.
These tags tell GCP to:
- Allow SSH access (port 22)
- Allow HTTP traffic (port 80)
- Allow HTTPS traffic (port 443)
IP Configuration
DBConvert Streams automatically detects and configures your server's public IP address. If you experience any connection issues, you can manually specify the IP:
./start.sh --ip YOUR_PUBLIC_IP
Check Your VM Status
After creating the instance, run this to verify it's running:
gcloud compute instances list
Look for the EXTERNAL_IP column — that's where you can access the web UI.
Which One Should I Use?
| Use Case | Recommended Option | Explanation |
|---|---|---|
| Fastest deploy | Prebuilt GCP Image | One command setup with no additional installation steps needed |
| Custom Linux distribution | Install Script | Can be installed on any supported Linux distribution |
| Custom installation directory | Install Script | Can be installed to any directory using -d option |
| Testing different versions | Install Script | Can specify version with -v option |
Common Features
Both installation methods provide:
- Automatic IP detection and configuration
- Pre-configured HTTP/HTTPS access
- Management commands (
start.sh,stop.sh,update.sh) - Docker-based deployment
Main Difference
The main difference is in the initial setup:
- Prebuilt Image: Everything is pre-installed and ready to run
- Install Script: You control the installation process and configuration