프로젝트 소개
Black Candy는 개인 음악 센터로 설명되는 자체 호스팅 음악 스트리밍 서버입니다. 주로 Docker 이미지로 배포되므로 설치 과정은 컨테이너를 실행하고 포트를 매핑하는 것으로 구성되며, 초기 관리자 계정은 이메일 admin@admin.com, 비밀번호 foobar를 사용합니다. 평가를 위한 공개 데모 인스턴스가 제공되지만, 데모 사용자는 관리자 권한이 없으며 음악은 Free Music Archive에서 가져옵니다.
배포 및 구성은 환경 변수와 볼륨 마운트를 통해 처리됩니다. 미디어 파일은 호스트에서 마운트되며 MEDIA_PATH로 지정됩니다. 영구 데이터는 /rails/storage에 저장되며 호스트에 마운트할 수 있습니다. 호스트와 컨테이너 간 권한 충돌이 발생하면 --user UID:GID를 통해 컨테이너를 임의의 사용자로 실행할 수 있습니다. SQLite가 기본 데이터베이스이며, PostgreSQL은 DB_ADAPTER 및 관련 연결 변수를 통해 메인 데이터베이스, Pub/Sub, 백그라운드 작업 및 캐시에 대해 지원됩니다. 문서화된 다른 옵션으로는 FORCE_SSL, DEMO_MODE, HTTP_PORT, SECRET_KEY_BASE가 있으며, 후자는 세션 및 보안에 민감한 데이터를 보호하는 데 사용됩니다. 설정하지 않으면 시작 시마다 새 값이 생성되어 기존 세션이 무효화됩니다. 로깅은 기본적으로 STDOUT으로 출력됩니다. docker-compose 예제가 제공되며, 마스터 브랜치 기반의 엣지 이미지가 테스트 및 기여용으로 제공되지만 불안정할 수 있다는 경고가 있습니다.
업그레이드하려면 새 이미지를 가져와 컨테이너를 다시 생성해야 하며, 프로젝트는 새 버전에 호환되지 않는 변경 사항이 포함될 수 있으므로 업그레이드 가이드를 읽도록 명시적으로 경고합니다. 모바일 클라이언트는 iOS의 경우 App Store, Android의 경우 Google Play 및 F-Droid에 나열되어 있으며, GitHub 릴리스에서 APK를 다운로드할 수 있습니다. 또한 프로젝트는 Discogs API와 통합되어 설정 페이지에서 Discogs 토큰이 구성되면 아티스트 및 앨범 아트워크를 가져올 수 있습니다.
개발을 위해 문서화된 요구 사항은 Ruby 4.0, Node.js 20, libvips 및 FFmpeg이며, 종속성은 bundle 및 npm, Rails 데이터베이스 준비 및 시딩, ./bin/dev 스크립트를 사용하여 포트 3000에서 로컬 서비스를 시작합니다. 테스트와 린팅은 rails test:all 및 rails lint:all을 통해 실행됩니다. 저장소에는 CI 및 커버리지 배지가 포함되어 있으며 JetBrains의 후원을 언급합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.