Admin Panel
The current advanced setup sample runs Admin Frontend directly against DIAL Core, without Admin Backend. For the service's purpose and dependencies, see DIAL Admin.
Admin Frontend
Use the Docker Compose example in the service reference. It sets DIAL_CORE_API_URL, leaves DIAL_ADMIN_API_URL unset, and configures Keycloak authentication. The frontend server forwards the signed-in user's token to Core.
Core's admin rules decide whether the user's token is accepted; the frontend's role settings don't restrict access. See Authentication and administrator access. The browser and the frontend container must be able to reach the same Keycloak issuer URL; Core must validate that issuer.
Optional Evaluation, Deployments (including MCP containers), and Analytics screens connect to separately deployed APIs. Their switches and URLs are listed in Optional services. The advanced sample supplies Evaluation; Admin's Analytics screens need a separately deployed DIAL Analytics. For the evaluation services' Compose settings, see the evaluation Docker Compose example.
Admin Backend
The older dial-docker-compose-advanced/dial-2.x/docker-compose-base.yml also deploys Admin Backend. Use Admin Backend configuration for its Compose fragment, database, OIDC settings, and shared configuration export volume.
In that setup, Admin Frontend sets DIAL_ADMIN_API_URL to the backend's internal URL and retains DIAL_CORE_API_URL for direct Core operations. Its network_mode: "service:keycloak" means Keycloak publishes the frontend port on its behalf; the newer sample instead publishes the frontend's port directly. Use the networking of the sample you deploy.
Further reading
- DIAL Admin configuration — the frontend reference
- Admin Backend configuration — settings of the optional Admin Backend service
- Docker Compose advanced setup: Authentication — Keycloak service and Chat authentication
- Core, Redis & Themes — backing services
- .env reference — settings for the older Compose assembly
- DIAL Admin — what DIAL Admin consists of and what it depends on