Can't create podcasts or episodes after adding S3 config
Hi. I'm not entirely sure if the following is a bug or if I'm missing some important bit of configuration — I'm pretty new to self-hosting and using S3 storage, so bear with me please.
Describe the bug
I'm trying to get S3 set up. I followed the instructions in the documentation, but afterwards, I can't create a new podcast or episode. If I remove the S3 config from the .env file, everything works fine.
Steps to reproduce
- add S3 config to .env file
- create new podcast or episode in backend
Expected behavior
New podcast or episode is created and relevant files are uploaded.
Actual behavior
I get the "we've hit a snag" page and the error message pasted below.
Relevant logs and/or screenshots
ErrorException: Undefined array key "extension" in /var/www/castopod/modules/Media/Entities/BaseMedia.php:74
Stack trace:
#0 /var/www/castopod/modules/Media/Entities/BaseMedia.php(74): CodeIgniter\Debug\Exceptions->errorHandler()
#1 /var/www/castopod/modules/Media/Entities/Image.php(30): Modules\Media\Entities\BaseMedia->initFileProperties()
#2 /var/www/castopod/modules/Media/Entities/Image.php(71): Modules\Media\Entities\Image->initFileProperties()
#3 /var/www/castopod/vendor/codeigniter4/framework/system/Database/MySQLi/Result.php(145): Modules\Media\Entities\Image->setAttributes()
#4 /var/www/castopod/vendor/codeigniter4/framework/system/Database/BaseResult.php(149): CodeIgniter\Database\MySQLi\Result->fetchObject()
#5 /var/www/castopod/vendor/codeigniter4/framework/system/Database/BaseResult.php(106): CodeIgniter\Database\BaseResult->getCustomResultObject()
#6 /var/www/castopod/vendor/codeigniter4/framework/system/Database/BaseResult.php(377): CodeIgniter\Database\BaseResult->getResult()
#7 /var/www/castopod/vendor/codeigniter4/framework/system/Model.php(250): CodeIgniter\Database\BaseResult->getFirstRow()
#8 /var/www/castopod/vendor/codeigniter4/framework/system/BaseModel.php(622): CodeIgniter\Model->doFirst()
#9 /var/www/castopod/modules/Media/Models/MediaModel.php(110): CodeIgniter\BaseModel->first()
#10 /var/www/castopod/app/Entities/Podcast.php(263): Modules\Media\Models\MediaModel->getMediaById()
#11 /var/www/castopod/vendor/codeigniter4/framework/system/Entity/Entity.php(491): App\Entities\Podcast->getCover()
#12 /var/www/castopod/app/Models/PodcastModel.php(444): CodeIgniter\Entity\Entity->__get()
#13 /var/www/castopod/vendor/codeigniter4/framework/system/BaseModel.php(1479): App\Models\PodcastModel->setActorAvatar()
#14 /var/www/castopod/vendor/codeigniter4/framework/system/BaseModel.php(758): CodeIgniter\BaseModel->trigger()
#15 /var/www/castopod/vendor/codeigniter4/framework/system/Model.php(667): CodeIgniter\BaseModel->insert()
#16 /var/www/castopod/modules/Admin/Controllers/PodcastController.php(250): CodeIgniter\Model->insert()
#17 /var/www/castopod/modules/Admin/Controllers/PodcastController.php(46): Modules\Admin\Controllers\PodcastController->attemptCreate()
#18 /var/www/castopod/vendor/codeigniter4/framework/system/CodeIgniter.php(901): Modules\Admin\Controllers\PodcastController->_remap()
#19 /var/www/castopod/vendor/codeigniter4/framework/system/CodeIgniter.php(457): CodeIgniter\CodeIgniter->runController()
#20 /var/www/castopod/vendor/codeigniter4/framework/system/CodeIgniter.php(340): CodeIgniter\CodeIgniter->handleRequest()
#21 /var/www/castopod/public/index.php(73): CodeIgniter\CodeIgniter->run()
#22 {main}
Context
- Castopod: 1.35
- OS: Debian server with Yunohost
- Browser: [e.g. chrome, safari]
- Web server: NGINX (I think?)
- S3 storage from Storj