LogoDicto Docs

Architecture and service connections

Understand the public URLs, private services and inference path before installing Dicto.

Dicto clients and the management app connect to the backend API. The backend uses PostgreSQL for application data and object storage for recordings/files. API, migration and jobs containers use the same release and configuration. Transcription and text generation run in separate inference services.

Browser / desktop client ── HTTPS ── reverse proxy ── Dicto API
Management browser app ──── HTTPS ────────────────┘      │
                                                      ├─ PostgreSQL
                                                      ├─ object storage
                                                      ├─ transcription endpoint
                                                      └─ chat/LLM endpoint
Migration container ── PostgreSQL     Jobs ── shared config + uploads

An optional LLM gateway supplies stable model aliases and routes requests to Whisper, a text model or other configured providers. It does not run model weights. Transcription can work without a chat model; a working chat model does not establish transcription, realtime or diarization compatibility.

Public and private addresses#

The reference deployment follows the maintained path layout:

AudienceAddress in the examplePurpose
Browser/client https://dicto.example.org/api Public API base URL
Administrator https://dicto.example.org/management/ Management app
API/jobshttp://storage:9000Private S3-compatible storage
API/jobshttp://llm-server:8000/v1Optional inference gateway
Proxy server:3000, management:80 Private forwarding targets

Container names are resolved on the Docker network, not in users' browsers. The proxy strips /api before forwarding to the backend and preserves /management/ for the management app. Configure both the browser-facing URLs and internal provider URLs explicitly.

Pick a complete recipe#

Choose existing inference endpoints or self-hosted AI. Both use the same downloadable core configuration. Start with requirements, then use the component guides when adapting one service.