Linux

Where Does ZNC Store Its Config?

ZNC keeps its users, networks, and modules in small config files under a hidden .znc folder in the service account's home.

Last updated

ZNC's state is refreshingly file shaped for always on infrastructure. One directory holds the main config, per user configs, per network settings, module data, and the PEM certificate. Nothing hides in a database.

The directory belongs to whichever user runs the daemon, frequently a dedicated znc account whose home nobody browses. Finding it means thinking as that user: check its home, not yours. Version upgrades migrate the files forward automatically on first start.

Where ZNC stores this, by platform

Linux
~/.znc

znc.conf plus users and modules subdirectories live here. Back up the whole folder with the daemon stopped; it belongs to the service account, not your login.

Frequently asked questions

Can I edit the config by hand?

Edit the file with ZNC stopped or use webadmin and controlpanel instead. Hand edits while running get overwritten on shutdown, the classic IRC bouncer footgun. The web panel writes safely anytime.

How do I back up a bouncer?

Copy the whole .znc directory with the daemon stopped. Users, networks, channel buffers, and module data travel together. Restore to the same path on the new host and start the same version.

Notice an outdated path? Let us know.