설정
거의 모든 설정은 인터페이스의 설정에서 합니다. 설정 파일과 환경 변수는 설치(포트, 데이터베이스 위치)와 특수한 경우에만 필요합니다. 이 페이지에서는 둘 다 다룹니다.
설정
설정의 탭을 순서대로 나열했습니다. 일부는 고급 또는 전문가 인터페이스 수준에서만 표시됩니다(계정 메뉴 › 인터페이스).
| 탭 | 주요 내용 |
|---|---|
| 일반 | 재생(반복, 셔플, 오디오파일 모드의 볼륨), 인터페이스(테마, 언어, 시작 화면, 기본 존, 볼륨 표시, 사이드바 순서), 프로필 |
| 오디오 | 로컬 오디오 출력(오디오 백엔드, WASAPI 모드, ReplayGain, 백그라운드 분석 속도), 네트워크 기기, Squeezebox / Lyrion, HQPlayer, 네트워크 렌더러로의 DSD 재생, 오디오 진단, Wi-Fi 네트워크 |
| 라이브러리 | 라이브러리 스캔, 위치(폴더와 SMB 공유), 스캔 옵션, 자동 분석, 메타데이터, 보강, 콘텐츠 추가 |
| 존 | 존 자동 생성, “따라오기” |
| 기기 | 존별 설정(DSD, 최대 샘플레이트, 고정 볼륨, 엄격한 비트 퍼펙트, 모노 출력 등), 설정 백업 |
| 표시 | 트랙 목록의 열, 컬렉션 커버 모자이크, 정지 버튼, 사이드바의 소스 |
| 확장(전문가) | 설치된 확장과 카탈로그 |
| 접근과 토큰(고급) | 스트리밍 서비스, 서비스 키(Last.fm 등) |
| 시스템 | 정보 및 업데이트, 서버 상태(로그 수준, 정리), 데이터베이스(백업 / 복원, PostgreSQL로 마이그레이션), 데이터 위치, 다른 플레이어(Roon, Plex)에서 가져오기, CSV 내보내기 |
| 음향 분석(전문가) | 라이브러리의 음향 분석 |
| Tune Premium 라이선스 | 라이선스 활성화 또는 해제 |
설정을 빠르게 찾으려면 계정 메뉴의 설정 검색…을 사용하세요.
업데이트
새 버전이 있으면 Tune이 사이드바에 알려 줍니다(“업데이트 가능”). 직접 확인하려면 설정 › 시스템 › 정보 › 업데이트에 있는 업데이트 확인을 사용하세요. Windows, macOS, .deb 패키지, Tune OS에서는 업데이트가 Tune 안에서 설치되며, 실행 중인 스캔은 먼저 중지됩니다. Homebrew에서는 Tune이 brew upgrade를 실행하거나 실행하라고 안내합니다. Docker에서는 새 이미지를 직접 받아야 합니다.
.deb에 대한 참고: Tune에서 설치한 업데이트는 apt를 거치지 않고 /opt/tune의 파일을 교체합니다. 이후에 더 오래된 .deb를 다시 설치하면 그 패키지의 버전으로 돌아갑니다.
백업
설정 › 시스템 › 데이터베이스 › 백업 / 복원은 데이터베이스의 사본을 만듭니다. 사본은 데이터베이스 옆의 backups 폴더에 저장되며, Tune은 가장 최근 다섯 개를 보관합니다. PostgreSQL에서는 사용할 수 없으므로 대신 pg_dump를 사용하세요. 설정 › 기기 › 설정 백업은 존 설정을 파일로 저장합니다. 볼륨, 대기열, 그룹은 포함되지 않습니다. 이 파일은 백업 열기…로 다시 불러옵니다.
tune.toml 설정 파일
Tune은 시작하는 데 파일이 필요 없습니다. 파일을 만들면 Tune은 다음 순서로 찾아 처음 발견한 tune.toml을 사용합니다.
- Windows:
%APPDATA%\Tune\tune.toml - Tune을 시작한 폴더:
./tune.toml /etc/tune/tune.toml- macOS:
~/.config/tune/tune.toml
port = 8888
db_path = "tune.db"
auto_scan = false
log_level = "info"
music_dirs = ["/srv/music"]
# local_audio_backend = "asio" # Windows: auto, wasapi or asio
# dlna_play_delay_ms = 0
주의: 형식이 잘못된 파일은 오류 메시지 없이 건너뛰며, Tune은 다음 파일이나 기본값으로 넘어갑니다.
환경 변수
환경 변수는 tune.toml보다 우선합니다. Tune은 시작한 폴더의 .env 파일도 읽습니다(Windows에서는 %LOCALAPPDATA%\TuneServer\ 또는 tune-server.exe 옆의 파일도 읽습니다). .deb 패키지에서는 /etc/default/tune-server에 한 줄에 하나씩, 따옴표 없이 넣은 다음 sudo systemctl restart tune-server를 실행하세요.
| 변수 | 기본값 | 용도 |
|---|---|---|
TUNE_PORT | 8888 | 웹 인터페이스와 API의 포트 |
TUNE_DB_PATH | 아래 참조 | SQLite 데이터베이스 파일 |
TUNE_MUSIC_DIRS | 없음 | 음악 폴더. 쉼표로 구분하거나 JSON 배열로 지정합니다. 처음 시작할 때만 읽습니다(아래 참조). |
TUNE_AUTO_SCAN | false | 시작할 때 라이브러리 스캔(사용하려면 true) |
TUNE_LOG_LEVEL | info | 로그 수준: error, warn, info, debug, trace |
TUNE_LOG_FILE | 플랫폼별 | 로그 파일 경로 |
TUNE_ARTWORK_DIR | 플랫폼별 | 커버 아트 캐시 폴더 |
TUNE_ADVERTISED_IP | 자동 감지 | Tune이 렌더러에 알리는 IP 주소. 기기에 네트워크 인터페이스가 여러 개일 때 유용합니다. |
TUNE_DATABASE_URL | 없음 | PostgreSQL을 사용하기 위한 postgres://… URL |
TUNE_LOCAL_AUDIO_BACKEND | auto | Windows: auto(WASAPI), wasapi 또는 asio. 설정 › 오디오에서 한 선택이 우선합니다. |
TUNE_LOCAL_EXCLUSIVE_MODE | false | 로컬 출력의 독점 모드 |
TUNE_TIDAL_QUALITY | HI_RES_LOSSLESS | 요청하는 TIDAL 음질 |
TUNE_SLIMPROTO_PORT | 3483 | Squeezebox(SlimProto) 서버 포트 |
TUNE_CLI_PORT | 9090 | LMS 호환 명령 포트 |
TUNE_SCAN_IO_CONCURRENCY | auto | 스캔 중에 병렬로 읽는 파일 수(하드 디스크에서는 4, 그 외에는 32) |
TUNE_DISCOGS_TOKEN | 없음 | Discogs 개인 토큰 |
TUNE_LASTFM_API_KEY, TUNE_LASTFM_API_SECRET | 없음 | Last.fm 키. 설정에 한 번만 복사됩니다 |
TUNE_TELEMETRY | 켜짐 | false로 설정하면 원격 측정이 꺼집니다(설정 › 시스템에서도 가능) |
RUST_LOG | 없음 | 고급 로그 필터. TUNE_LOG_LEVEL보다 우선합니다 |
음악 폴더. TUNE_MUSIC_DIRS(또는 music_dirs)는 처음 시작할 때만 설정으로 복사됩니다. 그 이후에는 설정 › 라이브러리 › 위치의 목록이 기준이며, 변수를 바꿔도 효과가 없습니다. 없거나 비어 있는 폴더는 복사되지 않습니다.
제거된 변수. 이전 변수인 PORT, HOST, MUSIC_DIRS, DB_DRIVER, API_KEY, AUDIO_DEVICE, DSD_MODE, WRITE_TAGS, WATCH_FILESYSTEM 및 비슷한 것들은 더 이상 읽지 않습니다. .env.tune.example에 있는 다음 변수들도 효과가 없습니다: TUNE_TIDAL_ENABLED, TUNE_QOBUZ_ENABLED, TUNE_DEEZER_ENABLED, TUNE_SPOTIFY_ENABLED, TUNE_YOUTUBE_ENABLED, TUNE_DEFAULT_OUTPUT_FORMAT. 서비스는 인터페이스에서 켭니다.
데이터 위치
| 설치 방식 | 데이터베이스 | 로그 |
|---|---|---|
| Windows | %LOCALAPPDATA%\TuneServer\tune.db | %LOCALAPPDATA%\TuneServer\tune-server.log |
| macOS | ~/Library/Application Support/Tune/tune.db | ~/Library/Logs/tune-server.log |
| .deb 패키지 | /var/lib/tune/tune.db | journalctl -u tune-server |
| Linux 압축 파일 | ./tune.db(시작 폴더) | ~/.local/state/tune/tune-server.log |
| Docker | /data/tune.db | 컨테이너 출력(docker logs tune) |
| Tune OS | /opt/tune/data/tune.db | journalctl -u tune |
커버 아트 캐시는 그 옆에 있습니다. Windows에서는 %LOCALAPPDATA%\TuneServer\artwork_cache, macOS에서는 ~/Library/Application Support/Tune/artwork_cache, Docker에서는 /data/artwork_cache, Tune OS에서는 /opt/tune/data/artwork_cache입니다. 로그 파일은 최대 10 MiB이며 백업 사본을 하나(.1) 유지합니다. Tune OS에서는 1.0 이전에 설치한 기기가 원래 캐시인 /opt/tune/artwork_cache를 그대로 사용합니다.
데이터베이스: SQLite 또는 PostgreSQL
Tune은 기본적으로 SQLite를 사용하며 별도 설정이 필요 없습니다. PostgreSQL은 공개된 Windows, macOS, Linux(x86-64 및 aarch64) 빌드에서 지원됩니다. 지원되지 않는 것은 Docker 이미지와 Linux aarch64-musl 빌드입니다. 켜는 방법은 두 가지입니다.
- 인터페이스에서: 설정 › 시스템 › 데이터베이스 › PostgreSQL로 마이그레이션(전문가 수준).
- 시작할 때:
TUNE_DATABASE_URL=postgres://user:password@host:5432/tune, 또는TUNE_DB_ENGINE=postgres와 함께TUNE_DB_HOST,TUNE_DB_PORT,TUNE_DB_NAME,TUNE_DB_USER,TUNE_DB_PASS.
네트워크 포트
| 포트 | 용도 |
|---|---|
| TCP 8888 | 웹 인터페이스, API, WebSocket, 렌더러로 보내는 오디오 스트림 |
| UDP 1900 | SSDP 검색(DLNA/UPnP) |
| UDP 5353 | mDNS 검색(AirPlay, Chromecast 등) |
| TCP/UDP 3483 | Squeezebox(SlimProto) 서버. 같은 기기에서 LMS가 실행 중이면 충돌합니다. |
| TCP 9090 | LMS 호환 명령 포트. 9090이 사용 중이면 Tune은 9091에서 9098까지 시도합니다. |
| TCP 8890 | UPnP/OpenHome 이벤트 리스너(사용 중이면 다른 포트가 선택됩니다) |
Tune은 모든 네트워크 인터페이스에서 수신하며, 수신 주소는 변경할 수 없습니다. Tune OS에서는 포트 80이 8888로 전달됩니다.
보안
기본적으로 Tune에는 비밀번호도 HTTPS도 없습니다. 로컬 네트워크에 접근할 수 있는 사람은 누구나 인터페이스를 열 수 있습니다. 포트 8888을 인터넷에 노출하지 마세요. 계정 및 토큰 인증은 API에 있지만(기술 가이드 참조) 인터페이스에서는 설정할 수 없습니다.