Navidrome은 Go 언어 하나로 짜여 있어서 라즈베리파이 같은 저사양 기기에서도 수만 곡 규모 라이브러리를 순식간에 스캔해요. 스트리밍 서비스에 없는 희귀 음반, 라이브 부틀렉, 직접 구매한 FLAC 음원처럼 개인 소장 음악을 스포티파이 같은 매끄러운 경험으로 듣고 싶은 사람들이 특히 많이 찾는 오픈소스 프로젝트인데, 그렇다면 Navidrome으로 스포티파이 대신 내 음악 서버를 어떻게 만들 수 있을까요?
Subsonic API 호환의 의미
Navidrome은 별도의 전용 프로토콜을 새로 만드는 대신, 십수 년간 여러 음악 서버가 채택해온 Subsonic API를 그대로 구현해요. 이 덕분에 iOS의 play:Sub, Android의 Symfonium, DSub 같은 검증된 서드파티 앱들을 그대로 사용할 수 있어요. 자체 공식 앱 하나에 의존하지 않고 취향에 맞는 클라이언트를 자유롭게 선택할 수 있다는 게 큰 장점이에요.
핵심 기능
Navidrome은 빠른 스캔 속도와 다양한 포맷 지원, 사용자별 재생 기록 분리까지 실사용에 필요한 기능을 고르게 갖추고 있어요.
- 빠른 라이브러리 스캔: 수만 곡 규모의 라이브러리도 매우 빠르게 스캔하고 인덱싱해요.
- 다양한 오디오 포맷 지원: MP3, FLAC, ALAC 등 대부분의 포맷을 재생할 수 있고, 필요에 따라 실시간 트랜스코딩도 지원해요.
- 스마트 플레이리스트: 재생 횟수, 평점, 태그 조건에 따라 자동으로 갱신되는 플레이리스트를 만들 수 있어요.
- 다중 사용자와 재생 기록 분리: 사용자마다 독립적인 재생 기록, 즐겨찾기, 평점을 관리해요.
- Last.fm 스크로블링 연동: 기존에 Last.fm으로 음악 감상 기록을 관리하던 사용자도 그대로 이어서 쓸 수 있어요.
설치와 라이브러리 정리
Navidrome은 다른 서비스들처럼 Docker Compose 이미지 하나로 간단히 설치할 수 있어요. 음악 파일을 볼륨으로 마운트하면 자동으로 메타데이터(ID3 태그)를 읽어 아티스트/앨범 구조로 정리해줘요.
services:
navidrome:
image: deluan/navidrome:latest
ports:
- "4533:4533"
volumes:
- navidrome_data:/data
- /path/to/music:/music:ro
volumes:
navidrome_data:
음악 파일을 읽기 전용(:ro)으로 마운트하는 게 좋은 습관이에요. Navidrome이 실수로 원본 음원 파일을 수정하거나 삭제하는 걸 방지할 수 있거든요.
메타데이터 태그 정리가 경험을 좌우한다
Navidrome은 파일 자체의 ID3 태그(아티스트, 앨범, 트랙 번호, 앨범 아트)를 기반으로 라이브러리를 구성해요. 오래전에 다운로드한 음원이거나 여러 출처에서 모은 파일이라면 태그가 뒤죽박죽인 경우가 많은데, MusicBrainz Picard 같은 도구로 미리 태그를 정리해두면 Navidrome에서의 탐색 경험이 훨씬 깔끔해져요.
무손실 음원과 트랜스코딩
집에서는 Wi-Fi로 FLAC 무손실 음원을 그대로 스트리밍하고, 모바일 데이터로 외부에서 들을 때는 자동으로 낮은 비트레이트로 트랜스코딩되도록 클라이언트별 트랜스코딩 프로필을 설정할 수 있어요. 데이터 사용량과 음질 사이의 균형을 상황에 맞게 조절할 수 있는 유연함은 상용 스트리밍 서비스에서는 얻기 어려운 부분이에요.
스포티파이와 비교했을 때 잃는 것
Navidrome은 어디까지나 “내가 가진 음원”만 재생할 수 있어요. 스포티파이의 방대한 카탈로그나 추천 알고리즘, 새 앨범 발매 알림 같은 발견(discovery) 기능은 제공하지 않아요. 그래서 완전한 대체보다는, 스트리밍 서비스에 없는 소장 음원을 위한 보완적인 용도로 쓰는 경우가 많아요.
결론
Navidrome은 가볍고 안정적이면서도 검증된 Subsonic 생태계를 그대로 활용할 수 있어서, 셀프호스팅 음악 서버 중 진입 장벽이 가장 낮은 선택지 중 하나예요. 이미 로컬에 정리된 음원 파일이 있다면 설치부터 실제 사용까지 30분이면 충분할 정도로 빠르게 자리잡을 수 있어요. 영상은 Jellyfin/Plex, 오디오북/팟캐스트는 Audiobookshelf와 함께 두면 미디어 형식별로 최적화된 홈서버 구성을 완성할 수 있어요.
자주 묻는 질문
Q1. 전용 앱이 없으면 못 쓰나요?
아니요, Subsonic API를 그대로 구현하고 있어서 play:Sub, Symfonium, DSub 같은 검증된 서드파티 앱을 자유롭게 골라 쓸 수 있어요.
Q2. 음원 파일 태그가 엉망이면 라이브러리도 엉망이 되나요?
네, Navidrome은 파일의 ID3 태그를 기반으로 라이브러리를 구성해요. MusicBrainz Picard 같은 도구로 미리 태그를 정리해두면 탐색 경험이 훨씬 깔끔해져요.
Q3. 외부에서 들을 때 데이터를 아낄 수 있나요?
네, 클라이언트별 트랜스코딩 프로필을 설정해두면 집에서는 무손실 음원을 그대로 듣고 모바일 데이터로는 자동으로 낮은 비트레이트로 전환할 수 있어요.
Q4. 스포티파이의 추천 기능도 쓸 수 있나요?
아니요, Navidrome은 내가 가진 음원만 재생할 수 있고 스포티파이의 방대한 카탈로그나 추천 알고리즘 같은 발견 기능은 제공하지 않아요.
Q5. 설치하는 데 오래 걸리나요?
아니요, Docker 이미지 하나로 간단히 설치되고 이미 정리된 음원 파일이 있다면 실제 사용까지 30분이면 충분해요.
댓글
첫 번째 댓글을 남겨보세요!
Kavita: 만화/전자책 서버 셀프호스팅
쌓여있는 만화책과 전자책 파일을 웹/모바일 어디서든 이어읽기까지 지원되는 라이브러리로 만들어주는 Kavita를 소개합니다.
Kavita
Audiobookshelf: 오디오북/팟캐스트 셀프호스팅
오디오북과 팟캐스트를 직접 서버에 올려 어디서든 이어듣기까지 지원되는 셀프호스팅 오디오 서버, Audiobookshelf를 소개합니다.
Audiobookshelf
Jellyfin vs Plex, 셀프호스팅 미디어 서버 비교
내 영화와 드라마를 직접 서버에 올려 어디서든 스트리밍하는 두 대표 미디어 서버, Jellyfin과 Plex를 비교합니다.
Jellyfin