Where Does a Hubzilla Server Store Data?
Hubzilla stores config in .htconfig.php and user files in store/. The database holds channels and posts; uploads live on disk.
Last updated
Hubzilla centers on two paths. The .htconfig.php file in the web root holds database credentials, the site URL, polling, and addon toggles. The store/ directory beside it holds attachments, photos, avatars, and Smarty compile data. Posts, channels, and permissions live in MySQL/MariaDB or PostgreSQL.
Docker images wrap the same layout with environment files for first boot. Variables like DOMAIN, ADMIN_EMAIL, and DB_* seed the install, but day to day state still accumulates in .htconfig.php, store/, and the database volume. Nomadic identity raises the stakes: channels can clone across hubs, and a partial backup restores an identity whose files point nowhere.
Where Hubzilla stores this, by platform
.htconfig.php + store/ (web root)
DB credentials, URL, and addon toggles in the web root. store/ holds uploads and compiled templates. Mount both plus the database volume persistently; env files only seed first boot.
Frequently asked questions
how do i back up a hubzilla hub
Copy .htconfig.php, the store/ directory, and a database dump together. Channels are cryptographic identities, so the config plus keys plus rows must match. Test restores on a staging clone before touching production.
does the docker setup use different paths
Yes. The .env and compose files drive initial setup, but the running hub reads .htconfig.php and store/ like any install. Bind both plus the database volume persistently and upgrades keep working.
Notice an outdated path? Let us know.