Sign inSign up

alanmugiwara/spoty-vella

By alanmugiwara

•Updated 3 days ago

A fork from navidrome - A self-hosted music web server

Image
Web servers
Content management system
0

361

alanmugiwara/spoty-vella repository overview

GitHub Repo

Based on navidrome

License

Create Date

Last update

Contributors

Issues Counter

Repo Size

Docker Image Size

Docker image Pulls

⁠Um Spotify self-hosted para sua coleção musical!

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.


⁠Funcionalidades

  • 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.


⁠Stack


⁠Deploy rápido com Docker Compose ou Podman Compose

⁠1. Baixe os arquivos de configuração
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
⁠2. Configure suas variáveis de ambiente

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
⁠3. Crie os diretórios de trabalho
bash create_work_dirs.sh

O script lê as variáveis do .env e cria os diretórios HOST_DATA e HOST_MUSIC com as permissões corretas.

⁠4. Entre no diretório do projeto e suba os containers
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.


⁠Imagem Docker

A imagem está publicada no Docker Hub:

DockerHub


⁠Estrutura de volumes

VolumeDescrição
$HOST_DATABanco de dados SQLite, plugins e configurações do Navidrome
$HOST_MUSICSua biblioteca de músicas (bind-mount)

⁠Apps compatíveis (Subsonic)

Por usar o protocolo Subsonic, o Spoty-Vella funciona com qualquer app que o suporte:

  • Android: Substreamer, Symfonium, DSub, Ultrasonic
  • iOS: Substreamer, Amperfy, play:Sub
  • Desktop: Sublime Music, Sonixd, Feishin
  • CLI: beets, mopidy-subidy
  • Android, iOS, Windows, Linux, MacOS: Musly⁠

⁠Temas disponíveis

  • Dracula
  • Nord
  • Tokyo Night / Tokyo Night Light
  • Rose Piné / Rose Piné Dawn / Rose Piné Moon
  • Catppuccin Latte / Frappé / Macchiato / Mocha
  • Monokai
  • Gruvbox Dark
  • Spotify
  • Electric Purple
  • Moonbase Alpha / Bravo
  • Dark / Light / Extra Dark
  • E mais...

⁠Building e criação da sua própria imagem

Clone 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 --load não funciona com --platform linux/amd64,linux/arm64 para 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 \
  .

⁠Ambiente de desenvolvimento

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.


⁠Contato

E-mail
LinkedIn
Website


⁠Licença

Este projeto é licenciado sob a AGPL-3.0 License⁠.

Spoty-Vella é um fork do Navidrome⁠, que também é distribuído sob AGPL-3.0.

Tag summary

Content type

Image

Digest

sha256:bd96894b3…

Size

91.4 MB

Last updated

3 days ago

docker pull alanmugiwara/spoty-vella:v0.2