Data3.Network Documentation
  • Introduction to Data3
  • Data3 Concepts
    • Accounts
    • Address
    • Nodes
    • Types of Nodes
    • Node Providers
    • Database Deployment
    • Console
    • Use Case
  • Getting Started
    • Data3 Console
      • Signup on Data3 Console
      • Wallets
    • For Customers
      • Quick Start Guide
      • Signup on Data3 Console
      • Request Databases
      • Manage Your Databases
      • Use Your Databases
    • For Node Providers
      • Quick Start Guide
      • Signup at Data3 Console
      • Bid For Customer Requests
    • For Developers
      • Signup
      • Open Source
      • Contribute
  • For Customers
    • Access
    • Application Configuration
    • Database Configuration
    • Data Migration
    • Security
      • Users
      • Keys
    • Observability
  • For Node Providers
    • Node Provider Service
      • What is the Node Provider Service?
      • Node Provider Service Architecture
      • Node Provider Onetime Setup
        • Prerequisites
        • Docker data3-node-provider
        • Configure
        • Deploy data3-node-provider
        • Validate
        • Troubleshoot
    • Data3 Storage Node
      • What is the Data3 Storage Node?
      • Storage Node Architecture
      • Storage Node Setup
        • Prerequisites
        • Docker data3-storage-node
        • Configure
        • Deploy data3-storage-node
        • Validate
        • Troubleshoot
    • External Pricing Engine
    • External Deployment Engine
    • Node Tokenomics
      • Staking
      • Customer Payments
      • Incentivization
      • Pricing
    • Nodes
      • Validator Node
      • Audit Node
      • Storage Node
    • Console
  • Product
    • Roadmap
    • Releases
    • Updates
  • Data3 Solutions
    • DApps
    • Web3 Social
    • Web3 Gaming
    • Web3 Exchanges
    • Artificial Intelligence
    • SaaS Applications
    • IoT
    • Dev Database
  • Tokenomics
    • Best Practices
    • Bid for Database Requests
  • Governance & Policies
    • Governance Framework
    • Node Provider Policies
    • Data Handling Policies
    • Security Policies
    • Privacy Policies
    • For Developers
      • Architecture
      • API
      • SDKs and Libraries
      • Protocols & Algorithms
  • Community
  • FAQs
  • Legal
Powered by GitBook
On this page
  • Get this image
  • Launch data3-node-provider
  1. For Node Providers
  2. Node Provider Service
  3. Node Provider Onetime Setup

Docker data3-node-provider

PreviousPrerequisitesNextConfigure

Last updated 1 year ago

See detailed instructions at

The "data3-node-provider" docker image is meant for node providers within the Data3 Network ecosystem, a decentralized Database-as-a-Service (DBaaS) platform engineered by Kandola Network.

By deploying the "data3-node-provider" Docker image, node providers who have registered through the Data3 console at can seamlessly integrate into the Data3 Network infrastructure enabling node providers to easily and securely contribute to the DBaaS network's decentralization.

Key functionalities of the "data3-node-provider":

  • Decentralized Communication: Utilizes peer-to-peer (p2p) publish-subscribe mechanisms to ensure secure, reliable and asynchronous communication between node providers, customers, and peers within the network.

  • Database Provisioning: Streamlines the process of database setup and management for various customers, allowing node providers to easily onboard new users and scale services as required.

  • Observability: Offers comprehensive monitoring tools that provide real-time insights into the operational status and performance of the decentralized databases.

  • Financial Settlements: Facilitates a transparent and secure financial ecosystem within the Data3 Network through audit rewards and customer payments. Node providers are rewarded for their contributions to the network, including database provisioning and maintaining high service standards, ensuring a sustainable and incentivized participation model.

Get this image

The recommended way to get the data3-node-provider Docker Image is to pull the prebuilt image from the .

docker pull kandolanetwork/data3-node-provider:latest

To use a specific version, you can pull a versioned tag. You can view the in the Docker Hub Registry.

docker pull kandolanetwork/data3-node-provider:[TAG]

Launch data3-node-provider

Step 1: Create a network

docker network create provider-network --driver bridge

Step 2: Create data volumes

docker volume create provider-app-volume

Step 3: Launch the Data3 Node Provider instance

docker run -d --name node-provider-1 \
    --network provider-network \
    --volume provider-app-volume
    kandolanetwork/data3-node-provider:latest

Using a Docker Compose file

When not specified, Docker Compose automatically sets up a new network and attaches all deployed services to that network. However, we will explicitly define a new bridge network named node-provider. In this example we assume that you want to connect to a co-located mongodb database (service name provider-db).

version: '2.24.5'
services:
  provider-db:
    container_name: provider-db-1
    image: mongo:latest
    volumes:
      - provider-db-volume:/data/db
    expose:
      - 27017
    ports:
      - 27018:27017
    healthcheck:
      test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
    networks:
      - provider-network
  provider-app:
    container_name: provider-app-1
    image: kandolanetwork/data3-node-provider:latest
    environment:
      GRAILS_ENV: development
      DB_HOST: provider-db
      DB_PORT: 27017
      DB_DATABASE: KandolaNodeProvider
      BOOTSTRAP_BASE_URL: https://testconsoleapi.data3.network/
      BOOTSTRAP_PUBSUB_HOST: testpubsub.data3.network
      BOOTSTRAP_PUBSUB_PORT: 9092
      P2P_PORT: 29092

      NODE_IP: 192.168.5.168
      NODE_HOST_NAME: 192.168.5.168
      SELF_PUBSUB_HOST: 192.168.5.168
      SELF_PUBSUB_PORT: 29092

      API_KEY: RT4xsi3IwYbJUQAllcS1jFKB8CJ80F5be1Fw1U92UdmQUXBmpwC90MxfeugdJUKE
      API_SECRET: tgjJ7uLo6z3II22wbpMGSzasRxL1zBEv
      ADDRESS: 0xCd72bC4f5e464Ad4f659Bc62b1155c4183A89828
      PRIVATE_KEY: 20314b398d361035d67d28598f6a31189f88255c983ffc62f8a51ad2d99c35d7

      EXTERNAL_API_ENDPOINT: http://host.docker.internal:3080/price
      EXTERNAL_DEPLOYMENT_API_ENDPOINT: http://host.docker.internal:3080/deploy
    volumes:
      - provider-app-volume:/app/data_home
    expose:
      - 8080
    ports:
      - 8081:8080
    depends_on:
      provider-db:
        condition: service_healthy
    links:
      - provider-db
    networks:
      - provider-network
    extra_hosts:
      - "host.docker.internal:host-gateway"
volumes:
  provider-app-volume:
  provider-db-volume:
networks:
  provider-network:
    driver: bridge

https://hub.docker.com/r/kandolanetwork/data3-node-provider/
https://data3.network
Docker Hub Registry
list of available versions