Linux

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

Linux
.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.