Where Does PeerTube Store Config, Videos, and Data?
Where PeerTube keeps its production.yaml config, video storage, and database on a standard install.
Last updated
PeerTube splits state three ways: production.yaml for config, a storage tree for videos and derived files, and Postgres for everything relational. Standard installs put config in /etc/peertube and storage wherever the admin mounted it.
Migrations need all three plus version parity. The usual failure is moving storage without the database (or the reverse), producing a library of ghosts or a database of missing files. Redis is the only piece you can ignore; it rebuilds itself.
Where PeerTube stores this, by platform
/etc/peertube/production.yaml
production.yaml with secrets, storage paths, and transcoding settings. Keep a redacted copy in version control. Docker images relocate it under /config, so check the compose file for the real mount.
Frequently asked questions
how do i migrate peertube to a new server
Copy the storage tree plus a database dump (Postgres) and the production.yaml to the new box, keeping versions matched. Videos, thumbnails, and captions live as files; everything relational lives in Postgres. Redis holds only ephemeral state and needs no backup.
where is the peertube config file
In /etc/peertube/production.yaml (or the config dir your install chose). It holds secrets, mail, storage paths, and transcoding options. Never commit it with secrets intact. Environment overrides exist but the file remains the readable record.
where are peertube video files stored
In the storage/ tree: videos/, streaming-playlists/, thumbnails/, captions/, plus redundancy mirrors. The paths are set in production.yaml, so the tree can live on object storage or a big mount. Back up storage alongside the database or restores mismatch.
Notice an outdated path? Let us know.