Skip to main content

Local setup

Run a complete DIAL stack on your own machine with Docker Compose. This section is for developers and DevOps engineers who want to evaluate DIAL, develop applications, or test configuration changes locally before deploying to a cluster. Each tutorial walks you from an empty directory to DIAL Chat open at http://localhost:3000, connected to a working model or application.

Every setup in this section is built from a directory in dial-docker-compose/ that includes a shared base file (common.yml) and adds the services for one scenario. The base file provides the four services common to every setup — DIAL Core, DIAL Chat, Redis, and chat themes — so each tutorial only adds what is specific to its model or application.

Which setup to choose​

SetupWhat you connectCloud account or keyBest for
Echo applicationA sample app that mirrors your promptsNoFirst run, verifying the stack, learning how apps register
Ollama modelA self-hosted chat, vision, or embedding modelNoLocal development with open models, no cloud dependency
vLLM modelA self-hosted Hugging Face model served by vLLMNoHigh-throughput local inference, GPU experimentation
Azure OpenAI modelA model deployed in Azure OpenAIAzure OpenAI endpoint and keyEvaluating DIAL against production-grade cloud models
DIAL-to-DIAL adapterModels from a remote DIAL CoreRemote DIAL Core URL and keyApp development against models you can't host locally
tip

If you only want to see DIAL working as fast as possible, start with the Echo application — it requires no cloud account, no API key, and no model download.

Apple Silicon (ARM64) users

DIAL service definitions pin platform: linux/amd64 because the epam/ai-dial-* images are currently published for linux/amd64 only. On Apple Silicon Macs, Docker runs them under emulation. Third-party images such as redis and ollama are left unpinned so they use their native arm64 builds.

What every setup shares​

The common.yml base file defines four services:

ServiceImageRole
coreepam/ai-dial-coreAPI server. Reads config.json and exposes models and applications through the Unified API on port 8080.
chatepam/ai-dial-chatWeb UI on port 3000. Uses API key authentication — no identity provider in local setups.
redisredis:7.2.4-alpine3.19Volatile cache for DIAL Core. No persistence.
themesepam/ai-dial-chat-themesStatic server for Chat theme assets.

For the full service definitions and a breakdown of volume mounts and Redis settings, see the Docker Compose configuration reference.