LogoDicto Docs

Install with existing AI endpoints

Deploy the Dicto core and management app while using separately hosted transcription and text-generation APIs.

Outcome and requirements#

This recipe installs the reference core stack and uses inference endpoints you already operate or are authorized to use. Follow requirements and download the setup. All commands run from the extracted dicto-reference-setup directory. The pinned server is 2.4.2; see validation scope.

Collect a public hostname, ACME email, registry access, bootstrap administrator credentials, and each provider's full API root, API key and model identifier. The server's network must reach those providers. A successful /v1/models list alone does not verify audio uploads or generation.

Configure the files#

cp secrets.env.example secrets.env
chmod 600 secrets.env
openssl rand -hex 32

Generate independent random values for database/auth/storage secrets. Replace every REPLACE_ placeholder. Set DICTO_HOST and ACME_EMAIL. Replace dicto.example.org in server/server.yaml, app-management/public.env and config/app.yaml; the hostname appears in both the public API URL and auth settings.

Set CHAT_BASE_URL, CHAT_API_KEY, TRANSCRIPTION_BASE_URL and TRANSCRIPTION_API_KEY to the actual provider settings. Include required /v1 or gateway prefixes. In server/server.yaml, change each provider_model to an ID accepted by that provider. The example IDs llm-default and whisper are aliases for the self-hosted recipe and may not exist on your external service.

Only advertise capabilities you have verified. See model configuration and authentication. If chat is not part of the installation, omit its configured model catalog instead of claiming a working LLM feature. Scripto may require a separate agent service.

Validate and start#

Authenticate Docker to GHCR using an authorized pull credential, then:

docker compose --env-file secrets.env config --quiet
docker compose --env-file secrets.env run --rm --no-deps migrator validate-config
docker compose --env-file secrets.env run --rm --no-deps migrator validate-config --resolve-env
docker compose --env-file secrets.env up --build -d postgres storage storage-init
docker compose --env-file secrets.env up --build -d
docker compose --env-file secrets.env ps --all

The bucket initializer and migrator must exit zero before API/jobs start. The GPU overlays and gateway profile are not enabled in this recipe. Leave their unused variables supplied as placeholders, or remove the unused gateway definition when creating your own deployment.

Verify and finish bootstrap#

Open https://YOUR_HOST/management/, sign in and verify the browser uses your public /api URL. Run the end-to-end checklist, including stored-audio playback, transcription and a separate chat check if enabled.

Disable seed.admin.enabled in server/server.yaml, then recreate the consumers:

docker compose --env-file secrets.env up -d --force-recreate server jobs

See management deployment for browser routing and operations before rolling out to users.