bin | ||
config | ||
migrations | ||
public | ||
src | ||
templates | ||
tests | ||
translations | ||
.env | ||
.env.test | ||
.gitignore | ||
.php-cs-fixer.dist.php | ||
.phpactor.json | ||
composer.json | ||
composer.lock | ||
docker-compose.override.yml | ||
docker-compose.yml | ||
phpunit.xml.dist | ||
psalm.xml | ||
README.md | ||
symfony.lock |
LSBC
Lightweight Symfony Broadcast Client, probably.
A small platform to create podcasts and episodes, host the audio files and share the RSS feed, with external sources download abilities.
Features include:
- Lightweight, bare minimum pages;
- Simple backoffice;
- Separate users manage their own podcasts;
- A download service to add episodes from an API or the command-line by providing a URL to download and a podcast slug; this service forwards everything to yt-dlp (download) and FFProbe (metadata);
Podcasts follow mostly open standards but the “target” client is the fantastic AntennaPod, and gPodder was used in development.
Install
This project requires:
- PHP 8.3
- PostgreSQL 15 and its PHP driver
For production:
- Clone the repository.
- Setup your web server to use PHP-FPM (root is
./public
). - Create the production config file:
composer dump-env prod
. Set a proper app secret. - Create a database and its owner, then set appropriate database credentials in the config file.
- Install dependencies:
composer install --no-dev
. - Apply database migrations:
php bin/console doctrine:migrations:migrate