Can I install on ARM or other exotic platform
No for the moment, as spotifyd and official spotify client are packed on the same image, arm version is not planed
You should run this on a i386/AMD64 headless server like NAS, proliant, proxmox ….etc
Maybe in a near future at least for free plan
What breaks when Spotify updates their client?
Spotify regularly updates their clients and backend behavior.
Most of the time, these updates are transparent, but occasionally they can affect:
-
authentication flows,
-
audio routing behavior,
-
or Spotify Connect compatibility.
This is why Spotycast is designed as a containerized, external bridge:
when something changes upstream, the impact is isolated, and updates or rollbacks can be applied without breaking the rest of the audio stack.
In other words, the goal is not to prevent breakage entirely, but to make recovery predictable and contained.
Can I expose the Icecast stream outside my LAN?
Technically, yes — but it is strongly discouraged.
Spotycast is designed for local playback within a private network.
Exposing the stream publicly can raise:
-
legal and licensing concerns,
-
security issues,
-
and reliability problems (latency, bandwidth, authentication).
For these reasons, Spotycast does not position itself as a public broadcast or redistribution tool.
Keeping the stream LAN-only aligns with its intended use and avoids unnecessary complications.
Why is FLAC not always available?
FLAC availability depends on multiple external factors:
-
whether Spotify’s lossless tier is available in your region,
-
whether it is enabled on your account,
-
and which Spotify client is used for playback.
Spotycast does not “force” lossless playback.
Instead, it is designed to avoid unnecessary transcoding when lossless audio is already available from the client.
If the upstream Spotify client does not deliver lossless audio, FLAC output will not magically appear downstream.
Why does AirPlay behave differently on iOS vs macOS?
AirPlay is not a single, uniform protocol. Its behavior depends on:
-
the source device (iOS vs macOS),
-
the application,
-
and whether the stream is real-time or buffered.
On iOS, Spotify typically uses real-time AirPlay, which can preserve higher audio fidelity depending on the receiver.
On macOS, behavior can differ, and buffering, transcoding, or timing changes may occur depending on the app and OS version.
Because these behaviors are controlled by Apple and app developers, they can change between OS releases, which makes AirPlay powerful but sometimes unpredictable in mixed setups.
Why does my router break Spotify discovery?
Spotify discovery relies heavily on local network discovery mechanisms such as mDNS / multicast.
Some routers handle these protocols poorly, especially when features like IGMP snooping, Wi-Fi isolation, VLANs, or “smart” firewalling are enabled by default.
In practice, this can result in Spotify Connect devices appearing and disappearing randomly, or not being discovered at all.
This is not specific to Spotycast — it’s a common issue with many network audio systems that depend on multicast discovery.
Where to find my license
Once baught, you can find it here in receipt section
Where I can find my stream url ?
Why premium is not working out of the box as free edition
Due to usage of spotify linux desktop client in the premium edition, at first launch you will need to access spotify client to identify. This login is supposed to be run onced and kept alive across reboot of the container.
To ensure lossless compatibility, you will have to set quality to lossless in application parameters and start a song in spotify linux client to initiate the audio sink.
What is the conceptual difference between free and premium ?
The main difference between the two implementations is that free is setting spotifyd as spotify connect bridge while premium is setting official spotify linux client to achieve the same goal.
What are options offered by binaries
Usage of ./spotifyd-free (or spotifyd-premium): –arg value Argument passed to the script (repeatable)
-cmd string
Command: install|uninstall|status|list (default “install”)
-interactive
Runs the script in console mode (TTY). Required if the script requests a password. (default true)
-tee
Stream stdout/stderr live while capturing (non-interactive mode) (default true)
-timeout duration
Timeout global (ex: 2m, 30s) (default 10m0s)
-workdir string
Working directory (optional)
