프로젝트 소개

gonic은 Go로 작성된 경량 음악 스트리밍 서버로 설계된 Subsonic 서버 API의 자유 소프트웨어 구현체입니다. 개인 음악 컬렉션을 모든 Subsonic 호환 클라이언트(모바일, 데스크톱, 웹)에 제공하며, 라즈베리 파이와 같은 저전력 하드웨어에서도 효율적으로 실행됩니다. 주요 기능은 다음과 같습니다: - 폴더별 탐색(디렉터리 트리 보존) 또는 태그별 탐색(taglib를 사용하여 MP3, Opus, FLAC, APE, M4A, WAV 등 지원) - FFmpeg를 통한 실시간 오디오 트랜스코딩 및 캐싱 - 갭리스 서버 측 재생을 위한 Subsonic 주크박스 모드 - 구성 가능한 에피소드 삭제 기능이 있는 팟캐스트 지원 - 빠른 스캔: 약 5만 트랙 초기 스캔 약 10분, 증분 스캔은 몇 초 내 완료 - 다중 사용자 지원, 각 사용자별 독립적인 트랜스코딩 설정, 재생목록, 통계 - Last.fm 및 ListenBrainz 스크로블링 - Last.fm에서 제공하는 아티스트 유사도 및 전기 정보 - 유연한 파싱 모드를 갖춘 다중 값 태그 지원(장르, 아티스트, 앨범 아티스트, ISRC) - 설정용 웹 인터페이스(Last.fm 설정, 사용자 관리, 스캔 트리거) - 선택적 별칭을 지원하는 다중 음악 폴더 - TLS/HTTPS, 리버스 프록시 접두사, 광범위한 환경 변수 설정 기본 로그인은 admin/admin입니다(웹 UI에서 변경 가능). 설치 옵션에는 Docker, systemd, 소스 빌드가 포함됩니다. 이 프로젝트는 Symfonium, DSub, Ultrasonic, Strawberry 등 다양한 Subsonic 클라이언트와 테스트되었습니다.