On Premise Deployment
Overview

Deploying Defog On-Prem for the Enterprise

Defog's Enterprise Edition is designed to be deployed on-premises, behind your firewall, and integrated with your existing security infrastructure. If you use the Enterprise Edition, you can deploy Defog On-Prem to ensure that no network calls are ever made outside your network.

This guide will walk you through the steps to deploy Defog On-Prem in your environment.

Prerequisites

Pre-Requisites

Architecture

Architecture

Deployment

In the defog-docker and defog-backend images, you will need to set the following environment variables in the docker-compose file:

  • INTERNAL_DB: This represents the internal database that you uses to store metadata, golden queries, and user feedback. This can be any SQL database that supports SQLAlchemy. Specifically, this can be any of the following:
    • postgres
    • sqlite
    • sqlserver
  • DEFOG_DBHOST: This is the hostname of the database that you want to use for Defog. This is typically an IP address or a hostname.
  • DEFOG_DBNAME: This is the name of the database that you want to use for Defog. This database should be created in the INTERNAL_DB database.
  • DEFOG_DBUSER: This is the username that you want to use to connect to the DEFOG_DBNAME database.
  • DEFOG_DBPASS: This is the password that you want to use to connect to the DEFOG_DBNAME database.
  • DEFOG_DBPORT: This is the port that the DEFOG_DBNAME database is open on.

For each of the images, you will need to build the docker image, and then deploy it. You can find the instructions for building and deploying each of the images in the respective repositories. Running docker compose up --build in each image directory will be sufficient to deploy the images.

API Access and Documentation

Each endpoint in the docker image has a corresponding API endpoint that you can access. You can find the API documentation for each of the images in the respective repositories, by navigating to the /docs endpoint. Here, you will find the documentation for each of the endpoints in the OpenAPI format inside a Swagger collection.

API