Datadios On-Premises Installation Guide - Windows
Supported Windows versions: Windows 10+ Pro/Home Edition
System Requirements
Hardware Requirements (Minimum)
| Component | Specification |
|---|---|
| Processor | 3.1 GHz Intel Xeon Platinum (4 core) |
| Memory (RAM) | 16GB |
| Storage Volume | 128GB |
Software Prerequisites
- Docker Desktop software
- Make sure that running scripts is enabled in your PowerShell. You can enable it by running the following command in PowerShell as administrator:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
Docker Desktop Installation Steps
- Download and install Docker Desktop for Windows
- During installation, ensure WSL 2 backend is selected
- Restart your system after installation completes
- Verify Docker installation by opening PowerShell and running:
docker --version
docker compose version
If both commands return version numbers, Docker is properly installed.
Outbound Internet Access
Datadios makes one optional outbound connection of its own at server start:
| Destination | Port | When | Required? |
|---|---|---|---|
models.dev | 443 | Once at server start, at most every 14 days | No — 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
Open PowerShell and run:
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:
PowerShell script to generate docker-compose configuration from template with user inputs
Docker Compose template file used by the installation script
After downloading both files:
- Place them in the same directory
- Open PowerShell in that directory
- Run the script by executing:
.\InstallDatadios.ps1
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:
PowerShell script to start Datadios Docker containers
After downloading the file:
- Place it in the same directory as your docker-compose files (created during installation)
- Open PowerShell in that directory
- Run the script by executing:
.\RunDatadios.ps1
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 up to 5 minutes for the Datadios service to be fully up and running after running the RunDatadios.ps1 script for the first time.
- Open a web browser
- Visit
http://localhost:<PORT_NUMBER>(replace<PORT_NUMBER>with the port you configured during installation) - If https is enabled, access
https://<your-server-address>/dns
You should see the Datadios login page.
Login cookie: HTTP or HTTPS
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:
| Value | What 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. |
true | Always Secure. Use it when Datadios is only reachable over HTTPS. Over plain HTTP, sign-in will not stick (see below). |
false | Never 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, open PowerShell and run:
docker stats
This will display real-time resource usage for all running containers.
Stopping Datadios
Download the following file:
PowerShell script to stop Datadios Docker containers
After downloading the file:
- Place it in the same directory as your docker-compose files
- Open PowerShell in that directory
- Execute the script by running:
.\StopDatadios.ps1
The script will stop the Datadios containers using the configuration files generated during installation.
Updating Datadios
Download the following file:
PowerShell script to update Datadios Docker image
After downloading the file:
- Place it in the same directory as your docker-compose files
- Open PowerShell in that directory
- Run the script by executing:
.\UpdateDatadios.ps1
This will pull the latest Docker images from Docker Hub. Once the update is complete, you can restart the containers using the RunDatadios.ps1 script.
Access for Datadios
Datadios needs access to all the data sources you will be connecting through the platform.
- 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.)
- For ports, see the docker compose file (Datadios can be setup for
httporhttps)