引言:最近用了iPhone手机,听Apple music的时候,有些喜欢的歌曲并没有,想下载到本地但由于iOS的生态封闭,操作太麻烦;

在寻找解决方案时发现用自建播客来实现下载音乐方案可行,于是就有了下面的教程

What

播客(podcast)创作者将音频或视频上传至RSS或在线播客平台,听众或观众则通过软件获取节目更新。

How

制作过程不说了,来谈谈发布过程,很简单,一个支持RSS的网站发布音频信息供用户拉取,一个音频托管平台存放音频

  • 网站直接Hugo搭建,用zen主题支持podcast,放在GitHub page上,域名可以在freedom上注册,用cloudflare DNS解析和加速

hugo 搭建播客

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#新建网站
hugo new site podcast

#安装 zen主题
git clone https://github.com/frjo/hugo-theme-zen.git themes/zen

#在content内新建podcast文件夹,此页面内新增音频
cd content
mkdir podcast

#podcast的一些设置
#设置的图片,需要现在根目录新建 assets/images 目录,取相对路径即可

#podcast 音频下面显示链接,如何取消
vim layouts/partials/podcast.html
#注释掉下面行
<figcaption><a href="{{ $src }}">{{ .Title }}</a></figcaption>

podcast 配置

1
2
3
4
#文章顶部新增参数
podcast:
    mp3:
    duration:
  • 音频托管平台自建minin服务存储音频

minio服务很强大,感兴趣可以了解一下

docker 部署

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
version: '3.3'
services:
  minio:
    image: quay.io/minio/minio
    container_name: minio1
    ports:
        - 9090:9090   #控制台端口
        - 9000:9000   #API端口
    volumes:
        - './data:/data'
        - './config:/root/.minio'
    environment:
        MINIO_ROOT_USER: admin     #管理用户名
        MINIO_ROOT_PASSWORD: admin   #管理密码
    command: server /data --console-address ':9090'
    restart: always

部署成功,ip:9090访问登录

控制台操作

1、创建存储桶

create bucket

2、点击manage,Access Rules

add rule

prefix:*.*
access:readonly

3、上传音频

4、分享文件,链接地址 复制出来,前面ip换成外部ip即可

把地址贴在上面podcast 参数 mp3 的地方

enjoy

这样算下来,除了用了一台服务器外,其他全部费用为零,总费用百元不到

部署全部完成,点击RSS链接放到订阅的地方,尽情享用吧!🎉

参考:

Zen | Hugo Themes

GitHub - frjo/hugo-theme-zen: A fast and clean Hugo base theme with css-grid and Hugo pipes support.

如何零成本开始一档新播客 - Keep Coding

苹果博客指南

GitHub - minio/minio: Multi-Cloud Object Storage

MinIO | The MinIO Quickstart Guide

自建对象存储Minio - 博客小站