다크팩토리
← 목록으로
헤르츠··6분 읽기

Music Assistant: 스트리밍과 내 집 스피커를 잇는 오픈소스 미디어 서버

하루 +157 별, Home Assistant와 찰떡궁합인 자유 음악 관제탑

Music Assistant: 스트리밍과 내 집 스피커를 잇는 오픈소스 미디어 서버

매달 스트리밍 구독료를 내면서도 "거실 스피커에선 왜 이게 안 되지?" 하는 경험, 한 번쯤 있을 것이다. Spotify는 Chromecast에, Apple Music은 HomePod에, YouTube Music은 어디에도 잘 안 붙는다. Music Assistant는 그 단절을 끊겠다고 만들어진 오픈소스 미디어 서버다. 오늘 하루에만 별 157개를 받으며 GitHub 트렌딩에 올랐다.

이게 뭔가

한 줄로 요약하면 **"내 집 안에서 돌아가는 음악 관제탑"**이다. 서버가 스트리밍 서비스(Spotify, YouTube Music 등)에 로그인해 음원을 당겨오고, 집 안의 연결 스피커(Sonos, Chromecast, AirPlay 등)로 쏴준다. 앱이 여러 개일 필요 없다. Music Assistant 하나가 소스와 출력을 모두 중계한다.

핵심은 라이브러리 통합이다. 여러 스트리밍의 플레이리스트와 즐겨찾기를 한 곳에 모아 관리하고, 멀티룸 재생도 지원한다. 클라우드가 아니라 내 서버에서 돌기 때문에 구독 서비스가 갑자기 정책을 바꿔도 내 데이터와 설정은 그대로다.

왜 지금 뜨는가

세 가지 흐름이 겹쳤다.

  1. 셀프호스팅 열풍: 클라우드 서비스의 구독료 인상과 기능 축소가 반복되면서, 직접 서버를 돌리는 사용자층이 두터워졌다. Plex·Jellyfin의 성공이 그 증거다.
  2. Home Assistant 생태계 확장: Music Assistant는 Open Home Foundation 소속 프로젝트다. Home Assistant 사용자 기반이 글로벌로 성장하면서 자연스럽게 수혜를 입는다. HA 애드온으로 원클릭 설치가 되니 진입 장벽이 낮다.
  3. 멀티룸 오디오의 대중화: Sonos·Chromecast 등 스마트 스피커 보급률이 높아지면서 "기기는 있는데 앱이 분산돼 불편하다"는 수요가 임계점을 넘었다.

핵심 기능

  • 스트리밍 연동: Spotify, YouTube Music, Deezer, Tidal 등 주요 서비스 플러그인 지원
  • 스피커 연동: Sonos, Chromecast, AirPlay, Snapcast 등 광범위한 출력 장치
  • 통합 라이브러리: 서비스별로 흩어진 플레이리스트·앨범을 단일 뷰로 관리
  • Home Assistant 자동화: HA와 연동 시 "출근하면 음악 끄기" 같은 자동화 루틴 구성 가능
  • 멀티룸 재생: 복수 스피커에 동기화 재생

누구에게 쓸모 있나

사용자 유형이득
HA 사용자음악 자동화를 HA 루틴에 붙일 수 있다
멀티룸 스피커 보유자앱 3~4개 대신 하나로 통합
셀프호스터구독 서비스 종속 없이 라이브러리 유지
개발자Python 기반, Apache-2.0 오픈소스라 확장 가능

반대로 단순히 "음악 스트리밍 하나만 쓰고 스피커도 하나"인 사람에게는 과잉 솔루션이다.

시작하기

필수 조건: 항상 켜져 있는 기기 — Raspberry Pi, NAS, Intel NUC 등. 노트북처럼 껐다 켜는 기기엔 맞지 않는다.

공식 문서에 따르면 설치 방법은 두 가지뿐이다.

방법 1 (권장): Home Assistant 애드온

HA를 이미 쓰고 있다면 가장 빠르다. HA 대시보드 → 설정 → 애드온 → 스토어 → 저장소 추가에서 아래 URL을 입력한다.

https://github.com/music-assistant/home-assistant-addon

또는 아래 링크를 클릭하면 HA가 자동으로 저장소를 추가한다.

https://my.home-assistant.io/redirect/supervisor_add_addon_repository/
  ?repository_url=https%3A%2F%2Fgithub.com%2Fmusic-assistant%2Fhome-assistant-addon

저장소 추가 후 Music Assistant Server 애드온을 설치하고 시작하면 된다.

방법 2: Docker 컨테이너

HA 없이 순수 Docker 환경에서 돌릴 수도 있다. 네트워크 디스커버리(mDNS 등)를 위해 --network host 옵션이 필요하다.

docker run -d \
  --name music-assistant \
  --network host \
  -v /path/to/ma-data:/data \
  ghcr.io/music-assistant/server:latest

컨테이너를 띄우고 브라우저에서 http://<서버IP>:8095 로 접속하면 초기 설정 웹 UI가 열린다.

사용 예시

예시 1 — Spotify 소스 플러그인 추가 (웹 UI 기준)

웹 UI에서 설정 → 뮤직 프로바이더 → Spotify 추가 후 계정을 연결한다. 이후 MA가 플레이리스트를 자동으로 동기화한다.

예시 2 — HA 자동화: 취침 시 음악 페이드아웃

Home Assistant automations.yaml에 아래 블록을 추가하면, 밤 11시에 Music Assistant 볼륨을 점진적으로 줄이고 재생을 멈춘다.

# HA 자동화: 밤 11시 Music Assistant 재생 종료
automation:
  - alias: "취침 전 음악 종료"
    trigger:
      - platform: time
        at: "23:00:00"
    action:
      - service: media_player.media_stop
        target:
          entity_id: media_player.music_assistant_living_room

예시 3 — Docker Compose로 영구 운용

재시작 정책과 볼륨을 함께 선언해 NAS나 NUC에서 상시 운용한다.

# docker-compose.yml
services:
  music-assistant:
    image: ghcr.io/music-assistant/server:latest
    container_name: music-assistant
    network_mode: host
    volumes:
      - ./ma-data:/data
    restart: unless-stopped

한계·주의

  • pypi 패키지 없음: pip install music-assistant 식의 설치는 지원하지 않는다. ffmpeg 등 OS 수준 의존성 때문에 반드시 Docker 또는 HA 애드온으로만 설치해야 한다.
  • 스트리밍 플러그인은 서비스 약관 종속: 각 스트리밍의 비공식 API를 활용하는 플러그인은 서비스 정책 변경 시 작동이 중단될 수 있다.
  • 상시 전원 기기 필수: 서버가 꺼지면 재생이 멈춘다. Raspberry Pi 5 기준 연간 전기료는 미미하지만, 인프라 유지 비용과 책임은 사용자에게 있다.
  • 한국 스트리밍(멜론·바이브 등): 공식 플러그인 지원 여부는 GitHub 이슈 트래커에서 확인해야 한다. 현재 공식 문서에 명시된 서비스는 글로벌 플랫폼 위주다.

스트리밍 서비스가 늘어날수록, 스피커가 하나 더 생길수록, Music Assistant의 가치는 올라간다. 셀프호스팅에 익숙하고 Home Assistant를 이미 쓰는 사람이라면 설치에 10분도 걸리지 않는다.

출처

댓글 0

비밀번호를 정하면 나중에 본인 댓글을 삭제할 수 있어요.

첫 댓글을 남겨보세요.