Giter Club home page Giter Club logo

koel's Introduction

koel Frontend Unit Tests Code Quality codecov OpenCollective OpenCollective

Showcase

Intro

Koel (also stylized as koel, with a lowercase k) is a simple web-based personal audio streaming service written in Vue on the client side and Laravel on the server side. Targeting web developers, Koel embraces some of the more modern web technologies to do its job.

Install and Upgrade Guide

For system requirements, installation/upgrade guides, troubleshooting etc., head over to the Official Documentation.

Development

See the Development Guide.

Koel Player

Koel Player screenshots

Koel Player is the official mobile app for Koel, which supports both iOS and Android without the limitations of the mobile web version. For more information on the project, visit its repository.

Backers

Support me on OpenCollective with a monthly donation and help me continue building Koel.

Sponsors

GitHub Sponsors

OpenCollective

Become a sponsor on OpenCollective and get your logo on our README on Github with a link to your site.

koel's People

Contributors

0xcaff avatar alex-phillips avatar allentje avatar andreybolonin avatar bartlomieju avatar brett-anderson avatar brookedot avatar christ0ph3r avatar daniele-athome avatar davidschlachter avatar dependabot-preview[bot] avatar dependabot[bot] avatar dogfalo avatar falahatiali avatar fieteboerner avatar funcoding avatar juliusvdijk avatar kondratovbr avatar mattstauffer avatar melonsmasher avatar pedroborges avatar peter279k avatar phanan avatar renovate[bot] avatar rundef avatar sahassar avatar serima avatar sketchni avatar wolfpld avatar x-ryl669 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

koel's Issues

typo

on your website: "despreration"

How many tockens does this thing want to install after running 'composer install'?

I stopped after this

C:\Users\tendi\tryphp\koel>

Missing requirements for composer

CentOS 7
PHP 7.0.0

/mnt/btrfs/koel [0] # composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for danielstjules/stringy 1.10.0 -> satisfiable by danielstjules/stringy[1.10.0].
    - danielstjules/stringy 1.10.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 2
    - Installation request for laravel/framework v5.1.26 -> satisfiable by laravel/framework[v5.1.26].
    - laravel/framework v5.1.26 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 3
    - Installation request for phpunit/phpunit 5.1.3 -> satisfiable by phpunit/phpunit[5.1.3].
    - phpunit/phpunit 5.1.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 4
    - laravel/framework v5.1.26 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
    - barryvdh/laravel-ide-helper v2.1.0 requires illuminate/console 5.0.x|5.1.x -> satisfiable by laravel/framework[v5.1.26].
    - Installation request for barryvdh/laravel-ide-helper v2.1.0 -> satisfiable by barryvdh/laravel-ide-helper[v2.1.0].

Duplicate entry error while scanning media path

Full debug log

[2015-12-15 17:56:52] local.ERROR: exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'D12 & Eminem' for key 'artists_name_unique'' in /koel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:390
Stack trace:
#0 /koel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(390): PDOStatement->execute(Array)
#1 /koel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(644): Illuminate\Database\Connection->Illuminate\Database\{closure}(Object(Illuminate\Database\MySqlConnection), 'insert into `ar...', Array)
#2 /koel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(611): Illuminate\Database\Connection->runQueryCallback('insert into `ar...', Array, Object(Closure))
#3 /koel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(391): Illuminate\Database\Connection->run('insert into `ar...', Array, Object(Closure))
#4 /koel/vendor/laravel/framework/src/Illuminate/Database/Connection.php(347): Illuminate\Database\Connection->statement('insert into `ar...', Array)
#5 /koel/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert('insert into `ar...', Array)
#6 /koel/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(1799): Illuminate\Database\Query\Processors\Processor->processInsertGetId(Object(Illuminate\Database\Query\Builder), 'insert into `ar...', Array, 'id')
#7 [internal function]: Illuminate\Database\Query\Builder->insertGetId(Array, 'id')
#8 /koel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(943): call_user_func_array(Array, Array)
#9 /koel/bootstrap/cache/compiled.php(10476): Illuminate\Database\Eloquent\Builder->__call('insertGetId', Array)
#10 /koel/bootstrap/cache/compiled.php(10476): Illuminate\Database\Eloquent\Builder->insertGetId(Array, 'id')
#11 /koel/bootstrap/cache/compiled.php(10465): Illuminate\Database\Eloquent\Model->insertAndSetId(Object(Illuminate\Database\Eloquent\Builder), Array)
#12 /koel/bootstrap/cache/compiled.php(10422): Illuminate\Database\Eloquent\Model->performInsert(Object(Illuminate\Database\Eloquent\Builder), Array)
#13 /koel/bootstrap/cache/compiled.php(10055): Illuminate\Database\Eloquent\Model->save()
#14 /koel/bootstrap/cache/compiled.php(10070): Illuminate\Database\Eloquent\Model::create(Array)
#15 /koel/app/Models/Artist.php(41): Illuminate\Database\Eloquent\Model::firstOrCreate(Array, Array)
#16 /koel/app/Services/Media.php(103): App\Models\Artist::get('D12 & Emine...')
#17 /koel/app/Services/Media.php(52): App\Services\Media->syncFile(Object(Symfony\Component\Finder\SplFileInfo))
#18 /koel/bootstrap/cache/compiled.php(6022): App\Services\Media->sync()
#19 /koel/app/Http/Controllers/API/SettingController.php(25): Illuminate\Support\Facades\Facade::__callStatic('sync', Array)
#20 /koel/app/Http/Controllers/API/SettingController.php(25): App\Facades\Media::sync()
#21 [internal function]: App\Http\Controllers\API\SettingController->save(Object(App\Http\Requests\API\SettingRequest))
#22 /koel/bootstrap/cache/compiled.php(8866): call_user_func_array(Array, Array)
#23 /koel/bootstrap/cache/compiled.php(8935): Illuminate\Routing\Controller->callAction('save', Array)
#24 /koel/bootstrap/cache/compiled.php(8915): Illuminate\Routing\ControllerDispatcher->call(Object(App\Http\Controllers\API\SettingController), Object(Illuminate\Routing\Route), 'save')
#25 [internal function]: Illuminate\Routing\ControllerDispatcher->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#26 /koel/bootstrap/cache/compiled.php(9585): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#27 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#28 /koel/bootstrap/cache/compiled.php(9567): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#29 /koel/bootstrap/cache/compiled.php(8916): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#30 /koel/bootstrap/cache/compiled.php(8901): Illuminate\Routing\ControllerDispatcher->callWithinStack(Object(App\Http\Controllers\API\SettingController), Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'save')
#31 /koel/bootstrap/cache/compiled.php(7855): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'App\Http\Contro...', 'save')
#32 /koel/bootstrap/cache/compiled.php(7826): Illuminate\Routing\Route->runWithCustomDispatcher(Object(Illuminate\Http\Request))
#33 /koel/bootstrap/cache/compiled.php(7479): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))
#34 [internal function]: Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#35 /koel/bootstrap/cache/compiled.php(9585): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#36 /koel/app/Http/Middleware/Authenticate.php(45): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#37 [internal function]: App\Http\Middleware\Authenticate->handle(Object(Illuminate\Http\Request), Object(Closure))
#38 /koel/bootstrap/cache/compiled.php(9577): call_user_func_array(Array, Array)
#39 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#40 /koel/bootstrap/cache/compiled.php(9567): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#41 /koel/bootstrap/cache/compiled.php(7480): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#42 /koel/bootstrap/cache/compiled.php(7468): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#43 /koel/bootstrap/cache/compiled.php(7453): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#44 /koel/bootstrap/cache/compiled.php(2302): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#45 [internal function]: Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#46 /koel/bootstrap/cache/compiled.php(9585): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#47 /koel/bootstrap/cache/compiled.php(2926): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#48 [internal function]: Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#49 /koel/bootstrap/cache/compiled.php(9577): call_user_func_array(Array, Array)
#50 /koel/bootstrap/cache/compiled.php(12949): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#51 [internal function]: Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#52 /koel/bootstrap/cache/compiled.php(9577): call_user_func_array(Array, Array)
#53 /koel/bootstrap/cache/compiled.php(11536): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#54 [internal function]: Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#55 /koel/bootstrap/cache/compiled.php(9577): call_user_func_array(Array, Array)
#56 /koel/bootstrap/cache/compiled.php(12686): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#57 [internal function]: Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#58 /koel/bootstrap/cache/compiled.php(9577): call_user_func_array(Array, Array)
#59 /koel/bootstrap/cache/compiled.php(12623): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#60 [internal function]: Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#61 /koel/bootstrap/cache/compiled.php(9577): call_user_func_array(Array, Array)
#62 /koel/bootstrap/cache/compiled.php(2983): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#63 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#64 /koel/bootstrap/cache/compiled.php(9577): call_user_func_array(Array, Array)
#65 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#66 /koel/bootstrap/cache/compiled.php(9567): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#67 /koel/bootstrap/cache/compiled.php(2249): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#68 /koel/bootstrap/cache/compiled.php(2232): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#69 /koel/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#70 /koel/server.php(19): require_once('/ko...')
#71 {main}

Native Apps for iOS/Android

It would be awesome to have iOS/Android Open Source native clients. I'm learning/doing iOS development and would love to help out push the iOS app. What do you think?

[installation dependency] - node-gyp only supports python 2

Installation fails on Windows if python 3 is installed due to node-gyp plugin requirements

The full error message (one of several raised during installation):

gyp ERR! configure error
gyp ERR! stack Error: Python executable "python" is v3.4.2, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack     at failPythonVersion (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:108:14)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:97:9
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:742:7)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at maybeClose (child_process.js:1015:16)
gyp ERR! stack     at Socket.<anonymous> (child_process.js:1183:11)
gyp ERR! stack     at Socket.emit (events.js:107:17)
gyp ERR! stack     at Pipe.close (net.js:485:12)
gyp ERR! System Windows_NT 6.3.9600
gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\dev\Desktop\music\koel\node_modules\laravel-elixir\node_modules\browser-sync\node_modules\socket.io\node_modules\engine.io\node_modules\ws\node_modules\bufferutil
gyp ERR! node -v v0.12.3
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok

I'm running Windows 10
npm 2.9.1

Files with non ASCII characters do not get saved correctly

In my library there is a file "Major Lazer & DJ Snake - Lean On (feat. MØ) (Official Music Video).mp3" which is unplayable because the file path is stored as "Major Lazer & DJ Snake - Lean On (feat. M?) (Official Music Video).mp3".

I am able to store the Ø character in the song table which also fixes the playback issue.

This issue is happening with all non ASCII characters.

Error 422 Unprocessable Entity

I just installed Koel on Laravel's Homestead and tried adding a directory containing some music. When clicking scan I get the error '422 Unprocessable Entity' (POST http://koel.local/api/settings 422 (Unprocessable Entity)).

Request payload:

{media_path: "E:\koel_demo\music"}

Response

{"media_path":["validation.valid_path"]}

Register project to packagist

Can you register the koel project to packagist ? I prefer to install it with composer instead of git.

Like this:

$ composer create-project phanan/koel

OR

$ composer create-project koel/koel

Connection refused

Would like to try your software but can't seem to get past the connection refused.

apache2 2442 root 4u IPv6 20261 0t0 TCP *:80 (LISTEN)
apache2 2445 www-data 4u IPv6 20261 0t0 TCP *:80 (LISTEN)
apache2 2446 www-data 4u IPv6 20261 0t0 TCP *:80 (LISTEN)
apache2 2447 www-data 4u IPv6 20261 0t0 TCP *:80 (LISTEN)
apache2 2448 www-data 4u IPv6 20261 0t0 TCP *:80 (LISTEN)
apache2 2449 www-data 4u IPv6 20261 0t0 TCP *:80 (LISTEN)
php5 2521 root 6u IPv4 20355 0t0 TCP 127.0.0.1:8000 (LISTEN)

Do I need to do something with apace? I attempted the install using a ubuntu 15 server lamp stack.

Installing

Hi I tried to install but it throws an error in line 31 to the artisan

You can install a WAMP server?

Installation Error

screenshot 2015-12-14 14 58 53

I am getting the above error everytime I try to install.
The steps I basically followed are as below

git clone https://github.com/phanan/koel.git .
npm install -g bower
npm install gulp
npm install laravel-elixir
bower install && gulp --production
curl -sS https://getcomposer.org/installer | php #Get composer
mv composer.phar /usr/local/bin/composer #setup composer as a command in bash
npm install 
composer install
nano .env #added credentials
php artisan key:generate

php artisan migrate --force #get the error right here, as shown in screenshot above

Installation error or something I am missing ?
I have rechecked the wiki and the site.

Exception After login

Hi,

Please suggest me solution for the issue below:

Whoops, looks like something went wrong.
2/2 ErrorException in Application.php line 36: file_get_contents(/home/ritesh/koel/public/build/rev-manifest.json): failed to open stream: No such file or directory (View: /home/ritesh/koel/resources/views/index.blade.php)

in Application.php line 36
at CompilerEngine->handleViewException(object(ErrorException), '1') in compiled.php line 14628
at PhpEngine->evaluatePath('/home/ritesh/koel/storage/framework/views/44a9c34426a86757db1565b62aa58eab', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag))) in compiled.php line 14662
at CompilerEngine->get('/home/ritesh/koel/resources/views/index.blade.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag))) in compiled.php line 14495
at View->getContents() in compiled.php line 14483
at View->renderContents() in compiled.php line 14474
at View->render() in compiled.php line 15623
at Response->setContent(object(View)) in compiled.php line 15138
at Response->__construct(object(View)) in compiled.php line 7688
at Router->prepareResponse(object(Request), object(View)) in compiled.php line 7479
at Router->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9585
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Authenticate.php line 45
at Authenticate->handle(object(Request), object(Closure))
at call_user_func_array(array(object(Authenticate), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9567
at Pipeline->then(object(Closure)) in compiled.php line 7480
at Router->runRouteWithinStack(object(Route), object(Request)) in compiled.php line 7468
at Router->dispatchToRoute(object(Request)) in compiled.php line 7453
at Router->dispatch(object(Request)) in compiled.php line 2302
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9585
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 2926
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 12949
at ShareErrorsFromSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 11536
at StartSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 12686
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 12623
at EncryptCookies->handle(object(Request), object(Closure))
at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 2983
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9567
at Pipeline->then(object(Closure)) in compiled.php line 2249
at Kernel->sendRequestThroughRouter(object(Request)) in compiled.php line 2232
at Kernel->handle(object(Request)) in index.php line 53
at require_once('/home/ritesh/koel/index.php') in server.php line 19

1/2 ErrorException in Application.php line 36: file_get_contents(/home/ritesh/koel/public/build/rev-manifest.json): failed to open stream: No such file or directory

in Application.php line 36
at HandleExceptions->handleError('2', 'file_get_contents(/home/ritesh/koel/public/build/rev-manifest.json): failed to open stream: No such file or directory', '/home/ritesh/koel/app/Application.php', '36', array('file' => 'css/vendors.css', 'manifest' => null))
at file_get_contents('/home/ritesh/koel/public/build/rev-manifest.json') in Application.php line 36
at Application->rev('css/vendors.css') in compiled.php line 6024
at Facade::__callStatic('rev', array('css/vendors.css')) in 44a9c34426a86757db1565b62aa58eab line 14
at App::rev('css/vendors.css') in 44a9c34426a86757db1565b62aa58eab line 14
at include('/home/ritesh/koel/storage/framework/views/44a9c34426a86757db1565b62aa58eab') in compiled.php line 14626
at PhpEngine->evaluatePath('/home/ritesh/koel/storage/framework/views/44a9c34426a86757db1565b62aa58eab', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag))) in compiled.php line 14662
at CompilerEngine->get('/home/ritesh/koel/resources/views/index.blade.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag))) in compiled.php line 14495
at View->getContents() in compiled.php line 14483
at View->renderContents() in compiled.php line 14474
at View->render() in compiled.php line 15623
at Response->setContent(object(View)) in compiled.php line 15138
at Response->__construct(object(View)) in compiled.php line 7688
at Router->prepareResponse(object(Request), object(View)) in compiled.php line 7479
at Router->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9585
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Authenticate.php line 45
at Authenticate->handle(object(Request), object(Closure))
at call_user_func_array(array(object(Authenticate), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9567
at Pipeline->then(object(Closure)) in compiled.php line 7480
at Router->runRouteWithinStack(object(Route), object(Request)) in compiled.php line 7468
at Router->dispatchToRoute(object(Request)) in compiled.php line 7453
at Router->dispatch(object(Request)) in compiled.php line 2302
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9585
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 2926
at VerifyCsrfToken->handle(object(Request), object(Closure))
at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 12949
at ShareErrorsFromSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 11536
at StartSession->handle(object(Request), object(Closure))
at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 12686
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 12623
at EncryptCookies->handle(object(Request), object(Closure))
at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in compiled.php line 2983
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in compiled.php line 9577
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in compiled.php line 9567
at Pipeline->then(object(Closure)) in compiled.php line 2249
at Kernel->sendRequestThroughRouter(object(Request)) in compiled.php line 2232
at Kernel->handle(object(Request)) in index.php line 53
at require_once('/home/ritesh/koel/index.php') in server.php line 19

On Windows we get GBK, not UTF8

I use a macbook and a thinkpad, so I tried Koel both on Mac OS and Windows. When I use my Windows platform I met a problem similar to @Merccy #2.

I have a lot of Chinese songs and Korean songs. What I found is that after excuteing koel:sync I can's save the Chinese song's name into the database, and can't get the name of Korean songs.

  1. the numbers and english characters in the name of Korean songs can be displayed correctly in the CMD, each Korean character is replaced with "?".
    and it tells me that the name is valid, I can find nothing about these songs in the database.
  2. for the Chinese songs, the CMD can display any chararcters (because the CMD is default characterized by GBK), but in the database I see that only the text before the Chinese character is saved.
    eg: the real path is " C:/MusicBase/xxx一首纯中文歌曲.mp3 " , in the databse we can only see "C:/MusicBase/xxx" , if the path changes to " C:/歌曲库/xxx一首纯中文歌曲.mp3 ", we can only get "C:/" in the database.

I'm not familiar with PHP and Laravel or Symfony, I just read some of the codes and do some tests.
It seems that u use Symfony's component Finder to get the path of songs, so before the path being saved to database I add some codes to convert the path from GBK to UTF8, and the chinese songs' correct paths are shown in the database.

So I GUESS it's the problem of the default character setting. Windows use GBK. But GBK only supports most Chinese characters, Korean is not supported. So I can't get the Korean songs' path and I can get the Chinese song's path but can's save it to the database correctly.

I'm not skilled with English, if there is anything not clear, pls notice me. Thanks.

Error after installation

Hi Guys

I had installed Koel, but when I try to access trough http://localhost:8000/ web browser show error exception:

2/2 ErrorException in Application.php line 36: file_get_contents(/koel/public/build/rev-manifest.json): failed to open stream: No such file or directory (View: /koel/resources/views/index.blade.php)

1/2 ErrorException in Application.php line 36: file_get_contents(/koel/public/build/rev-manifest.json): failed to open stream: No such file or directory

Can you help me?

Best regards

Title

I just want to know where the "music" icon placed in your script, one in home title, when playing music and the last one in url.

thank you, you're awesome.

Doesn't work on Android Phone - Google Chrome browser

Hi Phanan,

I finally got it working. It works on and desktop as well phone. But on phone, it works only on firefox but not on chrome.

P.S: Phone is One plus one using Android L 5.1.1

Let me know if you need more details.

Thanks
Ritesh

Support of sqlite

It should be great to support easily sqlite, to easily test the app :-)

npm install errors

Debian 7
node - v4.2.3
npm - 2.14.7

# npm install
Killed
# npm install
npm WARN cannot run in wd [email protected] node node_modules/bower/bin/bower install && gulp --production (wd=/home/koel)
npm WARN unmet dependency /home/koel/node_modules/mocha/node_modules/jade requires commander@'0.6.1' but will load
npm WARN unmet dependency /home/koel/node_modules/mocha/node_modules/commander,
npm WARN unmet dependency which is version 2.3.0
npm WARN unmet dependency /home/koel/node_modules/mocha/node_modules/jade requires mkdirp@'0.3.0' but will load
npm WARN unmet dependency /home/koel/node_modules/mocha/node_modules/mkdirp,
npm WARN unmet dependency which is version 0.5.0
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/browserify requires glob@'^4.0.5' but will load
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/glob,
npm WARN unmet dependency which is version 5.0.15
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/watchify requires browserify@'^12.0.1' but will load
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/browserify,
npm WARN unmet dependency which is version 11.2.0
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-minify-css/node_modules/vinyl-bufferstream/node_modules/bufferstreams requires readable-stream@'^1.0.33' but will load
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-minify-css/node_modules/readable-stream,
npm WARN unmet dependency which is version 2.0.4
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpspec/node_modules/gulp-jshint requires gulp-util@'^3.0.0' but will load
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpspec/node_modules/gulp-util,
npm WARN unmet dependency which is version 2.2.20
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpspec/node_modules/gulp-logger requires chalk@'^0.5.1' but will load
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpspec/node_modules/chalk,
npm WARN unmet dependency which is version 1.1.1
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpspec/node_modules/gulp-logger requires gulp-util@'^3.0.0' but will load
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpspec/node_modules/gulp-util,
npm WARN unmet dependency which is version 2.2.20
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpspec/node_modules/gulp-todo requires gulp-util@'^3.0.1' but will load
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpspec/node_modules/gulp-util,
npm WARN unmet dependency which is version 2.2.20
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpspec/node_modules/gulp-util requires chalk@'^0.5.0' but will load
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpspec/node_modules/chalk,
npm WARN unmet dependency which is version 1.1.1
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpspec/node_modules/jshint requires lodash@'3.7.x' but will load
npm WARN unmet dependency /home/koel/node_modules/lodash,
npm WARN unmet dependency which is version 3.10.1
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpunit/node_modules/gulp-util requires chalk@'^0.5.0' but will load
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-phpunit/node_modules/chalk,
npm WARN unmet dependency which is version 1.1.1
npm WARN unmet dependency /home/koel/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/node_modules/globule requires lodash@'~1.0.1' but will load
npm WARN unmet dependency /home/koel/node_modules/lodash,
npm WARN unmet dependency which is version 3.10.1
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-rev-replace/node_modules/gulp-util requires through2@'^0.5.0' but will load
npm WARN unmet dependency /home/koel/node_modules/laravel-elixir/node_modules/gulp-rev-replace/node_modules/through2,
npm WARN unmet dependency which is version 0.4.2

Typo in wiki

Streaming Music
Out of the box Koel supports two so-called “streaming methods”: using native PHP readfile() and via Apache’s mod_xsendfile. When the former works, the latter is wayyy faster and much, much, much more stable, thus highly recommended. I can’t stress this enough:

should be:

Streaming Music
Out of the box Koel supports two so-called “streaming methods”: using native PHP readfile() and via Apache’s mod_xsendfile. While the former works, the latter is wayyy faster and much, much, much more stable, thus highly recommended. I can’t stress this enough:

Music stopping twice in every song

It's not lagging as the buffer is way ahead, but with every single song the music just cuts off for a second and it does this twice for every song. I have no idea what could cause this, perhaps my hosting provider, or maybe it's something to do with the streamer?

Larvel Session file is not supported

When starting "php artisan serve", localhost:8000 says that /koel/config/session.php (I cloned into /koel) is not supported

InvalidArgumentException in compiled.php line 12040: Driver [/koel/config/session.php] not supported.

and

InvalidArgumentException in compiled.php line 12040: Driver [/koel/config/session.php] not supported.

The exact error is posted below. I am not familiar enough with the Larvel framework to know how to fix it, so I've been doing some google foo to try and solve the problem. I haven't been able to find a solution so far.
2015-12-15-184431_5760x1080_scrot

where the rev-manifest.json

file_get_contents(/home/vagrant/Code/Laravel/public/build/rev-manifest.json): failed to open stream: No such file or directory (View: /home/vagrant/Code/Laravel/resources/views/index.blade.php)

Your requirements could not be resolved to an installable set of packages

When running composer install I got met with these four problems:

-> % composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for phpunit/php-code-coverage 3.0.2 -> satisfiable by phpunit/php-code-coverage[3.0.2].
    - phpunit/php-code-coverage 3.0.2 requires php >=5.6 -> your PHP version (5.5.27) or "config.platform.php" value does not satisfy that requirement.
  Problem 2
    - Installation request for phpunit/phpunit 5.1.3 -> satisfiable by phpunit/phpunit[5.1.3].
    - phpunit/phpunit 5.1.3 requires php >=5.6 -> your PHP version (5.5.27) or "config.platform.php" value does not satisfy that requirement.
  Problem 3
    - Installation request for phpunit/phpunit-mock-objects 3.0.6 -> satisfiable by phpunit/phpunit-mock-objects[3.0.6].
    - phpunit/phpunit-mock-objects 3.0.6 requires php >=5.6 -> your PHP version (5.5.27) or "config.platform.php" value does not satisfy that requirement.
  Problem 4
    - Installation request for sebastian/resource-operations 1.0.0 -> satisfiable by sebastian/resource-operations[1.0.0].
    - sebastian/resource-operations 1.0.0 requires php >=5.6.0 -> your PHP version (5.5.27) or "config.platform.php" value does not satisfy that requirement.

Update
I'm running PHP 5.5, and not minimum required 5.6 on my local machine.

Importing artists with a & in their name

Hi,

When trying to import an album of an artist with '&' in their name (ex: Djihan & Kamien), i get a unique constraint-error from the Artist-model.
I can fix it by changing the following method:

public function setNameAttribute($value)
    {
        $this->attributes['name'] = html_entity_decode($value);
    }

to this:

public function setNameAttribute($value)
    {
        $this->attributes['name'] = $value;
    }

I'm not sure if i should send a PR for this, since you kind of mentioned the html_entity_decode is necessary in some cases. And seems it's only in some rare cases. Might have something to do with a weirdly formatted id3-tag. I'll try to find the file that caused the mayhem and update my report afterwards..

error during install

hi,
have some trouble :
PDO Exception : could not find driver

after a sudo php artisan init...

how to solve it please ?

Not playing on any of the mobile browsers on iOS 9.2

I tried Safari, Chrome, Opera, Firefox and various other mobile browsers. On none of them music is playing, the buffering bar just keeps buffering. I've tried on WiFi as well so mobile connectivity is not the problem, unfortunately there is no console on mobile so I can't check if there's any errors there.

.env not created in installation process.

In the installation instructions there is an entry that you need to modify the .env file with the database info and account info.

However this file does not exist after cloning the git repo and running composer install.
Currently you need to manually copy the .env.example file to .env and edit the details.

Support for Album Artists

I have a large collection of music from OverClocked ReMix, which has a single large album (> 2000 tracks) which all shares the same Album Artist and Album Name, however due to the use of only the Artist ID3 tag, my library is a mess.

To solve this Albums should be grouped by Album Artists if the tag is available, falling back to Artist if it isn't.

Instructions to install don't complete!

I did the install but the instructions don't tell all you need to do
forther of run npm install
You need to install: bower, gulp and laravel-elixir
then run gulp

Please add this information in the installation instructions.

It's work!

Thanks!

It's very good!

Create a docker image

I don't have experience with the PHP ecosystem so I might have some problem doing it but if you help me It should be easy/quick to do.

Contact me!

Unexpected end of input when running: bower install && gulp --production

npm install
npm WARN package.json [email protected] No README data

[email protected] postinstall /var/www/koel
node node_modules/bower/bin/bower install && gulp --production

SyntaxError: Error parsing /var/www/koel/node_modules/laravel-elixir/node_modules/browserify/node_modules/insert-module-globals/node_modules/combine-source-map/package.json: Unexpected end of input
at Object.parse (native)
at readPackage (module.js:113:52)
at tryPackage (module.js:123:13)
at Function.Module._findPath (module.js:190:18)
at Function.Module._resolveFilename (module.js:336:25)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/var/www/koel/node_modules/laravel-elixir/node_modules/browserify/node_modules/insert-module-globals/index.js:8:24)
at Module._compile (module.js:456:26)

npm ERR! [email protected] postinstall: node node_modules/bower/bin/bower install && gulp --production
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is most likely a problem with the koel package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node node_modules/bower/bin/bower install && gulp --production
npm ERR! You can get their info via:
npm ERR! npm owner ls koel
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 4.1.12-6.pvops.qubes.x86_64
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /var/www/koel
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /var/www/koel/npm-debug.log
npm ERR! not ok code 0

/build/rrev-manifest.json): failed to open stream

I am getting the below when i logged in..How to fix it

file_get_contents(/Users/Ajay/htdocs/koel/public/build/rev-manifest.json): failed to open stream: No such file or directory (View: /Users/Ajay/htdocs/koel/resources/views/index.blade.php)

Apache mod_xsendfile cannot serve files above root path

When running koel on my local Apache 2.4.12 with mod_xsendfile 0.12 enabled, it cannot play any song. The following error occurrs for each song I try to play:

[Mon Dec 14 19:52:39.429049 2015] [:error] [pid 27537] (20023)The given path was above the root path: [client 127.0.0.1:60736] xsendfile: unable to find file: /home/mattsches/music/foo/bar.mp3

The solution seems to be to white-list my music directory by setting the XSendFilePath option in my vhost config:

<VirtualHost *:80>
        ServerName koel.local
        XSendFilePath /home/mattsches/music
        DocumentRoot /var/www/vhosts/koel.local/httpdocs
        <Directory /var/www/vhosts/koel.local/httpdocs>
                DirectoryIndex index.html index.php
                Options FollowSymLinks
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

Not sure what else could be done about this.

Error during db migrate

$ php artisan init
php artisan key:generate
php artisan migrate --force
php artisan db:seed --force
[Symfony\Component\HttpKernel\Exception\HttpException]

Safari 9 not working

When pressing the play button in Safari 9 the progress bar just starts its animation but nothing else happens.

How does Koel get album / artist covers?

So far it has managed to get no covers for any albums and/or artists I have, while they do show up in any other media player, so hence my question, how does Koel get the album covers, or how does it fetch them? from the song meta data or from a 3rd party (e.g last.fm or something)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.