Overview

This guide provides step-by-step instructions for deploying an Oxla Docker container and integrating it with Microsoft Azure Blob 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 Microsoft Azure Blob 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
  • Azure Container: create an Azure blob storage container to store you data
  • Azure Credentials: obtain your Azure Storage account name, tenant ID, client ID and Client secret. For details, see Azure Storage authentication documentation

Create the Docker Compose File

Open your terminal and create a new Docker Compose file named docker-compose.blob-credentials.yml:

vim docker-compose.blob-credentials.yml

Add the following configuration into the file and replace the placeholder values with the actual Azure credentials and settings:

services:
  oxla_node_1:
    image: public.ecr.aws/oxla/release
    security_opt:
      - seccomp:unconfined
    volumes:
      - ${CLIENT_DATA_DIR-../client_data}:/client_data
      - ${OXLA_LOGS_DIR-../logs}:/oxla/logs
      - /oxla/crash:/oxla/crash
    ulimits:
      nofile:
        soft: 40000
        hard: 40000
    ports:
      - 5432:5432
    environment:
      - OXLA_HOME=wasbs://{your-blob-storage-name/your-empty-directory-name}
      - AZURE_ACCOUNT_NAME={your-azure-account-name}
      - AZURE_TENANT_ID={your-tenant-id}
      - AZURE_CLIENT_ID={your-azure-client-id}
      - AZURE_CLIENT_SECRET={your-azure-client-secret}
The OXLA_HOME path must reference a directory in your Blob container that is either empty or exclusively contains files conforming to the Oxla format.

Save and exit the file by typing :wq and pressing Enter.

Run the Docker Container

After saving the YAML file, run the following command to create and start the Oxla docker container:

docker compose -f docker-compose.blob-credentials.yml up

This command will start the Oxla service and connects it to your specified Blob container using the provided credentials. To verify that Oxla is running correctly, connect using the PostgreSQL client:

psql -h localhost -U oxla oxla
The default username and password for the Oxla superuser are both “oxla”.

Upon successful execution, you should see a similar output:

psql (17.2 (Ubuntu 17.2-1.pgdg22.04+1), server 16.0 (oxla version: 1.69.0)

oxla=>

For more information on Oxla’s environment variables check out the Configuration file.