このプロジェクトについて

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の例が提供されており、masterブランチに基づくedgeイメージがテストと貢献のために提供されていますが、不安定であるという警告があります。 アップグレードには、新しいイメージをプルしてコンテナを再作成する必要があります。プロジェクトは、新しいバージョンに破壊的な変更が含まれる可能性があるため、アップグレードガイドを読むよう明示的に警告しています。モバイルクライアントは、iOS用にApp Store、Android用にGoogle PlayとF-Droidでリストされており、APKはGitHubリリースからダウンロードできます。プロジェクトはDiscogs APIとも統合されており、設定ページでDiscogsトークンが設定されている場合、アーティストとアルバムのアートワークを取得できます。 開発用には、文書化された要件としてRuby 4.0、Node.js 20、libvips、FFmpegがあり、依存関係にはbundleとnpm、Railsデータベースの準備とシード、ローカルでポート3000でサービスを開始する./bin/devスクリプトがあります。テストとリンティングは、rails test:allとrails lint:allを通じて実行されます。リポジトリにはCIとカバレッジのバッジが含まれ、JetBrainsからのスポンサーシップが記載されています。