TinyIce is a high-performance audio streaming server that offers a simple, zero-config setup for instant deployment. Built in Go, it ensures secure streaming with features like automatic SSL, real-time dashboards, and multi-tenant support. Ideal for users looking for a reliable Icecast2-compatible solution.
TinyIce is a lightweight, high-performance audio streaming server designed for quick and efficient deployment. Compatible with Icecast2, it is developed in Go and focuses on providing a secure and modern solution for audio streaming. With TinyIce, users can set up an Icecast server in seconds using a single binary that contains all required assets, eliminating the need for complex configurations.
Key Features
- Instant Deployment: Deploy quickly with a self-contained binary that encompasses all components.
- Zero-Config Security: Automatically generated secure credentials enhance security from the first run.
- Multi-Tenant Support: Create various admin accounts, each managing their specific mount points independently.
- Edge-Ready Relaying: Pull streams from remote servers with automatic reconnection and ICY metadata parsing.
- Robust Security: Implements salted bcrypt password hashing, CSRF protection, and HTTP resource hardening for enhanced security.
- Auto-HTTPS: Supports Let's Encrypt, providing SSL certificates without manual configuration.
- Real-time Insights: Analyze server performance through SSE-powered dashboards and hardware-accelerated charts.
- Playback History: Maintain a lightweight SQLite database for persistent song tracking.
- Observability: Built-in Prometheus metrics endpoint and structured logging enhance monitoring capabilities.
Compatibility and Workflow
TinyIce works seamlessly with standard source clients like BUTT, OBS, Mixxx, and LadioCast, as well as various media players such as VLC and web browsers. An approval workflow for new streams ensures security by hiding unapproved streams until validation by an administrator. The server also features a dual-protocol architecture supporting both HTTPS for listeners and plain HTTP for legacy encoders.
Efficient Management
Dynamic management capabilities allow real-time modifications to mount points, users, and relays. The server provides functions for IP banning to block malicious activities and supports legacy API calls for compatibility with existing Icecast tools. Users can view metadata for the currently playing songs, enhancing listener engagement.
Getting Started
To set up TinyIce, build the application using Go 1.21 or later. Run the server to automatically generate configuration files with secure passwords, and connect your audio encoder by specifying the Icecast settings.
For more detailed usage and performance metrics, refer to the accompanying documentation in the repository.
No comments yet.
Sign in to be the first to comment.