Basic Setup Guide

Get your Mcaster1DNAS streaming server up and running

Basic Requirements

This guide will walk you through the essential steps to set up a basic streaming server using Mcaster1DNAS v2.5.1-rc1. Whether you're creating an internet radio station or a private streaming service, this guide covers everything you need to get started.

System Components

A complete streaming setup consists of two major components working together:

  1. The Streaming Server (Mcaster1DNAS): This is the server where all listeners connect. It receives audio from source clients and efficiently distributes it to multiple listeners simultaneously.
  2. The Source Client: This software encodes your audio and sends it to the Mcaster1DNAS server. Popular options include Butt (Broadcast Using This Tool), Liquidsoap, SAM Broadcaster, and FFmpeg. The source client can run on the same machine as Mcaster1DNAS or on a separate machine.
Important: Not all source clients work with Mcaster1DNAS. Ensure your chosen source client supports Icecast/Shoutcast protocols. Most modern encoders that support "Icecast" will work with Mcaster1DNAS.

Understanding Mountpoints

Each Mcaster1DNAS server can host multiple broadcasts simultaneously, each called a mountpoint. A listener can only listen to one mountpoint at a time. This allows you to:

Mountpoint Naming Conventions:
  • Ogg Vorbis/Opus streams should end in .ogg (e.g., /stream.ogg)
  • MP3 streams typically have no extension (e.g., /stream) or .mp3
  • AAC streams should end in .aac or .aacp
  • Avoid spaces and special characters in mountpoint names

Installation and Directory Structure

After installing Mcaster1DNAS (via source compilation, package manager, or Docker), you'll have the following directory structure:

Directory Purpose
bin/ Contains the mcaster1 server binary
conf/ Configuration files including mcaster1.yaml (recommended) or mcaster1.xml (legacy)
admin/ XSLT files for the web-based administration interface
web/ Static web content and status pages
logs/ Server log files (access.log and error.log)

Basic Configuration (YAML Recommended)

Mcaster1DNAS v2.5.1 supports both YAML and XML configuration formats. YAML is strongly recommended as XML support will be deprecated in future releases.

Configuration Format Notice: While XML configuration is still supported for backward compatibility, all new deployments should use YAML. XML support will be removed in a future major release.

Essential Configuration Settings

Edit your mcaster1.yaml file and configure these essential settings:

server:
  hostname: stream.example.com
  location: Your City, Country
  admin: admin@example.com

authentication:
  source_password: changeme_source    # Used by encoders to connect
  admin_user: admin
  admin_password: changeme_admin      # For admin interface access

listen:
  - socket:
      port: 8000
      bind_address: 0.0.0.0

paths:
  basedir: /usr/local/mcaster1dnas
  logdir: /var/log/mcaster1
  webroot: /usr/local/mcaster1dnas/web
  adminroot: /usr/local/mcaster1dnas/admin

mount:
  - path: /stream
    username: source
    password: hackme
    max_listeners: 100
    stream_name: "My Radio Station"
    stream_description: "24/7 Music"
    stream_url: https://example.com
    genre: Various
    bitrate: 128
    public: false

Key Settings to Change

Starting the Server

Once your configuration file is ready, start Mcaster1DNAS with:

mcaster1 -c /path/to/mcaster1.yaml

For example, if your config is in /etc/mcaster1/mcaster1.yaml:

/usr/local/mcaster1dnas/bin/mcaster1 -c /etc/mcaster1/mcaster1.yaml

Verifying Server Startup

Check the error log for the startup message:

tail -f /var/log/mcaster1/error.log

You should see something like:

[2026-02-15 12:00:00] INFO main/main Mcaster1DNAS 2.5.1-rc1 server started
Success Indicator: If you see the "server started" message with the version number, Mcaster1DNAS is running correctly.

Testing Server Access

Verify the server is running by accessing the statistics page:

http://yourserver:8000/admin/stats.xml

You'll be prompted for credentials. Use username admin and the password you set in admin_password. You should see XML output showing server statistics.

Configuring Your Source Client

Now that the server is running, configure your source client (encoder) with these settings:

Setting Value
Server/Host Your server IP or hostname
Port 8000 (or your configured port)
Protocol Icecast or ICY
Mount Point /stream (or your chosen mountpoint)
Username source
Password Your source_password value

Listening to Your Stream

Once your source client is connected and streaming, listeners can access your stream in several ways:

Direct Stream URL

http://yourserver:8000/stream

Playlist File (M3U)

http://yourserver:8000/stream.m3u

The .m3u extension generates a playlist file that most media players can open. This works for any audio format, not just MP3.

Media Player Examples

Example: If your server is at 192.168.1.100:8000 with mountpoint /stream.ogg, listeners would use: http://192.168.1.100:8000/stream.ogg.m3u

Verifying Everything Works

To confirm your setup is working correctly:

  1. Check the server is running: http://yourserver:8000/admin/stats.xml
  2. Verify your source client shows a successful connection
  3. Check the access log for source connection: tail -f /var/log/mcaster1/access.log
  4. Open the stream URL in a media player and verify you hear audio
  5. Check stats.xml again to see listener count increase
Setup Complete! If you can hear your stream and see statistics updating, your Mcaster1DNAS server is working correctly. You're now ready to explore advanced features.

Next Steps: Learn about advanced configuration options in the Configuration File Reference or explore the Admin Interface.