当前位置:首页 > 网站制作 > 正文内容

吐血推荐 docker 搭建Koel 详细步骤

admin4年前 (2022-04-24)网站制作1107

Koel是一个自己托管自己的音乐的平台,官网 https://koel.dev/

这是我搭建的效果:



音乐是论坛分享的douban250 无损flac:

https://www.aliyundrive.com/s/xuLCHkV97ML/folder/60dbe0c6f4f846a765ca403e982fa00b2849bd46

安装过程,主要使用docker来简化安装,网上有的帖子说docker安装的性能差,我分析了一下并没有这回事。

只是说因为要处理音乐上传/下载,这个系统的压力主要有:占用的磁盘空间比较大(1个音乐30M),还有占用内存也是比较多,所以1C1G的小鸡搭建不出来。

我用的是RN的,4C4G的年付套餐,当然3H3G也行,

4C4G:http://click.idcpay.me/rn-4c-4g
3C3G:  http://click.idcpay.me/rn-3c-3g



  1. # 1 准备步骤,安装docker


  2. yum -y install docker


  3. systemctl enable docker


  4. # 2 安装docker-compose


  5. sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose


  6. sudo chmod +x /usr/local/bin/docker-compose


  7. # 3 新建一个 koel 目录备用


  8. mkdir koel

  9. cd koel


  10. # 4 新建一个目录存放文件


  11. mkdir /opt/music


  12. /opt/music/covers



  13. # 5 准备你的域名 a.com


  14. # 6 准备 docker-compose.yml 文件


  15. ######################################

  16. # docker-compose.yml 可以修改你的数据库密码

  17. version: '3.5'


  18. services:

  19.   koel:

  20.     image: hyzual/koel

  21.     depends_on:

  22.       - koel-database

  23.     ports:

  24.       - "127.0.0.1:2077:80"

  25.     environment:

  26.       FORCE_HTTPS: 1

  27.       MEMORY_LIMIT: 512

  28.       DB_CONNECTION: mysql

  29.       DB_HOST: koel-database

  30.       DB_USERNAME: koel

  31.       DB_PASSWORD: Koko0202#1234

  32.       DB_DATABASE: koel

  33.     volumes:

  34.       - /opt/music:/music

  35.       - /opt/music/covers:/var/www/html/public/img/covers

  36.     restart: unless-stopped


  37.   koel-database:

  38.     image: mysql/mysql-server:5.7

  39.     environment:

  40.       MYSQL_ROOT_PASSWORD: Koko0202#1234

  41.       MYSQL_DATABASE: koel

  42.       MYSQL_USER: koel

  43.       MYSQL_PASSWORD: Koko0202#1234

  44.     volumes:

  45.       - koel_db:/var/lib/mysql

  46.     restart: unless-stopped


  47. volumes:

  48.   koel_db:

  49.     driver: local

  50.   koel_music:

  51.     driver: local

  52.   koel_covers:

  53.     driver: local

  54.    

  55. #docker-compose.yml 文件结束

  56. ###################


  57. # 7 启动docker


  58. docker-compose up -d


  59. 看到都成功了,即可




  60. # 8 安装nginx 和 python-certbot-nginx


  61. python-certbot-nginx 是维护lets' encrypt 证书用的


  62. yum -y install nginx


  63. yum install python-certbot-nginx



  64. #9 初始化koel




  65. docker-compose exec k2_koel_1 php artisan koel:init


  66. docker exec -it k2_koel_1 php artisan koel:admin:change-password


  67. k2_koel_1 是koel 容器名字,根据你情况来。默认管理员是:[email protected]



  68. # 10 处理nginx 和 https问题


  69. 新建nginx配置文件只带http 80端口版本的,命名为 koel.conf 放在 /etc/nginx/conf.d/


  70. #http版本的nginx配置文件


  71. server {


  72.      listen 80;

  73.      listen [::]:80;

  74.      server_name a.com;

  75.          

  76.      location / {  

  77.                  proxy_pass http://127.0.0.1:2207;  


  78.                  proxy_set_header X-Forwarded-Host $server_name;  

  79.                  proxy_set_header X-Forwarded-Server $host;  

  80.                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  

  81.                  proxy_set_header   Host $host;  

  82.                  proxy_set_header   X-Real-IP $remote_addr;  

  83.                  proxy_set_header X-Forwarded-Proto https;  


  84.                  # Not sure if these next two lines are needed. I did not remove them as  

  85.                  # I did not want risk breaking my working configuration. Just remember  

  86.                  # to replace "koel.domain.tld" with your instance's domain.  

  87.                  sub_filter "http://koel.domain.tld" "http://music.idcpay.me";  

  88.                  sub_filter_once off;  

  89.      }

  90.   

  91.   }



  92. 启动nginx


  93. 再启动cerbot


  94. certbot certonly --nginx


  95. 生成key/pem文件后,重新设置https版本配置文件



  96. server {


  97.      listen 80;

  98.      listen [::]:80;

  99.      listen 443 ssl;

  100.      server_name a.com;


  101.      ssl_certificate /etc/letsencrypt/live/music.idcpay.me/fullchain.pem;

  102.      ssl_certificate_key /etc/letsencrypt/live/music.idcpay.me/privkey.pem;

  103.          

  104.      location / {  

  105.                  proxy_pass http://127.0.0.1:2077;  

  106.                  # 如果是本机直接复制就行,如果是别的机器,记得换成你的ip地址  

  107.                  proxy_set_header X-Forwarded-Host $server_name;  

  108.                  proxy_set_header X-Forwarded-Server $host;  

  109.                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  

  110.                  proxy_set_header   Host $host;  

  111.                  proxy_set_header   X-Real-IP $remote_addr;  

  112.                  proxy_set_header X-Forwarded-Proto https;  


  113.                  # Not sure if these next two lines are needed. I did not remove them as  

  114.                  # I did not want risk breaking my working configuration. Just remember  

  115.                  # to replace "koel.domain.tld" with your instance's domain.  

  116.                  sub_filter "http://koel.domain.tld" "https://music.idcpay.me";  

  117.                  sub_filter_once off;  

  118.      }

  119.   

  120. }


  121. 运行:


  122. nginx -s reload


  123. 如果没有错误,就可以输入 https://a.com 欣赏你的音乐了。


  124. 其他资源:


  125. 可以搭建Koel的便宜主机:


  126. 4C4G购买入口:http://click.idcpay.me/rn-4c-4g

  127. 3C3G购买入口:  http://click.idcpay.me/rn-3c-3g


  128. 阿里云盘音乐豆瓣250无损flac:

  129. https://www.aliyundrive.com/s/xuLCHkV97ML/folder/60dbe0c6f4f846a765ca403e982fa00b2849bd46


  130. linux环境下载阿里云盘的客户端:

  131. https://github.com/tickstep/aliyunpan

  132. 不需要下载再上传文件


  133. 音乐管理:


  134. 把mp3 flac等音乐文件放到虚拟主机的这里:


  135. /opt/music


  136. 在Koel 面板上,扫描:


  137. /music 目录,可以扫出新增音乐


转自:hostloc 会员 wise指南 分享

扫描二维码推送至手机访问。

版权声明:本文由博赚恋吧资源站发布,如需转载请注明出处。

本文链接:https://www.432l.com/post/9703.html

标签: 站长工具
分享给朋友:

相关文章

博客如何赚钱

                   博客在中国已经得到了快速的发展。如今博客可以赚钱这句话已经不是什么新说法了,很多博客作者也已经从中尝到了很多甜头(来这看前博客的收入)。各种各样的盈利工具也都随着出现了。在这里就简单...

2009 Web 设计风潮—22种超酷风格

反 Box 式布局 单页布局 多栏布局 巨型插图与多变背景 更多留白 社会网络元素 讲解式导航菜单 Status elements (Flickr, Twitter et al) 动态 Tab...

用Pet Widget扮靓博客

在阅读的您们, 当中必定有见过 pet widget 的人. 什么是pet widget? 中译的话就是博客宠物吧.. 在侧栏或是其它地方, 给您的博客带来蓬勃生气, 装扮您的博客, 读者们也可以逗宠物玩.. 绝对是功能多样…今天介绍几个博客宠物的服务吧..用Pet Widget裝扮你的博客吧! BunnyHeroLabs 提供的 adoption这个服务提供的宠物都较简洁, 而且免注册. 共2...

利用宕机检测,一劳永逸地解决ghs.google.com被封问题

今天我才知道,DNSMA是一个多么优秀的免费DNS,因为它提供了“宕机检测”功能。我们都知道ghs.google.com对应着多个IP,其中大部分都被GFW封锁了。那么,如果DNS服务器能够自动筛选出存活的ghs IP、自动为你的域名更改解析,我们就没有必要在被封后手动寻找手动更换解析了。DNSMA的“宕机检测”就实现了这一功能。方法很简单:首先把你...

假如没有Google ,很有感触的一篇文章!

没了blogger ,得每年花银子合租服务器去写博客没了YouTube,只能拿着国内饱经河蟹的视频站打花时间没了maps ,出门找不见地,手机开着google maps没法利用信号机架确定我在哪,迷路….没了calendar,没人会悄悄的免费发短信提醒我:今天是某MM 的生日……没了reader,很高兴的告诉自己,一天可以多出3个小时啦!没了picasa,...

PutACart.com:让你在网络上随时随地买卖商品

  网站介绍:或许,有的时候,互联网上,你所需要的就是一个Google、Myspace,一个梦想,还有,一个“购物车”(shopping cart)?PutACart.com让你在互联网上,可以随时随地地买卖商品(Sell anything anywhere)。 即便现在电子商务网站和服务已经非常多,你是不是还是觉得很麻烦?或许,你可以试试Pu...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。