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

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

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

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://432l.com/post/9703.html

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

相关文章

[网站推广|网赚|技巧]--10个针对博客的搜索引擎提交地址

1. Google博客搜索提交: http://blogsearch.google.com/ping?hl=zh-CNGoogle网站提交: http://www.google.com/intl/zh-CN/add_url.html2. 百度博客搜索提交:http://utility.baidu.com/blogsearch/submit.phpbaidu网站提交: http://www.baid...

如何利用友情链接做网站SEO优化

首先给大家介绍做友情链接对网站的好处,如何做友情链接。 1、 不要以为做友情链接能给网站带来很大的流量。2、 做友情链接对于搜索引擎来说就是网站与网站之间相互投票的过程。那么和搜索量正常的网站建立友情链接是其中一个很重要的因素。3、 既然是做给搜索引擎看的那么最好就是做文字链接,其他方式效果都不是很好,而且链接文字上可以做一些功夫。 做友情链接需要...

恋吧强烈推荐—一个成功的博客必须知道的80个博客工具

一个成功的博客必须知道的80个博客工具不管你的博客流量大小与否,不管你的博客主题是什么,只要你想成为一个成功的博客,下面的博客工具肯定会对你有所帮助。一般的博客工具:Backupmyblog:自动备份你的博客数据,只对于mysql数据库有效,wordpress用户用不用担心了。Feedburner:rss烧制工具。Feedblitz:邮件订阅工具。MyBloglog:博客统计工具,可以显示最近访客...

恋吧发现并推荐一个华丽的Blog Widgets服务—Wowzio

首先输入你的 Blog Feed 地址,Wowzio 就会自动从 Blog 文章中提取出文字、图片,生成 6 种效果华丽的 Widgets 供你选择。并且 Widgets 的颜色和尺寸都是可以自定义的,这可以让 Widgets 和 Blog 的风格趋于一致。这 6 种Widgets 分别是(点击链接可查看具体效果)——Panoramic Slideshow、SlideShow、Photo Gall...

恋吧推荐—最好的wordpress搜索引擎插件

SEO也许是让人们发现你的优秀文章的最简单和快捷的方法,对于博客而言尤其是这样。搜索引擎喜欢博客,对于wordpress博客平台而言,你不需要具备一些基本的SEO技能,wordpress对搜索引擎非常友好,它天生就是为不懂 SEO的bloggers而设计的。本文不是为那些搜索引擎优化专家准备的,如果你拥有自己的博客,你只希望专心的投入到博客的文章创新和写作中去,又不想在搜索引擎优化上面耗费你宝贵的...

看谁在抄袭你的blog,就用copygator

copygator 通过监视博客圈 feed 内容更新,及时告诉你谁在抄袭你的博客内容,一定程度上可以缓解被大量地抄袭。怎么这样说呢,因为,当 copygator 通知你你的 blog 被谁抄袭后,你可以联系抄袭者,一些事情就可以解决了,估计下次他也不会再明目张胆地抄袭。最近在百度和google上搜索了自己介绍的web2.0服务,发现大部分关键词在两个搜索引擎都有极好的排名,相当一部分排在web2...

发表评论

访客

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