Deploy Oxla Docker Container with Google Cloud Storage Integration
Overview
This guide provides step-by-step instructions for deploying an Oxla Docker container and integrating it with Google Cloud Storage as the object storage. You will configure Docker, create a Docker Compose file and run the Oxla container so it can read from and write to Google Cloud Storage.
Prerequisites
Before proceeding, make sure you have the following:
- Docker: install Docker on your Linux machine
- PostgreSQL Client: install PostgreSQL client to connect to the Oxla database
- Google Bucket: create an Google Cloud Storage bucket to store you data
- Google Credentials: generate a service account and download the credentials file (which includes the email, private key ID, and private key). For instructions, see Authenticate to Cloud Storage in the Google Cloud documentation
Create the Docker Compose File
Open your terminal and create a new Docker Compose file named docker-compose.gcs-credentials.yml
:
Add the following configuration into the file and replace the placeholder values with the actual Google Cloud Storage credentials and settings:
Save and exit the file by typing :wq
and pressing Enter
.
OXLA_HOME
path must reference a directory in your Google Cloud Storage bucket that is either empty or exclusively contains files conforming to the Oxla format.Be sure to mount your Google Cloud Storage credentials file into the container at /gcs/credentials.json
by updating the volumes
section.
The path in the GOOGLE_APPLICATION_CREDENTIALS
environment variable must match the container path of the mounted file.
Run the Docker Container
After saving the YAML file, run the following command to create and start the Oxla docker container:
This command will start the Oxla service and connects it to your specified Google bucket using the provided credentials. To verify that Oxla is running correctly, connect using the PostgreSQL client:
Upon successful execution, you should see a similar output:
Related resources
For more information on Oxla’s environment variables check out the Configuration file.