Skip to content

Subsonic player is a responsive, modern web-based client designed for Subsonic music servers.

License

Notifications You must be signed in to change notification settings

VD39/subsonic-player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎵 Subsonic Player: A Modern Subsonic Client

📝 Overview

Subsonic player is a responsive, modern web-based client designed for Subsonic music servers.

Built with Nuxt 3, a modern Vue 3 framework, this open-source application provides a seamless and enjoyable music listening experience across all devices.

Compatible Servers:

✨ Features

  1. Fully Responsive UI (Further design improvements are ongoing.)

    • Optimized for desktop and mobile devices.
    • Adaptive design.
  2. Comprehensive Library Browsing

    • Browse by album, artist, genre.
    • Explore podcasts and favourites.
    • Access internet radio stations.
  3. Advanced Functionality

    • MediaSession Integration.
    • Advanced Search capabilities.
    • Dark/Light Mode support.

🚀 Installation Methods

Prerequisites:

Method 1: Docker Deployment

Docker Compose Configuration

The simplest way to run the application is via Docker Compose. This method automatically handles dependencies and configuration.

The environment variables are optional and can be customized as needed.

Create a file named docker-compose.yml with the following content.

services:
  subsonic-player:
    container_name: subsonic-player
    image: vd39/subsonic-player:latest
    ports:
      - '3000:3000'
    restart: unless-stopped

Execute the following command in your terminal:

docker compose up -d

The application will be accessible at http://localhost:3000.

Docker Run Command (Alternative)

This method offers more granular control.

docker run -d \
  --name subsonic-player \
  -p 3000:3000 \
  --restart unless-stopped \
  vd39/subsonic-player:latest

The application will be accessible at http://localhost:3000.

Method 2: Local Development

This method skips Docker and runs the application directly using Node.js and Yarn.

  1. Clone the repository:

    git clone https://github.com/VD39/subsonic-player.git
  2. Navigate to the project directory:

    cd subsonic-player
  3. Install dependencies:

    yarn install
  4. (Optional) Create a .env file: Create a file named .env in the project's root directory. This file will hold your environment variables.

  5. Start the development server:

    yarn dev

The development server will start at http://localhost:3000.

Changes you make to the code will automatically trigger a rebuild and refresh of the browser.

🔧 Environment Variables

Variable Default Description
NUXT_PUBLIC_SERVER_URL undefined Subsonic server URL
NUXT_PUBLIC_MAIN_APP_TITLE Music App Browser tab title
NUXT_PUBLIC_LOAD_SIZE 50 Items loaded per scroll
NUXT_PUBLIC_IMAGE_SIZE 500 Album art image size (in pixels)

🤝 Contributing

Contributions are always welcome! Feel free to contribute, provide feedback, or raise issues on GitHub!

📄 License

This project is licensed under the AGPLv3 license. Full license details available in the LICENSE file for details.

🌐 Project Resources