docker hub: https://hub.docker.com/r/fphammerle/koel/
dockerfile repo: https://git.hammerle.me/fphammerle/docker-koel
koel project repo: https://github.com/phanan/koel
$ sudo docker network create koel
$ sudo docker create \
--name koel-db \
--env POSTGRES_DB=koel \
--env POSTGRES_USER=koel \
--env POSTGRES_PASSWORD=secret \
--network koel --security-opt=no-new-privileges \
--cap-drop=all --cap-add=chown --cap-add=setuid --cap-add=setgid --cap-add=fowner \
postgres:10.5-alpine
$ sudo docker start koel-db
$ sudo docker run --rm --interactive --tty \
--name koel \
--env DB_CONNECTION=pgsql \
--env DB_HOST=koel-db \
--env DB_PORT=5432 \
--env DB_DATABASE=koel \
--env DB_PASSWORD=secret \
--network koel --publish=8080:8080 \
--security-opt=no-new-privileges --cap-drop=all \
fphammerle/koel:3.7.2-amd64
+ php artisan koel:init
Attempting to install or upgrade Koel.
Remember, you can always install/upgrade manually following the guide here:
📙 https://koel.phanan.net/docs
Generating app key
Generating JWT secret
Migrating database
Let's create the admin account.
Your name:
> fabian peter
Your email address:
> admin@example.com
Your desired password:
>
Again, just to make sure:
>
Seeding initial data
The absolute path to your media directory. If this is skipped (left blank) now, you can set it later via the web interface.
Media path []:
>
Compiling front-end stuff
sh: 1: yarn: not found
🎆 Success! Koel can now be run from localhost with `php artisan serve`.
You can also scan for media with `php artisan koel:sync`.
Again, for more configuration guidance, refer to
📙 https://koel.phanan.net/docs
or open the .env file in the root installation folder.
Thanks for using Koel. You rock!
+ apache2-foreground
...
Better not use port 8081
:
// /koel/app/Http/Middleware/UseDifferentConfigIfE2E.php
...
if (array_get($_SERVER, 'SERVER_PORT') === '8081') {
config(['database.default' => 'sqlite-e2e']);
}
...