BonePMS is a super simple self-hosted podcast management system. It allows you to easily manage and distribute your podcasts, focusing on ease of use. Built with Laravel 11, Alpine.js, and using SQLite by default, it's highly customizable and easy to extend.
Install dependencies:
composer install
npm install
Install and configure BonePMS using custom Artisan commands:
php artisan bonepms:install
php artisan bonepms:configure
Build assets:
npm run build
OPTIONAL - Start the development server:
php artisan serve
Visit http://localhost:8000 in your browser to access BonePMS.
For production environments, consider the following:
.env file, particularly APP_ENV and APP_DEBUG.storage/app/public directory is writable by the web server user.php.ini settings based on the maximum file size you'll upload:upload_max_filesizepost_max_sizememory_limitclient_max_body_size directive in the Nginx configuration file. For Apache, increase the LimitRequestBody directive in the Apache configuration file or .htaccess file.php artisan config:cache
php artisan route:cache
php artisan view:cache
You can customize various settings in the config/bonepms.php file, including:
BonePMS supports both local and S3 storage. You can configure your preferred storage method in the settings.
The dashboard provides an overview of your podcasts, including:
Easily create and manage multiple podcasts. Each podcast can have its own:
BonePMS automatically generates RSS feeds for each podcast, making it easy to distribute your content to various podcast platforms. There’s a one-click option to copy the RSS feed URL to your clipboard.
You can customize various settings on the settings page, including: