asteroid/docs
Glenn Thompson ab7a7c47b5 Complete CLIP template refactoring and all template features
 CLIP Template System:
- Created template-utils.lisp with centralized rendering
- Template caching for performance
- render-template-with-plist for consistent API
- Proper CLIP attribute processors (data-text)
- Documentation in docs/CLIP-REFACTORING.org

 Admin Dashboard Complete:
- System Status: All 4 indicators working (Server, DB, Liquidsoap, Icecast)
- Music Library: Scan, upload, duplicate detection working
- Track Management: Pagination (20/page, configurable 10/20/50/100)
- Player Control: HTML5 audio player with play/pause/stop
- User Management: Moved to separate /admin/users page

 User Management:
- New /admin/users route with dedicated page
- Inline user creation form
- User stats dashboard
- Role management (listener/DJ/admin)
- Activate/deactivate users
- API endpoint /api/users/create
- Tested with curl - all working

 Live Stream & Now Playing:
- Fixed: Green 🟢 LIVE STREAM indicator (was red)
- Fixed: Stream quality display matches selected stream (AAC/MP3)
- Now Playing updates every 10s from Icecast
- No HTML rendering bugs - working correctly

 Track Library:
- Fixed recursive directory scanning bug
- 64 tracks scanned and in database
- Pagination working perfectly

 Front Page & Web Player:
- Station Status shows correct stream quality
- Quality selector updates all displays
- Live stream indicators green
- Now Playing working on all pages

All Templates section items complete [4/4] 
2025-10-04 09:54:04 -04:00
..
API-REFERENCE.org feat: Add auto-scan on startup and live Icecast/Liquidsoap status checks 2025-10-04 09:54:04 -04:00
CLIP-REFACTORING.org Complete CLIP template refactoring and all template features 2025-10-04 09:54:04 -04:00
DEVELOPMENT.org feat: Add auto-scan on startup and live Icecast/Liquidsoap status checks 2025-10-04 09:54:04 -04:00
DOCKER-STREAMING.org feat: Add auto-scan on startup and live Icecast/Liquidsoap status checks 2025-10-04 09:54:04 -04:00
INSTALLATION.org feat: Add auto-scan on startup and live Icecast/Liquidsoap status checks 2025-10-04 09:54:04 -04:00
PROJECT-OVERVIEW.org feat: Add auto-scan on startup and live Icecast/Liquidsoap status checks 2025-10-04 09:54:04 -04:00
README.org feat: Add auto-scan on startup and live Icecast/Liquidsoap status checks 2025-10-04 09:54:04 -04:00

README.org

Asteroid Radio - Documentation Index

Welcome to Asteroid Radio Documentation

Asteroid Radio is a modern internet radio platform designed for developers and music enthusiasts who want to run their own radio stations streaming Asteroid Music - the perfect soundtrack for coding and hacking sessions.

Quick Start

For immediate setup, see:

  1. Installation Guide - Get Asteroid Radio running
  2. Docker Streaming Setup - Docker-based streaming infrastructure

Documentation Structure

Core Documentation

Project Overview

Complete overview of Asteroid Radio's architecture, technology stack, and vision. Start here to understand what Asteroid Radio is and how it works.

Installation Guide

Comprehensive installation instructions for multiple operating systems, including system requirements, dependencies, and production deployment considerations.

Docker Streaming Setup

Complete guide to the Docker-based streaming infrastructure using Icecast2 and Liquidsoap. Includes container configuration, management scripts, and troubleshooting.

Development & Integration

Development Guide

Development environment setup, contributing guidelines, coding standards, and debugging procedures for developers working on Asteroid Radio.

Interface Reference

Documentation of all available interfaces including streaming endpoints, Icecast admin interface, Liquidsoap telnet control, and Docker management commands.

Current System Status

What's Working Now

  • Docker Streaming Infrastructure: Icecast2 + Liquidsoap containers
  • Three Quality Streams: 128kbps MP3, 96kbps AAC, 64kbps MP3
  • Admin Interface: Icecast web admin at http://localhost:8000/admin/
  • Telnet Control: Liquidsoap control via telnet localhost:1234
  • Professional Features: Crossfading, normalization, metadata support

Stream URLs (when running)

Getting Started

New Users

  1. Read the Project Overview to understand Asteroid Radio
  2. Follow the Installation Guide for your operating system
  3. Set up streaming with the Docker Guide

Developers

  1. Review the Development Guide for setup procedures
  2. Check the Interface Reference for available controls
  3. Join our IRC channel: #asteroid.music on irc.libera.chat

System Administrators

  1. Follow the Installation Guide production deployment section
  2. Review Docker Streaming Setup for container management
  3. Monitor system resources and streaming performance

Support & Community

Getting Help

  • Documentation: Start with the relevant guide above
  • IRC Chat: Join #asteroid.music on irc.libera.chat
  • Issues: Submit detailed bug reports with system information
  • Logs: Check Docker container logs for troubleshooting

Contributing

  • Review the Development Guide for contribution guidelines
  • Follow coding standards and testing procedures
  • Submit pull requests with clear descriptions

About Asteroid Music

Asteroid Radio streams Asteroid Music - a carefully curated genre designed for developers:

  • Focus-Enhancing: Ambient, electronic, and instrumental tracks
  • Coding-Optimized: Rhythms that complement programming flow
  • Hacker Culture: Music that resonates with developer aesthetics
  • Flow State: Tracks selected to maintain deep concentration

This isn't just background music - it's the soundtrack to the hacker lifestyle, designed by hackers for hackers who understand that the right music can elevate your code.

Technical Architecture

Asteroid Radio uses a modern, containerized architecture:

┌─────────────────────────────────────────────────────────────┐
│                    Asteroid Radio Platform                  │
├─────────────────────────────────────────────────────────────┤
│  Streaming Infrastructure (Docker)                         │
│  ├── Icecast2 (HTTP Streaming Server)                     │
│  ├── Liquidsoap (Audio Processing Pipeline)               │
│  └── Multiple Format Support (AAC, MP3)                   │
├─────────────────────────────────────────────────────────────┤
│  Control Interfaces                                        │
│  ├── Icecast Admin Web Interface                          │
│  ├── Liquidsoap Telnet Control                            │
│  └── Docker Container Management                          │
└─────────────────────────────────────────────────────────────┘

For detailed technical information, see the Project Overview.

Last Updated: 2025-10-03 Documentation Version: 1.0