Minimalist podcast publishing platform, mostly a pretext to post garbage from IRC.
Go to file
2024-09-01 19:55:47 +02:00
bin Add webapp packages 2023-05-05 21:48:32 +02:00
config configure async episode download 2024-09-01 16:27:22 +02:00
migrations Add security 2023-09-09 22:49:46 +02:00
public use Bootstrap because duck everyything 2024-02-25 20:18:39 +01:00
src fix missing publication date for episodes 2024-09-01 16:37:22 +02:00
templates show feed URL in podcast admin page 2024-02-25 22:55:19 +01:00
tests Add webapp packages 2023-05-05 21:48:32 +02:00
translations Add webapp packages 2023-05-05 21:48:32 +02:00
.env Add security 2023-09-09 22:49:46 +02:00
.env.test Add webapp packages 2023-05-05 21:48:32 +02:00
.gitignore configure formatting with php-cs-fixer 2024-02-25 20:15:29 +01:00
.php-cs-fixer.dist.php configure formatting with php-cs-fixer 2024-02-25 20:15:29 +01:00
.phpactor.json configure phpactor with php_cs_fixer 2024-02-25 22:49:40 +01:00
.symfony.local.yaml run message worker in dev webserver 2024-09-01 19:55:47 +02:00
composer.json implement new episode route in the API 2024-09-01 16:17:39 +02:00
composer.lock implement new episode route in the API 2024-09-01 16:17:39 +02:00
docker-compose.override.yml Add webapp packages 2023-05-05 21:48:32 +02:00
docker-compose.yml Add webapp packages 2023-05-05 21:48:32 +02:00
phpunit.xml.dist Add webapp packages 2023-05-05 21:48:32 +02:00
psalm.xml Work in progress… 2023-05-11 17:03:52 +02:00
README.md update readme 2024-09-01 16:37:32 +02:00
symfony.lock configure formatting with php-cs-fixer 2024-02-25 20:15:29 +01:00

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:

  1. Clone the repository.
  2. Setup your web server to use PHP-FPM (root is ./public).
  3. Create the production config file: composer dump-env prod. Set a proper app secret.
  4. Create a database and its owner, then set appropriate database credentials in the config file.
  5. Install dependencies: composer install --no-dev.
  6. Apply database migrations: php bin/console doctrine:migrations:migrate