---
title: Configuration and data locations
description: Know which settings Teloa manages, which belong to the Harness, and where your data lives.
lastVerified: 2026-09-23
---

# 5.1 Configuration and data locations

The current source workflow runs Teloa and DSH in local Node.js processes, with only PostgreSQL in Docker by default. Compose runs all three in containers. Both existing workflows use standard Docker; OrbStack is not required. The native npm installer is not yet released, so the paths below describe the existing workflows.

## Where files and programs are used

Native mode uses a local working directory and integrated, authorized tools. Compose uses programs and a working directory inside the container. The default Compose configuration does not mount your computer's entire filesystem and cannot directly invoke native desktop applications.

To expose a host directory to a container, configure an explicit mount and its read/write permissions. The path belongs to the machine running the Docker engine; a remote engine does not automatically receive files from your computer. See [Docker bind mounts](https://docs.docker.com/engine/storage/bind-mounts/).

## Who manages each setting

| Setting | Managed in | What to check |
| --- | --- | --- |
| Business areas, colleagues, tasks and grants | Teloa pages and database | Use the supported actions; direct database edits bypass validation |
| Models, credentials, MCP and runtime profiles | The DSH configuration reached from Settings | Verify a real call after saving |
| Plugin composition | Source configuration and `setup:dsh` | Prepare and build again after changes |
| Browser authentication | A new authentication link from the launcher | The link changes after restart; do not publish it |

## Compose data locations

| Named volume | Container path | Contents |
| --- | --- | --- |
| `app-data` | `/data` in the app | DSH conversations, model configuration, Teloa working files and knowledge |
| `postgres-data` | `/var/lib/postgresql/data` in the database | PostgreSQL business data |
| `database-secret` | `/run/teloa-secrets` in the app and database | The generated database password |

Actual volume names include the Compose project prefix, such as `teloa_app-data`. Using `-p` changes that prefix. Do not confuse these volumes with the fixed container used for source development.

DSH configuration lives in `/data/dsh`, Teloa runtime data in `/data/teloa`, and the working directory in `/data/teloa/workspace`. The database is reachable through the internal Compose service `db`; no database port is published on the host.

## Source development data locations

When running Node.js directly, the database volume is `teloa-postgres-data`, the Teloa runtime directory is `.runtime/teloa`, and the DSH directory is `.runtime/dsh`. The adapter log is `harness.log` inside the runtime directory. Redact it before sharing.

For either installation, back up both the database and the working files. Copying source code or connection settings alone is not a complete backup.

## Planned npm data layout

The npm installer is planned to keep program versions, application data, and user working directories separate. Updating the npm package will not automatically migrate data or restart the service. Docker PostgreSQL will be the default, with an existing local dedicated database as an alternative. These installation and maintenance commands are not available yet; maintain current data according to the workflow you are using.

## After changing configuration

Check that the change was saved, that it applies to the intended colleague or task, and that an actual call succeeds. Plugin code or composition changes may require a build and service restart in development. Refreshing the browser does not reload server code.

See [Commands and configuration](https://docs.teloa.ai/markdown/en/reference/configuration.md) for environment variables and [Backup, restore and upgrades](https://docs.teloa.ai/markdown/en/deploy/backup.md) for maintenance.
