Where Does Castopod Store Config and Media?
Castopod keeps its .env config in the package root and episode media in public/media, with episodes in MySQL and cache in Redis.
Last updated
Castopod splits state three ways. The .env file in the package root holds database credentials, base URLs, and media settings. Episode audio and images sit in public/media (or S3). Everything relational lives in MySQL with Redis as optional cache.
Docker setups mirror the same trio as named volumes for media, database, and cache. Back up .env plus media plus a database dump; cache rebuilds itself and needs no backup.
Where Castopod stores this, by platform
/var/lib/castopod (data dir; media + .env nearby)
.env config in package root; media under public/media (relocatable via media.storage, or S3). Episodes live in MySQL/MariaDB; back up all three together.
Frequently asked questions
How do I migrate a Castopod instance?
Copy the .env file, the media folder, and a database dump to the new host, then re-run the installer wizard or migrations. Any one piece alone restores nothing playable.
How do I move Castopod media to bigger storage?
Set media.storage in .env to the new location and update the web server config to match. Move existing files over before flipping the switch.
Notice an outdated path? Let us know.