월. 7월 21st, 2025

🎧 What is Navidrome?

Navidrome is an open source music streaming server that allows you to build your personal music library in the cloud.

  • Pros: Lightweight, mobile-friendly UI, Subsonic API compatible
  • 🌟 Features: Real-time transcoding, playlist management, multi-user support
  • vs Plex: Lighter, optimized for music only

—.

🛠 Prerequisites

  1. install Docker & Docker Compose.
    
    # Ubuntu Example
    sudo apt update && sudo apt install docker.io docker-compose
    ```bash # Ubuntu example
  2. Prepare your music files
    • Organize your music folders locally or on your NAS (MP3, FLAC, etc. supported)

—]

📂 Set up project structure

mkdir ~/navidrome && cd ~/navidrome
mkdir data music # Data storage & music directory
touch docker-compose.yml # Create configuration file

—]

🐋 Create Docker Compose file

Example docker-compose.yml (★explaining required settings★):

version: "3.8"
services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    restart: unless-stopped
    ports:
      - "4533:4533" # Web access ports (host:container)
    environment:
      - ND_SCANSCHEDULE=1h # scan libraries every hour
      - ND_LOGLEVEL=info # Log level setting
      - ND_BASEURL=/ # Set path when using proxy
    volumes:
      - ./data:/data # settings/DB storage location.
      - /path/to/your/music:/music:ro # Music folder (read-only)

🔍 Environment variable details

Variable name Example value Description
ND_PORT 4533 Service port
ND_ENABLETRANSCODING true Enable transcoding
ND_DEFAULTENCODING mp3 Default encoding format
ND_SESSIONTIMEOUT 24h Session duration

—]

🚀 Running & Managing Services

# Run in the background
docker-compose up -d

# Check the logs
docker-compose logs -f

# Stop the service
docker-compose down

Test accessing #### Access http://서버IP:4533 in a browser ➡️ initial login: admin / admin (⚠️반드시 Change your password!)

—]

🔒 Increase Security (Reverse Proxy)

Example Nginx proxy setup (/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;
    }

    # force HTTPS redirect (Let's Encrypt recommended)
    return 301 https://$host$request_uri;
}

—]

⚙️ Advanced Setup Tips

  1. **Automatically update Add a watchtower container:

    services:
     watchtower:
       image: containrrr/watchtower
       volumes:
         - /var/run/docker.sock:/var/run/docker.sock
  2. backup script

    #!/bin/bash
    tar -czvf navidrome-backup-$(date +%Y%m%d).tar.gz ~/navidrome/data
  3. Improve transcoding performance. Add to docker-compose.yml:

    environment:
     - ND_TRANSCODINGCACHESIZE=1000MB # Increase cache size.

—]

❓ Frequently Asked Questions

**Q1. How do I mount an external music folder?

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

**Q2. My playlists are disappearing! Mapping the ./data volume is required! Preserve DB and cache storage locations

Q3. Mobile app recommendation? Use Subsonic API compatible apps (e.g. Symfonium Android, play:Sub** iOS)

—.

💡 Conclusion: Why Navidrome?

  • Complete autonomy of your personal music library ☁️🔒
  • Easy deployment/management based on Docker** ⚡📦
  • Cross-platform support** (Web/iOS/Android/Smart TV) 📱💻📺

> “Navadrome is the perfect open source solution for users who want to move their personal music collection to the cloud. Build it in 5 minutes with Docker Compose!” ✨

Check out the official GitHub for the latest version of the configuration files! D

답글 남기기

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