Skip to content

blackcandy

Media Servers

A self-hosted music streaming server for personal audio libraries

Ruby Latest v3.2.0 · 2mo ago Security brief →

Features

  • Self‑hosted music streaming platform
  • Docker‑based installation and easy upgrades
  • Supports custom port mapping, media file mounts, PostgreSQL database option
  • Provides persistent storage for user data
  • Generates secret keys for session security

Recent releases

View all 2 releases →
v3.2.0 Breaking risk
⚠ Upgrade required
  • Mobile app must be upgraded to v2.0 or above after server upgrade.
  • Refer to the v3.1‑v3.2 upgrade guide for detailed migration steps.
Breaking changes
  • Changed Docker container working directory from `/app` to `/rails`; update volume mount paths accordingly.
Notable features
  • Simple volume slider added
  • Enhanced player volume control
  • Commit hash included in versioning and improved version link display
Full changelog

What's Changed

[!IMPORTANT]
Please check the v3.1-v3.2 upgrade guide when you do upgrade.

Black Candy v3.2.0 requires the mobile app v2.0 or above. Please upgrade your mobile app after upgrading the server.

Breaking change:

  • The working directory inside the Docker container has changed from /app to /rails. You need to update your
    volume mount path for persistent storage data after upgrading.

New

  • Add simple volume slider by @maunzCache in https://github.com/blackcandy-org/blackcandy/pull/435
  • Enhance volume control of player by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/436
  • Add commit hash to versioning and enhance version link display by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/441
  • Migrate to Hotwire Native bridge by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/462
  • Add minimum app version support by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/466
  • Add ONCE compatibility via storage directory symlink by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/468

Improved

  • Rename entrypoint script to match Rails default by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/438
  • Enable jemalloc for improved memory usage and latency by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/439
  • Separate lint and test jobs in CI by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/440
  • Replace OpenStruct with custom error class for JSON error responses by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/444
  • Upgrade Ruby to 3.4 by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/445
  • Upgrade Rails to 8.0 by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/443
  • Update to Kamal 2 by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/447
  • Add linux/arm/v7 platform support in release builds by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/452
  • Upgrade Rails to 8.1 by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/455
  • Update Dockerfile to use default Rails storage path by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/469
  • Upgrade Ruby to 4.0.2 and update dependencies by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/471

Fixed

  • Fix Thruster sendfile not working by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/465
  • Remove stale asset path from deploy configuration by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/467
  • Fix permissions error when creating SQLite db for the first time by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/470
  • Use MediaSyncAllJob when media path is changed by @aidewoode in https://github.com/blackcandy-org/blackcandy/pull/473

New Contributors

  • @maunzCache made their first contribution in https://github.com/blackcandy-org/blackcandy/pull/435

Full Changelog: https://github.com/blackcandy-org/blackcandy/compare/v3.1.0...v3.2.0

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
4,317
Forks
215
Languages
Ruby HTML SCSS

Install & Platforms

Install via
docker
Mobile
Android IOS Web

Beta — feedback welcome: [email protected]