Overview
Discover what makes LibreTime powerful
LibreTime is a full‑stack, self‑hosted media streaming platform that empowers developers to build and operate online or terrestrial radio stations. At its core, it orchestrates media ingestion, scheduling, and real‑time playout while exposing a RESTful API for programmatic control. The system is built to run in containerized environments, making it suitable for cloud deployments or on‑premises servers. Its modular architecture separates the front‑end user interface from a robust back‑end service layer, allowing developers to extend or replace components without disrupting the overall workflow.
Automated Scheduling
Multi‑platform Output
Library Management
Webhooks & Events
Overview
LibreTime is a full‑stack, self‑hosted media streaming platform that empowers developers to build and operate online or terrestrial radio stations. At its core, it orchestrates media ingestion, scheduling, and real‑time playout while exposing a RESTful API for programmatic control. The system is built to run in containerized environments, making it suitable for cloud deployments or on‑premises servers. Its modular architecture separates the front‑end user interface from a robust back‑end service layer, allowing developers to extend or replace components without disrupting the overall workflow.
Key Features
- Automated Scheduling – A rule‑based scheduler handles shows, programs, and ad sweeps, producing a real‑time play queue that can be queried via API.
- Multi‑platform Output – Supports AM/FM, IP broadcast (Icecast/Ogg), and WebSocket streaming to web clients.
- Library Management – Import music, podcasts, and program files with metadata extraction; the library can be queried or updated through API endpoints.
- Webhooks & Events – Exposes hooks for external services to react to schedule changes, play events, or media uploads.
- User & Role Management – Built‑in authentication with fine‑grained permissions, ideal for collaborative station workflows.
Technical Stack
- Back‑end – Python 3.10+, Django REST Framework, Celery for background jobs, and PostgreSQL as the primary database.
- Front‑end – Vue.js 3 with Vuetify for a responsive admin interface; communicates exclusively over the REST API.
- Media Server – Uses
ffmpegfor transcoding andnginx‑rtmpor Icecast for streaming; the playout engine is a lightweight Go service that reads the play queue and pushes to the chosen output. - Containerization – Docker Compose files are provided for local development, while Helm charts enable Kubernetes deployments.
- Testing – Argos Visual Testing integration ensures UI regression detection; unit tests are written in pytest for the back‑end.
Deployment & Infrastructure
LibreTime can be deployed on any Linux host with Docker support. The recommended stack is a PostgreSQL instance, Redis for Celery broker and cache, and the media server container. Horizontal scaling is straightforward: the API layer can be load‑balanced across multiple Django workers, while Celery beat and worker processes are stateless. For high‑availability streaming, multiple playout nodes can be configured to fail over automatically.
Integration & Extensibility
The API follows standard REST conventions, making it easy to integrate with external CMSs, analytics dashboards, or custom scheduling tools. Developers can create plugins by extending the Django app registry; the system exposes signals for events like track_started or schedule_updated. Webhooks allow external services to subscribe to real‑time updates, enabling use cases such as live chat integration or dynamic ad insertion.
Developer Experience
Documentation is comprehensive, covering architecture diagrams, API reference, and deployment guides. The community forum on Discourse and Matrix channels provide active support, while the open‑source license (AGPLv3) encourages contribution. The codebase follows PEP8 and Vue best practices, with linters and CI pipelines that enforce quality. Continuous integration tests run against multiple Python versions to ensure compatibility.
Use Cases
- Community Radio Stations – Quick setup for local stations that need a reliable scheduler and web presence.
- Educational Broadcasting – Schools can automate lecture recordings, podcasts, and live streams with minimal overhead.
- Event Live Streaming – Conferences or festivals can use LibreTime to manage multiple streams, schedule segments, and integrate with ticketing APIs.
- Podcast Networks – Centralized library management and scheduled distribution to multiple platforms via the API.
Advantages
LibreTime offers a blend of flexibility, performance, and licensing freedom that sets it apart from proprietary solutions. Its Python/Django core provides a familiar environment for backend developers, while the Vue front‑end delivers a polished admin experience. Containerization and Helm charts enable rapid scaling, and the AGPLv3 license ensures that improvements remain community‑owned. Developers who need a customizable, open‑source radio platform will find LibreTime’s modular design and robust API the ideal foundation.
Open SourceReady to get started?
Join the community and start self-hosting LibreTime today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
FeedCord
Discord‑centric RSS & YouTube feed reader
Mautic
Open‑source marketing automation for data sovereignty
youtube-dl-server
Web and REST interface for downloading YouTube videos
Traggo
Tag‑based time tracking for flexible work logging
Termix
Web‑based SSH terminal and server management platform
RELATE
Interactive courseware for code, quizzes, and analytics
