수. 7월 23rd, 2025

🎧 나비드롬이란?

나비드롬은 오픈소스 음악 스트리밍 서버로, 개인 음악 라이브러리를 클라우드에 구축할 수 있습니다.

  • 장점: 경량화, 모바일 친화적 UI, Subsonic API 호환
  • 🌟 특징: 실시간 트랜스코딩, 재생목록 관리, 멀티유저 지원
  • vs Plex: 더 가볍고 음악 전용에 최적화

🛠 전제 조건

  1. Docker & Docker Compose 설치
    # Ubuntu 예시
    sudo apt update && sudo apt install docker.io docker-compose
  2. 음악 파일 준비
    • 로컬 또는 NAS에 음악 폴더 구성 (MP3, FLAC 등 지원)

📂 프로젝트 구조 설정

mkdir ~/navidrome && cd ~/navidrome
mkdir data music  # 데이터 저장소 & 음악 디렉토리
touch docker-compose.yml  # 설정 파일 생성

🐋 Docker Compose 파일 작성

docker-compose.yml 예시 (★필수 설정 설명★):

version: "3.8"
services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    restart: unless-stopped
    ports:
      - "4533:4533"  # 웹 접속 포트 (호스트:컨테이너)
    environment:
      - ND_SCANSCHEDULE=1h  # 1시간마다 라이브러리 스캔
      - ND_LOGLEVEL=info     # 로그 레벨 설정
      - ND_BASEURL=/         # 프록시 사용 시 경로 설정
    volumes:
      - ./data:/data         # 설정/DB 저장 위치
      - /path/to/your/music:/music:ro  # 음악 폴더 (읽기 전용)

🔍 환경 변수 상세

변수명 값 예시 설명
ND_PORT 4533 서비스 포트
ND_ENABLETRANSCODING true 트랜스코딩 활성화
ND_DEFAULTENCODING mp3 기본 인코딩 포맷
ND_SESSIONTIMEOUT 24h 세션 유지 시간

🚀 서비스 실행 & 관리

# 백그라운드 실행
docker-compose up -d

# 로그 확인
docker-compose logs -f

# 서비스 중지
docker-compose down

접속 테스트

브라우저에서 http://서버IP:4533 접속
➡️ 초기 로그인: admin / admin (⚠️반드시 비밀번호 변경!)


🔒 보안 강화 (Reverse Proxy)

Nginx 프록시 설정 예시 (/etc/nginx/sites-available/navidrome):

server {
    listen 80;
    server_name music.yourdomain.com;

    location / {
        proxy_pass http://localhost:4533;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    # HTTPS 강제 리다이렉트 (Let's Encrypt 추천)
    return 301 https://$host$request_uri;
}

⚙️ 고급 설정 팁

  1. 자동 업데이트
    watchtower 컨테이너 추가:

    services:
     watchtower:
       image: containrrr/watchtower
       volumes:
         - /var/run/docker.sock:/var/run/docker.sock
  2. 백업 스크립트

    #!/bin/bash
    tar -czvf navidrome-backup-$(date +%Y%m%d).tar.gz ~/navidrome/data
  3. 트랜스코딩 성능 향상
    docker-compose.yml에 추가:

    environment:
     - ND_TRANSCODINGCACHESIZE=1000MB  # 캐시 크기 증가

❓ 자주 묻는 질문

Q1. 외부 음악 폴더를 어떻게 마운트하나요?

volumes:
  - /mnt/nas/music:/music:ro

Q2. 재생목록이 사라져요!
./data 볼륨 매핑 필수! DB와 캐시 저장 위치 보존

Q3. 모바일 앱 추천?
Subsonic API 호환 앱 사용 (e.g. Symfonium 안드로이드, play:Sub iOS)


💡 결론: 왜 나비드롬인가?

  • 개인 음악 라이브러리의 완벽한 자율성 ☁️🔒
  • Docker 기반의 손쉬운 배포/관리 ⚡📦
  • 크로스 플랫폼 지원 (웹/iOS/안드로이드/Smart TV) 📱💻📺

> “나비드롬은 개인 음악 컬렉션을 클라우드로 옮기고 싶은 사용자에게 완벽한 오픈소스 솔루션입니다. Docker Compose로 5분 만에 구축해보세요!” ✨

설정 파일 최신 버전은 공식 GitHub에서 확인하세요! D

답글 남기기

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