Where Does Self-Hosted UVDesk Store Config?
UVDesk configures through .env with app files under the web root. Tickets live in MySQL; uploads beside the code.
Last updated
UVDesk follows Symfony conventions: a .env file with database, mail, and app secrets plus config/ YAML beside the code. Tickets, agents, and mailboxes live in MySQL. Uploads and generated files sit in the project tree (data/, public/, var/ depending on image), which Docker setups mount persistently.
Install mode matters at first boot: dev until the wizard finishes, prod after. The mailbox refresh cron (uvdesk:refresh-mailbox) must exist or mail stops becoming tickets with no error anywhere visible. Docker images vary (official skeleton versus community builds), so confirm your image's exact mount paths before scripting backups; the principle stays constant across them.
Where UVDesk stores this, by platform
.env + config/ (project root)
DB, mail, secrets, site URL. Install in dev, run in prod. Mailbox cron mandatory for ticket creation. Confirm your image's mount paths; layouts vary by maintainer.
Frequently asked questions
how do i back up uvdesk
Copy the project tree (.env, config/, uploads) plus a MySQL dump with the app stopped. Tickets, users, and mailboxes travel in the database; secrets and paths in .env. Restore both halves together.
why does the uvdesk installer hang in prod mode
Install in dev, then flip APP_ENV to prod after setup completes. Prod installs hang because the installer expects dev-time services. Set APP_SECRET, timezone, and currency alongside, and clear cache on the switch.
Notice an outdated path? Let us know.