Transforma qualquer host Linux com saída de áudio em um dispositivo Spotify Connect usando raspotify dentro de container.
A imagem está publicada em:
ghcr.io/dlanileonardo/spotify:main
Também são publicadas as tags latest e sha-*.
Para usar referência imutável, utilize digest:
docker pull ghcr.io/dlanileonardo/spotify@sha256:<digest>Pacote: https://github.com/dlanileonardo/spotify/pkgs/container/spotify
- Spotify Connect via
librespot(raspotify) - Backend ALSA com suporte a device customizado
- Equalizador opcional via
alsaequal - Volume inicial configurável por variável de ambiente
- Persistência de cache/lib em volumes locais
- Linux com Docker + Docker Compose
- Dispositivo de áudio acessível em
/dev/snd - Conta Spotify Premium (exigência do Spotify Connect)
cp .env.example .envEdite o .env com o nome do dispositivo e saída de áudio desejada.
docker compose pulldocker compose up -ddocker compose logs -f raspotifySe você quiser testar alterações locais no Dockerfile, rode:
docker compose build --no-cache
docker compose up -dSPOTIFY_NAME: nome exibido no Spotify ConnectBACKEND_NAME: backend de áudio (alsapor padrão)DEVICE_NAME: device ALSA de saída (ex.:default,equal,bluealsa:...)ALSA_SLAVE_PCM: device final usado noasound.conf(quando usar equalizador)ALSA_SOUND_LEVEL: volume inicial (ex.:100%)INITIAL_VOLUME: volume inicial do Spotify/librespot em percentual inteiro de0a100(padrão:70)VERBOSE:truepara logs verbosos dolibrespotEQUALIZATION: preset (flat,rock,bass, etc.) ou curva manual
compose.yaml: serviço e volumesDockerfile: imagem comraspotifye utilitários ALSAstartup.sh: geração de config + bootstrap dolibrespotasound.conf: template ALSA (usaenvsubst)equalizer.sh: presets do equalizadorraspotify/cacheeraspotify/lib: persistência local
- Não publique o arquivo
.envcom dados reais do seu ambiente. - Endereços Bluetooth/MAC em
DEVICE_NAMEpodem identificar seus dispositivos. - Se um segredo já foi commitado no passado, troque-o e reescreva o histórico antes de republicar.
- Sem áudio: valide permissões de
/dev/snde oDEVICE_NAME. - Device não aparece no Spotify: confira logs e nome em
SPOTIFY_NAME. - BlueALSA: garanta que os sockets montados (
/var/run/dbus,/var/run/bluealsa) existam no host.
Este projeto é licenciado sob a licença MIT.
Consulte o arquivo LICENSE para mais detalhes.