Overview
Musique Agent runs on Linux devices — including the Raspberry Pi — to provide reliable, dedicated audio playback for your locations. This guide covers three different installation methods to suit your deployment needs.Choose Your Installation Method
Select the installation method that best fits your use case:Manual Installation
- Learning and understanding each component
- Custom configurations
- Troubleshooting and development
- Full control over the process
Automated Script
- Quick POCs (Proof of Concepts)
- Single device deployments
- One-by-one installations
- Simplified setup
Ansible Deployment
- Bulk installations (10+ devices)
- Fleet management
- Standardized configurations
- Massive deployments
Method 1: Manual Installation
This method walks through the same steps the automated script performs, one at a time. Choose it when you need full control over the installation process, want to understand each component, or need to customize your setup.musique. On startup it downloads, launches, and keeps the Agent (also a Java application) up to date. You install and configure the Updater; the Updater manages the Agent for you, so there is nothing else to run by hand.Requirements
Before you begin, ensure you have:Hardware
- A Linux device (e.g. Raspberry Pi 4)
- Power supply
- Audio output (3.5mm jack or HDMI)
- Storage (16GB+ recommended)
Software
- Debian-based OS (Ubuntu 24.04.3 LTS or Raspberry Pi OS 64-bit)
- Java 17 or newer (runs the Updater and Agent)
- ALSA audio system
- PulseAudio (or PipeWire with Pulse compatibility)
apt installs the matching native JVM and audio packages for your machine automatically. Run every command as root — either prefix each with sudo, or switch to a root shell first with sudo su -.Step 1: Update System Packages
Refresh the package index before installing dependencies:Step 2: Install CA Certificates
The Updater downloads over HTTPS, so the system needs an up-to-date set of trusted root certificates:Step 3: Install Java
The Updater and Agent are Java 17 applications and run on any newer JRE.Check for an existing Java
Install Java 17 (if needed)
openjdk-17-jre-headless is not available on your distribution, install the default JRE instead (Java 21 on Debian trixie is fine):Step 4: Install ALSA
ALSA (Advanced Linux Sound Architecture) is required for audio output.Install ALSA
Verify Installation
Step 5: Install PulseAudio
PulseAudio manages audio routing for the Agent.Check for PipeWire first
Install PulseAudio (if PipeWire is absent)
Enable session lingering
/run/user/<uid>/pulse — alive at boot without an interactive login:Configuration
Configure ALSA for PulseAudio
Route audio through PulseAudio with a system-wide ALSA configuration. The Agent runs as a child of the root Updater rather than as the desktop user, so the routing must live in/etc/asound.conf (which root also reads), not in a user’s ~/.asoundrc.
Create the configuration file
Add configuration
Ctrl + X, then Y, then Enter.Create Directories
Create the Musique install directory and its sub-folders:Install the Updater
Download the Updater
Download the latest Updater JAR into the install directory (replace the version with the current release if needed):Create the Launcher
The Updater renames its own JAR when it self-updates, so the launcher resolves the newestupdater-*.jar at each start rather than pinning a filename.
Create the launcher script
Add the launcher content
Create the Config File
Only your credentials go here — the Updater fills in every other setting from its bundled defaults on first boot.Create the config file
Add your credentials
Enable Auto-Start on Boot
Create a systemd service so the Updater starts automatically when the device boots. The service runs as root: the Updater manages the Agent process and restarts this unit from its emergency-rollback scripts. TheExecStartPre/ExecStopPost hooks clear any stray Agent JVM so a crashed run can’t leave a second player running.
Create the systemd service
Enable the service
Reboot and test
Verify Installation
After installation, verify everything is working:Check Service Status
Check Service Status
View Logs
View Logs
Ctrl + C to exit.Check the Agent Process
Check the Agent Process
java -jar agent-*.jar process.Test Audio Playback
Test Audio Playback
Ctrl + C to stop.Check Online Status
Check Online Status
- Log into your Musique dashboard
- Navigate to Analytics
- Verify the device appears as online
Troubleshooting
No audio output
No audio output
Service not starting
Service not starting
- Incorrect username/password in
/opt/musique/config/config.json - No Updater JAR found in
/opt/musique - Java not installed or older than 17:
java -version - Missing CA certificates blocking the HTTPS download:
sudo apt install -y ca-certificates && sudo update-ca-certificates - Network connectivity issues
Device offline in dashboard
Device offline in dashboard
- Check internet connection
- Verify credentials in
/opt/musique/config/config.jsonare correct - Check the service is running:
sudo systemctl status musique - Confirm the Agent is up:
pgrep -af 'agent-.*jar' - Review logs:
sudo journalctl -u musique -f - Test network connection:
ping google.com
Managing the Agent
Service Commands
Update the Agent
The Updater checks for and applies new Agent and Updater versions automatically — no manual download is required. To force a fresh check, simply restart the service:Method 2: Automated Script Installation
The automated installation script provides a quick and easy way to install the Musique Agent on Linux devices. A single script serves every architecture — it detects the machine and installs the right packages. This method is ideal for POCs (Proof of Concepts), single device deployments, and simplified setup.Prerequisites
Hardware
- A Linux device (e.g. Raspberry Pi 4)
- Power supply
- Audio output (3.5mm jack or HDMI)
- Storage (16GB+ recommended)
Software
- Debian-based OS (Ubuntu 24.04.3 LTS or Raspberry Pi OS recommended)
- Internet connection
- Root or sudo access
Installation Steps
Switch to Root User (if needed)
Download the Installation Script
Make the Script Executable
Run the Installation Script
- System package updates
- CA certificate setup (TLS trust for HTTPS downloads)
- Java runtime installation (runs the Updater and Agent)
- ALSA installation
- PulseAudio installation and configuration
- Audio routing configuration (system-wide
/etc/asound.conf) - Musique Updater download and setup
- Systemd service setup for auto-start
Post-Installation
The installation script automatically configures the Musique Agent to start on system boot. Use the same service management commands as described in the manual installation method.Method 3: Ansible Deployment (Coming Soon)
Ansible deployment provides an automated, scalable solution for installing and managing the Musique Agent across multiple Linux devices simultaneously.Overview
This method will be ideal for:- Fleet Management: Deploy to dozens or hundreds of devices at once
- Standardized Configuration: Ensure consistent setup across all devices
- Bulk Installations: Rapidly deploy Musique to multiple locations
- Infrastructure as Code: Version-controlled, reproducible deployments
Planned Features
The Ansible playbook will automate:- System configuration and package updates
- Dependency installation (Java, ALSA, PulseAudio)
- Agent deployment with encrypted credential management
- Service configuration and verification
Prerequisites (When Available)
- Ansible installed on your control machine
- SSH access to all target Linux devices
- Network connectivity to all devices

