-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Wiki Publisher edited this page Feb 1, 2026
·
3 revisions
Welcome to the Grimnir Radio documentation. Grimnir Radio is a modern, production-ready broadcast automation system built in Go with multi-instance scaling, comprehensive observability, and flexible deployment options.
- Getting Started - Install and run Grimnir Radio in minutes
- Installation Guide - Docker, Nix, and source installation
- Architecture Overview - System design and components
- API Reference - Complete REST API documentation
- Configuration Guide - Configure Grimnir Radio
- Production Deployment - Deploy to production
- Migration Guide - Migrate from AzuraCast/LibreTime
- Smart Blocks - Rule-based playlist generation with criteria filtering
- Clock Scheduling - Hour templates with repeating patterns
- Live Broadcasting - DJ handover with priority system
- Webstream Relay - HTTP stream relay with automatic failover
- Multi-Mount Support - Multiple output streams per station
- Media Management - Local filesystem or S3-compatible storage
- Multi-Instance Scaling - Horizontal scaling with Redis/NATS
- Leader Election - Automatic leader election for scheduler
- Health Monitoring - Prometheus metrics and OpenTelemetry tracing
- Event Bus - Distributed events with Redis or NATS JetStream
- 5-Tier Priority System - Emergency, Live Override, Live Scheduled, Automation, Fallback
Grimnir Radio uses a modern microservices-inspired architecture:
┌─────────────────┐ ┌──────────────────┐
│ Control Plane │────▶│ Media Engine │
│ (REST API) │gRPC │ (GStreamer) │
└─────────────────┘ └──────────────────┘
│ │
├──────────┬────────────┤
▼ ▼ ▼
┌────────┐ ┌────────┐ ┌──────────┐
│ RDBMS │ │ Redis │ │ Icecast │
└────────┘ └────────┘ └──────────┘
- Control Plane: Go HTTP API, scheduler, authentication, WebSocket events
- Media Engine: GStreamer-based audio processing and streaming (separate process)
- Storage: PostgreSQL/MySQL/SQLite for metadata, filesystem/S3 for media files
- Event Bus: Redis or NATS for multi-instance coordination
- Configuration Reference
- Production Deployment
- Multi-Instance Setup
- Monitoring & Observability
- Database Optimization
- GitHub: friendsincode/grimnir_radio
- Issues: Report bugs or request features
- License: AGPL-3.0-or-later
- Current Version: 1.2.26
- Latest Update: 2026-02-01
- Status: Production Ready ✅
- OpenAPI Spec: api/openapi.yaml
- Python Client: grimnir_client.py
See CHANGELOG for version history and Roadmap for upcoming features.
- Language: Go 1.24+
- Media Processing: GStreamer 1.0
- Database: PostgreSQL 12+ (or MySQL 8+, SQLite 3.35+)
- Event Bus: Redis 6+ or NATS 2.9+
- Object Storage: S3-compatible (AWS S3, MinIO, Spaces, B2)
- Streaming: Icecast2 / SHOUTcast
- Observability: Prometheus, OpenTelemetry
- API Reference - Complete REST API documentation
- Engineering Spec - Detailed technical specification
- Sales Spec - Feature comparison and positioning
- CHANGELOG - Version history and release notes
Getting Started
Core Concepts
Deployment
Integration
Operations
Development
Reference