koel是一个可以将本地音乐展示为在线web服务形式的php框架:https://koel.dev/
刚开始参考 https://post.smzdm.com/p/a3gv68v7/
发现pc上的web正常,但是手机端不行,因为版本不是最新的,初步猜疑是不是版本太旧的bug。
本来想自己弄一个最新版的docker版本,后面发现https://hub.docker.com 上有活跃的最新版本:https://hub.docker.com/r/hyzual/koel/
准备工作,设置自定义网络
为了确保宝塔的ip不会变动,保证数据库的稳定访问,我们需要创建自定义网络:
docker network create --subnet=172.18.0.0/16 myNetwork
创建后可以用 docker network ls
来查看,如果已经创建,则进行下一步。
把baota加进自定义网络
docker network connect --ip 172.18.0.200 myNetwork baota
添加完成后可以用 docker inspect baota
来确认,同时在另一个docker中来ping 172.18.0.200这个地址,确认是否能ping通。
安装
上面的网络确认好了后,就可以真正安装了:
docker run -d --name koel --link=baota -p xxx:80 --privileged=true --restart always -e DB_CONNECTION=mysql -e DB_HOST=baota -e DB_DATABASE=xxx -e DB_USERNAME=xxx -e DB_PASSWORD=xxx --network=myNetwork --ip 172.18.0.201 -v /mnt/user/media/music/songs:/music -v /mnt/user/media/music/covers:/var/www/html/public/img/covers -v /mnt/user/media/music/search_indexs:/var/www/html/storage/search-indexes hyzual/koel
这里连接了第三方的docker,用于数据库支持。因为我自己的是用的宝塔里面的mysql数据库,所以里面设置了相关的参数:
--link=baota
数据库访问参数:
DB_CONNECTION=mysql -e DB_HOST=baota -e DB_DATABASE=xxx -e DB_USERNAME=xxx -e DB_PASSWORD=xxx
网络设置,保证和数据库docker使用共同的自定义网络:
--network=myNetwork --ip 172.18.0.201
也可以用官方的docker镜像,经过测试也是可以正常:
docker run -d --name koel \
-p xxx:80 \
-e DB_CONNECTION=mysql \
-e DB_HOST=baota \
-e DB_DATABASE=koel \
-e DB_USERNAME=koel \
-e DB_PASSWORD=xxx \
--network=myNetwork \
--ip 172.18.0.201 \
-v /mnt/user/media/music/songs:/music \
-v /mnt/user/media/music/covers:/var/www/html/public/img/covers \
-v /mnt/user/media/music/search_indexs:/var/www/html/storage/search-indexes \
phanan/koel
安装后需要进入docker内部,执行初始账号初始化:
#php artisan koel:init --no-assets
Attempting to install or upgrade Koel.
Remember, you can always install/upgrade manually following the guide here:
📙 https://docs.koel.dev
App key exists -- skipping
Migrating database
Creating default admin account
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 [/music]:
>
🎆 Success! Koel can now be run from localhost with `php artisan serve`.
Log in with email xxx@koel.dev and password xxxxxx
You can also scan for media with `php artisan koel:sync`.
Again, visit 📙 https://docs.koel.dev for the official documentation.
Feeling generous and want to support Koel's development? Check out https://github.com/users/phanan/sponsorship 🤗
Thanks for using Koel. You rock! 🤘
安装完成后,按照设定的端口去访问,出现熟悉的首页。
默认账户:admin@koel.dev
默认密码:KoelIsCool
安装要点
- 需要的keol数据库,访问权限刚开始要设置成“所有人”。等安装成功了,再将访问权限设置成“指定IP”,比如示例docker对应的ip 172.18.0.201
版本更新
默认unraid界面的更新链接是无法更新的,会提示:
Configuration not found. Was this container created using this plugin?
解决的办法就是把image删掉,重新run。因为你的数据都在数据库,所以更新后,不会影响数据。