A fork from navidrome - A self-hosted music web server
361
Spoty-Vella é uma distribuição customizada do Navidrome: escaneia sua biblioteca de músicas, serve tudo via protocolo Subsonic, e entrega uma interface web moderna para navegar, ouvir, criar playlists, gerenciar favoritos e tudo isso sem instalar nada no cliente, rodando direto pelo navegador ou por qualquer app compatível com Subsonic. Como o Musly, o qual recomendo utilizar, pois além de ser funcionar e capricar na estética possui versões pra diversas arquiteturas
O nome é uma brincadeira com "Spotify" e "Favela" — uma homenagem bem-humorada à experiência de ter seu próprio streaming pessoal, sem algoritmos, sem anúncios e sem assinar nada. Sua música, do seu jeito, no seu próprio servidor.
Mais do que uma customização do Navidrome, o Spoty-Vella é uma forma de resgatar o prazer de ter uma coleção de música que é sua de verdade — organizada, com capas, letras, scrobbles já configurados. Tudo isso com o mínimo de configuração possível.
Biblioteca organizada: escaneia automaticamente sua pasta de músicas e organiza por artista, álbum e gênero.
Protocolo Subsonic: compatível com dezenas de apps para Android, iOS, desktop e linha de comando.
Interface web moderna: built com React + Material UI, com suporte a PWA para instalar como app.
Temas visuais: vários temas incluídos — Dracula, Nord, Tokyo Night, Rose Piné, Catppuccin, Monokai, Spotify e mais.
Scrobbling: integração nativa com Last.fm e ListenBrainz para registrar o que você ouve.
Metadados ricos: leitura de tags dos arquivos (ID3, FLAC, etc.) via TagLib.
Multi-usuário: sistema de autenticação com diferentes níveis de permissão e suporte a OIDC.
Transcodificação: converte formatos de áudio on-the-fly via FFmpeg.
Pronto para Docker: imagem publicada no Docker Hub, configuração por variáveis de ambiente.
Navidrome - base do projeto (servidor de música Subsonic)
Go 1.27 - backend
SQLite - banco de dados embarcado dentro do container
FFmpeg - transcodificação de áudio
TagLib - leitura de metadados dos arquivos
mkdir spoty-vella && cd spoty-vella
curl -O https://raw.githubusercontent.com/alanmugiwara/spoty-vella/main/app/docker-compose.yml
curl -o .env.exemple https://raw.githubusercontent.com/alanmugiwara/spoty-vella/main/app/.env.exemple
Renomeie o .env.exemple para .env e edite-o com suas credenciais:
HOST_DATA=/caminho/para/os/dados/do/navidrome
HOST_MUSIC=/caminho/para/seu/diretorio/de/musicas
ND_AGENTS=artist-nfo-metadata,audiomuseai,apple-music,coverartarchive,deezer,lastfm
LASTFM_APIKEY=sua-api-key-lastfm
LASTFM_SECRET=seu-secret-lastfm
bash create_work_dirs.sh
O script lê as variáveis do
.enve cria os diretóriosHOST_DATAeHOST_MUSICcom as permissões corretas.
docker compose up -d
podman-compose up -d
A interface estará disponível em http://localhost:4533.
No primeiro acesso, crie o usuário administrador pela própria interface web.
A imagem está publicada no Docker Hub:
| Volume | Descrição |
|---|---|
$HOST_DATA | Banco de dados SQLite, plugins e configurações do Navidrome |
$HOST_MUSIC | Sua biblioteca de músicas (bind-mount) |
Por usar o protocolo Subsonic, o Spoty-Vella funciona com qualquer app que o suporte:
beets, mopidy-subidyClone o repositório e entre no diretório do projeto:
git clone https://github.com/alanmugiwara/spoty-vella \
&& cd spoty-vella
Faça o build da imagem e rode localmente:
docker buildx build \
--no-cache \
--platform linux/amd64,linux/arm64 \
--target final \
--tag alanmugiwara/spoty-vella:latest \
--file Dockerfile \
--load \
.
Se você quer apenas buildar localmente para testar com docker compose, faça para a arquitetura da sua máquina, pois o
--loadnão funciona com--platform linux/amd64,linux/arm64para carregar um manifest multiarch no Docker local.
Suba os containers:
docker compose up -d
Se preferir fazer o build e subir para o seu Docker Hub (AMD64):
docker buildx build \
--no-cache \
--platform linux/amd64 \
--target final \
--tag SEU-USUARIO/NOME-DO-SEU-PROJETO:VERSAO \
--file Dockerfile \
--push \
.
Se preferir fazer o build e subir para o seu Docker Hub (ARM64):
docker buildx build \
--no-cache \
--platform linux/arm64 \
--target final \
--tag SEU-USUARIO/NOME-DO-SEU-PROJETO:VERSAO \
--file Dockerfile \
--push \
.
Instale as dependências e prepare o ambiente:
make setup
Rode o Navidrome em modo desenvolvimento com hot-reload (frontend + backend):
make dev
A interface estará disponível em http://localhost:4533.
Para editar o frontend, mexa nos arquivos em
ui/src/. As mudanças são refletidas automaticamente no navegador. Consulte a documentação de desenvolvimento para mais detalhes.
Este projeto é licenciado sob a AGPL-3.0 License.
Spoty-Vella é um fork do Navidrome, que também é distribuído sob AGPL-3.0.
Content type
Image
Digest
sha256:bd96894b3…
Size
91.4 MB
Last updated
3 days ago
docker pull alanmugiwara/spoty-vella:v0.2