# 📡 TinyIce Dockerized Stream Server

This repository contains the Docker configuration for **TinyIce**, a lightweight, high-performance Shoutcast/Icecast compatible streaming server. This setup is optimized for production use behind **Nginx Proxy Manager (NPM)**.

---

## 🚀 Overview
TinyIce is a minimal streaming server written in Go. This Dockerized version ensures that the application remains portable while keeping your station settings, passwords, and listener history safe in a persistent volume.

### Key Features
* **Lightweight Base**: Uses `debian-slim` to provide the necessary libraries for the TinyIce binary.
* **Persistent Storage**: All configuration and database files are stored in a local `./config` folder.
* **Metadata Support**: Passes ICY metadata (Artist/Title) correctly to players like VLC and Winamp.
* **Anti-Ban Architecture**: Specifically configured to work with Reverse Proxies to prevent IP banning.

---

## 📂 Project Structure
```text
tinyice-docker/
├── Dockerfile          # Environment setup (Debian-slim)
├── docker-compose.yml  # Container & Volume orchestration
├── tinyice-linux-amd64 # The application binary
└── config/             # (Auto-generated) Persistent data
    ├── tinyice.json    # Station settings & Admin passwords
    └── history.db      # SQLite database for "Now Playing" history
```
## Initial credits
* This application was originally designed by DatanoiseTV And it is available on Github in its raw form and supports both Windows and Linux distributions This is merely a dockerized container of said application - https://github.com/DatanoiseTV/tinyice
* I took a while to create this container as I was trying to figure out how to get it to work the way that I wanted it intended I take no credit for the actual application I just designed the container itself - https://links.smartcraft.me/@minster586
* Additional assistance was provided by Google Gemini - https://gemini.google.com/