Navidrome 서버 구축 방법

Navidrome은 음악 스트리밍 서버로, Docker 및 Docker Compose를 이용하여 손쉽게 설치하고 운영할 수 있습니다. 아래는 Docker Compose를 활용한 설치 가이드입니다.

  1. 기본 디렉토리 생성
    Navidrome 서버를 위한 디렉토리를 생성합니다.
bash
sudo mkdir -p /volume1/docker/navidrome
sudo mkdir -p /volume1/docker/navidrome/volume/data

2. docker-compose.yml 파일 작성

설치에 필요한 docker-compose.yml 파일을 생성하고 아래 내용을 추가합니다

text
version: '3'
services:
navidrome:
image: 'deluan/navidrome:latest'
container_name: navidrome
restart: unless-stopped
ports:
- "50015:4533"
volumes:
- './volume/data:/data'
- '/volume1/music:/music'
environment:
- ND_SCANSCHEDULE=1h
- ND_LOGLEVEL=info

  1. Docker Compose 실행
    Docker Compose 명령어를 실행하여 Navidrome 컨테이너를 시작합니다.

bash
sudo docker-compose up -d

  1. 웹 인터페이스 접속
    웹 브라우저에서 아래 URL로 접속하여 Navidrome 서버를 확인합니다.

text
http://:50015
예: http://192.168.10.10:50015

  1. 추가 설정
    음악 파일 경로: /volume1/music에 음악 파일을 저장하면 Navidrome이 이를 스캔하여 라이브러리에 추가합니다.

관리자 계정 생성: 처음 접속 시 사용자 이름과 비밀번호를 설정하여 관리 계정을 만듭니다.

참고 사항
Navidrome은 Subsonic API를 지원하므로 다양한 클라이언트 앱과 호환됩니다.

설치 전에 Docker 및 Docker Compose가 시스템에 설치되어 있어야 합니다.

이 가이드에 따라 Navidrome 서버를 성공적으로 구축할 수 있습니다!

(예시)

services:
navidrome:
image: deluan/navidrome:latest # 사용할 이미지
container_name: navidrome # 컨테이너 이름
user: 1000:1000 # 컨테이너 안에서 사용할 UID:GID (파일 접근 권한 관련)
ports:
– “50015:4533” # 외부포트:내부포트
restart: unless-stopped # 컨테이너 자동 재시작 정책
environment:
ND_SCANSCHEDULE: 1h # 1시간마다 라이브러리 스캔
ND_LOGLEVEL: info # 로그 레벨
ND_SESSIONTIMEOUT: 12h # 세션 타임아웃 시간
volumes:
– “/home/docker/navidrome/data:/data” # 설정/캐시 등 저장
– “/home/docker/navidrome/music/folder:/music:ro” # 음악 폴더 (읽기 전용)

docker compose logs -f
로그를 확인해 보니 아래와 같은 에러메세지 나옴

FATAL: Error creating cache path: mkdir /data/cache: permission denied

이건 Navidrome 컨테이너가 /data/cache 디렉토리를 만들려고 했는데 권한이 없어서 실패했다는 뜻으로.
docker-compose.yml에 이 줄이 있었지:

user: 1000:1000

이 UID:GID는 호스트의 사용자 권한으로 컨테이너를 실행하겠다는 의미야.
그런데 /home/docker/navidrome/data 디렉토리의 소유자가 이 UID/GID가 아니라면, 컨테이너가 해당 경로에 쓰기를 못함.

Navidrome이 쓸 수 있도록 디렉토리 권한을 수정:

sudo chown -R 1000:1000 /home/docker/navidrome/data

그리고 다시 실행:

docker compose down
docker compose up -d

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다