Skip to main content

Datadios On-Premises Installation Guide - Ubuntu

Supported Ubuntu versions: 24.04 LTS or newer

System Requirements​

Hardware Requirements (Minimum)​

ComponentSpecification
Processor3.1 GHz Intel Xeon Platinum (4 core)
Memory (RAM)16GB
Storage Volume128GB

Ubuntu Installation Steps​

Software Prerequisites​

  • Latest version of Docker (Ensure Docker is usable as a non-root user)
  • Docker Compose

Prerequisites Installation Steps​

Run the following commands in your terminal to install Docker and Docker Compose:

# Update package index
sudo apt update

# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Install Docker Compose
sudo apt install docker-compose-plugin

# Add user to docker group
sudo usermod -aG docker $USER
newgrp docker

Verify the installation:

docker --version
docker compose version

If both commands return version numbers, Docker and Docker Compose are properly installed.

Pre-Installation Setup​

Access for Datadios​

Datadios needs access to all the data sources you will be connecting through the platform.

  1. If Datadios is used for migration validation, it needs access to the source and destination databases used for validation (e.g., Snowflake, Oracle, SQL Server, etc.)
  2. For ports, see the docker compose file (Datadios can be setup for http or https)

Outbound Internet Access​

Datadios makes one optional outbound connection of its own at server start:

DestinationPortWhenRequired?
models.dev443Once at server start, at most every 14 daysNo — fails soft

This refreshes the list of Gen AI models offered in the OpenAI, Claude, Gemini and Cohere data source dropdowns. If it is blocked, Datadios logs it and serves the model lists that shipped with your release — nothing errors and nothing is blocked.

On an air-gapped or firewall-restricted host, disable it explicitly so the server does not wait out the timeout on each start:

GENAI_CATALOG_ENABLED=false

See Gen AI Model Catalog for the full behaviour, configuration options, and the upgrade notes.

Docker Hub Access​

Datadios needs to pull the required Docker images from Docker Hub. Ensure you have access to Docker Hub and the necessary credentials provided by the Datadios team.

Docker Hub Login​

Run the following command in your terminal:

docker login -u docker-hub-username -p docker-hub-password

Replace docker-hub-username and docker-hub-password with the credentials provided by the Datadios team.

PostgreSQL Database Configuration​

Datadios uses PostgreSQL as its backend database to store configuration and user data. The database can be set up either on the cloud or locally.

Cloud-based PostgreSQL Server​

Datadios can connect to a cloud-based PostgreSQL server. The PostgreSQL server should be set up with the pg_partman and pg_vector extensions. You'll need the following information from your cloud provider:

  • Database URL/endpoint
  • Username
  • Password

Local PostgreSQL Server​

Datadios can also run a local PostgreSQL server using Docker. You don't need to set up PostgreSQL separately; this will be installed as part of Datadios installation.

Installing Datadios​

Download the following two files:

⬇Download install_datadios.sh

Bash script to generate docker-compose configuration from template with user inputs

⬇Download docker-compose-template.yaml

Docker Compose template file used by the installation script

After downloading both files:

  1. Place them in the same directory
  2. Open a terminal in that directory
  3. Make the script executable: chmod +x install_datadios.sh
  4. Run the script by executing: ./install_datadios.sh

The script will prompt you for configuration details (server name, port, database password, and data directory), create the required docker-compose configuration file, and pull the necessary Docker images from Docker Hub.

Running Datadios​

Download the following file:

⬇Download run_datadios.sh

Bash script to start Datadios Docker containers

After downloading the file:

  1. Place it in the same directory as your docker-compose files (created during installation)
  2. Open a terminal in that directory
  3. Make the script executable: chmod +x run_datadios.sh
  4. Run the script by executing: ./run_datadios.sh

The script will start the Datadios containers using the configuration files generated in the installation step.

Verifying the Installation​

Once the containers are running, verify the installation. Please note that it may take upto 5 minutes for the Datadios service to be fully up and running after running the RunDatadios.ps1 script for the first time.

  1. Open a web browser
  2. Visit http://localhost:<PORT_NUMBER> (replace <PORT_NUMBER> with the port you configured during installation)
  3. If https is enabled, access https://<your-server-address/dns>

You should see the Datadios login page.

Datadios keeps you signed in with a session cookie. A cookie marked Secure is only sent over HTTPS, so it cannot be read off an unencrypted connection. The COOKIE_SECURE setting controls this:

ValueWhat it does
auto (default for on-premises installs)The cookie is Secure when you open Datadios over HTTPS, and not when you use HTTP. It works for both, so you do not need to change anything.
trueAlways Secure. Use it when Datadios is only reachable over HTTPS. Over plain HTTP, sign-in will not stick (see below).
falseNever Secure. Only for a test setup on plain HTTP.

You do not need to do anything after an install or an update: installs served over HTTP keep working, and installs served over HTTPS get the Secure cookie automatically.

To force a value, open the docker-compose file created during installation and find the COOKIE_SECURE line in the Datadios service's environment: list. Change it to the value you want (add the line if your file does not have one), then restart the containers:

      - COOKIE_SECURE=true

If you put your own TLS proxy or load balancer in front of Datadios, make sure it sends the X-Forwarded-Proto header (in nginx: proxy_set_header X-Forwarded-Proto $scheme;) so Datadios can tell the connection is secure. If it cannot, set COOKIE_SECURE=true. With more than one proxy in front, the one closest to Datadios must pass the original value on (in nginx: proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;) instead of replacing it with its own $scheme, or Datadios will treat an HTTPS site as HTTP.

Signed in, then sent back to the login page? Your browser dropped the cookie because COOKIE_SECURE=true is set but you are using plain HTTP. Open Datadios over HTTPS (recommended), or set COOKIE_SECURE=auto. The server log also shows Login over plain HTTP with COOKIE_SECURE=true.

Monitoring Resource Usage​

To check CPU, memory, and disk usage for Docker, run the following command in your terminal:

docker stats

This will display real-time resource usage for all running containers.

Stopping Datadios​

Download the following file:

⬇Download stop_datadios.sh

Bash script to stop Datadios Docker containers

After downloading the file:

  1. Place it in the same directory as your docker-compose files
  2. Open a terminal in that directory
  3. Make the script executable: chmod +x stop_datadios.sh
  4. Execute the script by running: ./stop_datadios.sh

The script will stop the Datadios containers using the configuration files generated during installation.

Updating Datadios​

Download the following file:

⬇Download update_datadios.sh

Bash script to update Datadios Docker image

After downloading the file:

  1. Place it in the same directory as your docker-compose files
  2. Open a terminal in that directory
  3. Make the script executable: chmod +x update_datadios.sh
  4. Run the script by executing: ./update_datadios.sh

This will pull the latest Docker images from Docker Hub. Once the update is complete, you can restart the containers using the run_datadios.sh script.

Access for Datadios​

Datadios needs access to all the data sources you will be connecting through the platform.

  1. If Datadios is used for migration validation, it needs access to the source and destination databases used for validation (e.g., Snowflake, Oracle, SQL Server, etc.)
  2. For ports, see the docker compose file (Datadios can be setup for http or https)