Declarative configuration
Manage a self-hosted workspace's name, slug, and use case from a YAML config file in version control, with those fields locked from dashboard edits.
Self-hosted Quackback can read an optional YAML config file and apply workspace identity settings from it, so you can keep them in version control alongside the rest of your infrastructure. Fields the file declares are locked from edits in the dashboard.
Note: The config file is entirely optional. Without it, every setting stays editable in the dashboard as normal.
How it works
Quackback watches /etc/quackback/config.yaml (change the path with the QUACKBACK_CONFIG_FILE environment variable). When the file is present:
- Every value it declares is reconciled into the workspace settings, on startup and whenever the file changes.
- Those fields become read-only in the dashboard.
- Any field the file doesn't declare stays freely editable.
Remove a field from the file and that setting becomes editable again.
If the file can't be parsed or fails validation, Quackback logs the error and keeps the last valid configuration. An invalid file never silently unlocks fields.
Warning: Secrets are never read from this file. Sign-in providers, SSO, and integrations are configured in the admin UI, and their credentials stay encrypted in the database.
File format
The file is a Kubernetes-style manifest:
apiVersion: quackback.io/v1
kind: QuackbackConfig
metadata:
source: ops-repo # optional, free-form label
spec:
workspace:
name: Acme Feedback
slug: acme
useCase: saas
onboardingComplete: trueapiVersion, kind, and spec are required. Everything inside spec is optional: declare only what you want to manage. Unknown keys make the file invalid.
Schema reference
spec.workspace
Field | Type | Notes |
|---|---|---|
| string | Workspace display name (up to 200 characters). Locked in the dashboard when set. |
| string | Lowercase letters, digits, and hyphens (up to 50 characters). Locked in the dashboard when set. |
| enum |
|
| boolean | Set |
Keys from older config files
Earlier versions also accepted spec.auth (sign-in methods and SSO) and spec.features. These settings are now managed in the admin UI only. Quackback still accepts the keys so an older file doesn't fail validation, but it ignores them. Remove them from your file and configure sign-in under Admin > Settings > Access & Security.
Mount the file
With Docker, mount your config into the container:
services:
app:
volumes:
- ./quackback-config.yaml:/etc/quackback/config.yaml:roFor a manual install, place the file at /etc/quackback/config.yaml (or the path in QUACKBACK_CONFIG_FILE) and make sure the Quackback process can read it.
Related articles
Was this helpful?
Your feedback shapes what we write next.
