Skip to main content

Configuration

Toposync has several configuration layers. This page is a short map so operators know where to change each kind of setting. A deeper configuration reference will be written separately.

Configuration layers

LayerBest forWhere it lives
UI settingsNormal product setup, extension settings, camera setup, Home Assistant connection, pipelinesStored through the Toposync API in the active data directory.
Command-line flagsOne-off process behavior such as host, port, data directory, frontend overridePassed to toposync serve or toposync processing-serve.
Environment variablesServices, Docker, Home Assistant add-on, Windows service, processing servers, media runtime pathsDefined by the shell, service manager, container, or add-on runtime.
config.jsonLast-resort manual recovery or migrationInside the active data directory.
Extension manifestsExtension identity, compatibility, backend/frontend contribution pointsPackaged inside extension wheels.

What to use first

Use the UI first for product behavior. Use command-line flags for local process options. Use environment variables for deployment and runtime integration.

Examples:

toposync serve --host 0.0.0.0 --port 8000 --data-dir ./toposync-data
TOPOSYNC_AUTH_MODE=bypass npm run dev

Do not edit config.json while Toposync is running.

Practical references

Troubleshooting

A setting changed but behavior did not

Restart the process if the setting is an environment variable or command-line flag. UI settings are generally applied through the API, but some extension runtime changes may still require restart.

I need to recover from a broken config

Stop Toposync, copy the data directory as a backup, then inspect config.json. Keep the JSON valid and avoid deleting unknown extension data unless you know which extension owns it.