什么是 Airsonic?
Airsonic is a free, web-based media streamer, providing ubiquitous access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.
正如官网介绍所言,这是能让你 self-host 一个音乐平台的 web 应用。
为什么?
如今,提供音乐服务的平台越来越多,且许多的音乐由于版权战争而散布在各个平台,笔者的手机上已经有了 3 个音乐平台应用了。除此之外,一些其他的资源再大部分平台上都难以找到,即使自己拥有资源也无法方便的在各个终端播放。在这种情况下,似乎只有 self-host 才是终极解决方案。
部署
Airsonic 是基于 Java 开发的 Web 应用,所以首先确保已经安装了 Java8 运行环境。
从 Release 中下载最新的 war 归档,存放在 /usr/share/arisonic
目录中。
创建 airsonic 用户,并指定 Home Directory 为 /var/arisonic
。
useradd -m -d /var/airsonic airsonic chsh -s /usr/sbin/nologin airsonic
创建 /var/music
目录,并保证 airsonic 有读写权限。
mkdir /var/music chown airsonic:airsonic /var/music
创建 airsonic 服务,新建 /etc/systemd/system/airsonic.service
,内容如下(请自行修改端口)
[Unit] Description=Airsonic Service After=network.target Wants=network.target [Service] Type=simple User=airsonic Group=airsonic ExecStart=/usr/bin/java -Dserver.port=8080 -jar /usr/share/airsonic/airsonic.war Restart=on-failure [Install] WantedBy=multi-user.target
PS: 更多配置可以在官方文档中查找
启动 airsonic 服务
systemctl enable airsonic systemctl start airsonic
如果需要使用转码服务,需要安装 ffmpeg,并把 ffmpeg 执行文件链接到 /var/airsonic/transcode 目录下。
ln -s /usr/bin/ffmpeg /var/airsonic/transcode
如有需要,读者也可以自行配置反向代理,此处不在赘述。
开始使用
使用浏览器访问刚才指定的端口,登录的用户名密码默认都是 admin
。
打开 Settings 页面,把 Default language 改为简体中文。
打开媒体文件夹设置页面,把 Music 媒体库路径更改为 /var/music
。其实默认就是
打开用户设置页面,修改 admin 账户的密码。如果有需要,可以新建一个账户方便日常使用。
上传歌曲有两种方式,可以通过其他页面里的上传文件上传 zip 包,或者通过其他方式直接修改 /var/music 文件夹的内容。如果是通过后一种方式上传音乐,则每次上传完成后需要手动在媒体文件夹设置页面执行 “现在扫描” 。
需要注意的是,Airsonic 并不会自动按照专辑或者艺术家分类媒体文件,Airsonic 会保留文件系统里的目录结构作为分类,所以最好不要像笔者一开始一样把所有音乐都上传到媒体文件夹根目录。
客户端
笔者使用的 Android 客户端是 DSub,GooglePlay 商店里是需要付费的,但其实也有免费的渠道,就不写在这里了(
除此之外,也有很多其他各个平台上的客户端,可以在官方文档里查看详情。
展示
写在后面
目前用了大概有一天了,总体来说使用体验还是可以的。Anroid 上的 DSub 应用也很轻量,安装包只有 5M 的大小,内存占用也比网易云音乐等客户端小了太多了。
美中不足的地方也还是有的:
- 没有歌词了
你还要什么自行车 - Linux 上只能使用 Web 客户端,固无法使用全局快捷键
- 服务端内存占用量比较感人,刚启动的时候大概有500+M,目前已经超过 1G 了
不愧是 Java
发表回复