I launched a koel instance on my system by using the example docker compose file which uses postgres (and just changed the web port + set a DB password):
version: '3'
services:
koel:
image: phanan/koel
depends_on:
- database
ports:
- 8123:80
environment:
- DB_CONNECTION=pgsql
- DB_HOST=database
- DB_PORT=5432
- DB_USERNAME=koel
- DB_PASSWORD=hrtEmZj2hrQkKsL92gTY
- DB_DATABASE=koel
volumes:
- music:/music
- covers:/var/www/html/public/img/covers
- search_index:/var/www/html/storage/search-indexes
database:
image: postgres:13
volumes:
- db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=koel
- POSTGRES_USER=koel
- POSTGRES_PASSWORD=hrtEmZj2hrQkKsL92gTY
volumes:
db:
driver: local
music:
driver: local
covers:
driver: local
search_index:
driver: local
I then launched it with the following command: sudo docker compose up
Then, I ran the initial setup as documented in the readme:
sudo docker exec --user www-data -it koel-poc-koel-1 bash
www-data@eaf86f1766d1:~/html$ php artisan koel:init --no-assets
************************************
* KOEL INSTALLATION WIZARD *
************************************
As a reminder, you can always install/upgrade manually following the guide at https://docs.koel.dev
Clearing caches ......................................................................................................................... 4ms DONE
Copying .env file ....................................................................................................................... 0ms DONE
Generating app key ...................................................................................................................... 1ms DONE
Using app key: base64:PIJ+oz3k1.. ........................................................................................................... DONE
Migrating database .................................................................................................................. 1,086ms DONE
Creating default admin account ......................................................................................................... 47ms DONE
Seeding data .......................................................................................................................... 195ms DONE
The absolute path to your media directory. You can leave it blank and set it later via the web interface.
If you plan to use Koel with a cloud provider (S3 or Dropbox), you can also skip this.
Media path [/music]:
>
INFO Trying to install Koel scheduler….
INFO Koel scheduler installed successfully.
[OK] All done!
Koel can now be run from localhost with `php artisan serve`.
Log in with email admin@koel.dev and password KoelIsCool
Again, visit 📙 https://docs.koel.dev for more tips and tweaks.
Feeling generous and want to support Koel’s development? Check out https://github.com/users/phanan/sponsorship 🤗
Thanks for using Koel. You rock! 🤘
I then opened http://127.0.0.1:8123 and tried to login with the given credentials admin@koel.dev and KoelIsCool.
However, the login fails. I just get a red banner in my browser with the following error message (copied here from the output of the docker compose command)
database-1 | 2025-03-14 15:20:49.892 UTC [103] ERROR: column "playlist_playlist_folder.folder_id" must appear in the GROUP BY clause or be used in an aggregate function at character 23
database-1 | 2025-03-14 15:20:49.892 UTC [103] STATEMENT: select "playlists".*, "playlist_playlist_folder"."folder_id" from "playlists" left join "playlist_playlist_folder" on "playlists"."id" = "playlist_playlist_folder"."playlist_id" where "playlists"."user_id" = $1 group by "playlists"."id"
I launched a koel instance on my system by using the example docker compose file which uses postgres (and just changed the web port + set a DB password):
I then launched it with the following command:
sudo docker compose upThen, I ran the initial setup as documented in the readme:
I then opened http://127.0.0.1:8123 and tried to login with the given credentials
admin@koel.devandKoelIsCool.However, the login fails. I just get a red banner in my browser with the following error message (copied here from the output of the docker compose command)