Linux

Where Does Trac Store Environments and Config?

Each Trac project is an environment folder with conf/trac.ini plus db/trac.db. Copy the folder for a complete backup.

Last updated

Trac keeps each project in an environment directory: conf/trac.ini for all settings, db/trac.db for the SQLite database, attachments for ticket files, plus version and template overlays. Postgres and MySQL move the rows out, but the folder stays the unit. The web user needs write across the whole tree since Trac reloads on trac.ini timestamp changes.

Global configs layer through [inherit] file pointers, letting fleets share defaults while environments override locally. Most trac.ini edits apply live; components and logging sections need a web restart. Backups are one folder copy (plus external db dump when used), which is refreshingly simple for a tracker of its age.

Where Trac stores this, by platform

Linux
<env>/conf/trac.ini

Main config with [inherit] support for shared globals. Web user needs write on the file for live reload. Back with the environment folder; most edits apply without restart.

Frequently asked questions

how do i back up a trac environment

Copy the whole environment directory (conf/trac.ini, db/trac.db, attachments, htdocs) with the web server stopped. SQLite users carry the db inside; Postgres/MySQL users dump that database too. Web user needs write on the restored tree.

how do i share config across trac projects

Add an [inherit] file = stanza pointing at the shared trac.ini. Local values override globals, so strip duplicated keys from the local file after adding inheritance or they shadow the shared ones forever.

Notice an outdated path? Let us know.