Globe

Kratos
专注于用户阅读体验的响应式博客主题
  1. 首页
  2. 小米音箱
  3. 正文

armbian+docker+alist+xiaomusic+网盘听音乐

2025年4月7日 67点热度 0人点赞 0条评论

第一步:在 Armbian 上安装 Docker
1.更新系统

1
2
sudo apt update
sudo apt upgrade -y

2.安装 Docker:

1
sudo apt install docker.io -y

或者,使用官方脚本安装最新版本(推荐):

1
2
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

3.启动并设置开机自启 Docker:

1
2
sudo systemctl start docker
sudo systemctl enable docker

4.将当前用户添加到 docker 组 (可选,但方便):

1
sudo usermod -aG docker $USER

执行后,你需要 退出当前 SSH 会话并重新登录 才能使组更改生效。或者执行 newgrp docker 临时切换到新组。
5.验证安装:

1
2
docker --version
docker run hello-world

如果看到 "Hello from Docker!" 等信息,说明 Docker 安装成功。

第二步:使用 Docker 运行 Alist
1.创建用于存储 Alist 配置的目录:

1
sudo mkdir -p /etc/alist

# 你也可以选择其他路径,例如 /opt/alist/data 或 /srv/alist/data
2.运行 Alist 容器:

1
docker run -d --restart=unless-stopped -p 5244:5244 -v /etc/alist:/opt/alist/data --name=alist xhofe/alist

host:

1
docker run -d --privileged --network=host --restart=always -v /mnt/mmcblk2p4/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest

-d: 后台运行容器。
--restart=unless-stopped: 容器退出时自动重启,除非手动停止。
-p 5244:5244: 将宿主机的 5244 端口映射到容器的 5244 端口 (Alist 默认端口)。
-v /etc/alist:/opt/alist/data: 将宿主机的 /etc/alist 目录挂载到容器内的 /opt/alist/data 目录,用于持久化存储 Alist 的配置和数据。非常
重要!
--name=alist: 给容器命名为 "alist"。
xhofe/alist: 使用官方的 Alist Docker 镜像。
3.查看初始管理员密码:
Alist 首次运行时会生成一个随机密码。通过以下命令查看容器日志获取密码:

1
docker logs alist

在日志中找到类似 "Password:" 的行,记下密码。
4.第三步:配置 Alist 并挂载 UC 云盘
访问 Alist Web UI:
在浏览器中打开:

1
http://你的Armbian设备IP:5244

登录:
使用默认用户名 admin 和上一步获取的密码登录。
修改密码 (强烈建议):
登录后,进入 "个人资料" 或类似设置,修改管理员密码。
添加存储 (挂载 UC 云盘):
点击左侧菜单的 "存储"。
点击 "添加"。
驱动: 选择 "UC网盘"。
挂载路径: 输入一个你希望在 Alist 中访问 UC 云盘的路径,例如 /ucdrive。
其他配置项: 根据 Alist 界面提示填写 UC 云盘所需的配置。这通常涉及到获取 refresh_token。获取方法可能会变化,请参考 Alist 官方文档关于 UC
网盘的部分,或者在网上搜索最新的获取 UC 网盘 refresh_token 的教程(通常需要在浏览器开发者工具中操作)。
填写完毕后,保存设置。
验证挂载:
回到 Alist 主界面,你应该能看到你设置的挂载路径 (/ucdrive),点击进入可以浏览 UC 云盘的文件。

第四步:在 Armbian 上通过 WebDAV 挂载 Alist
现在 Alist 已经在 Docker 中运行并管理着 UC 云盘,我们需要在 Armbian 系统上挂载 Alist 提供的 WebDAV 服务。
注意:
要开启webdev设置,如下图用户->admin->编辑

1.安装 davfs2:

1
2
sudo apt update
sudo apt install davfs2 -y

安装过程中可能会询问是否允许普通用户挂载 WebDAV,选择 "是" (Yes)。如果没问或者选错了,可以重新配置:

1
sudo dpkg-reconfigure davfs2

2.将你的用户添加到 davfs2 组:
sudo usermod -aG davfs2 $USER
# 同样,需要重新登录或执行 newgrp davfs2
3.创建本地挂载点:

1
mkdir /mnt/alist_dav

# 或者选择其他你喜欢的路径,例如 /mnt/alist
# 如果选择 /mnt/alist,可能需要 sudo mkdir /mnt/alist && sudo chown $USER:$USER /mnt/alist
4.配置 WebDAV 凭据 (推荐方式):
编辑 davfs2 的凭据文件,避免在命令行暴露密码:

1
sudo nano /etc/davfs2/secrets

在文件末尾添加一行(注意替换 <你的Armbian设备IP>、<Alist用户名> 和 <Alist密码>):

1
http://你的Armbian设备IP:5244/dav Alist用户名 Alist密码

例如:

1
http://192.168.1.100:5244/dav admin your_alist_password

保存并关闭文件 (Ctrl+X, Y, Enter)。设置文件权限:
sudo chmod 600 /etc/davfs2/secrets
5.手动挂载测试:

1
sudo mount -t davfs http://你的Armbian设备IP:5244/dav /mnt/alist_dav

如果使用凭据文件,并且当前用户在 davfs2 组,理论上可以省略 sudo 直接挂载:

1
mount -t davfs http://你的Armbian设备I:5244/dav /mnt/alist_dav

如果挂载成功,你应该可以通过 ls ~/alist_mount 看到 Alist 中配置的所有存储的根目录,包括你之前设置的 /ucdrive 目录。进去就可以访问 UC 云盘
的文件了。
6.设置开机自动挂载 (可选):
编辑 fstab 文件:

1
sudo nano /etc/fstab

在文件末尾添加一行:

1
http://你的Armbian设备IP:5244/dav /home/你的用户名/alist_mount davfs user,rw,auto,_netdev 0 0

root:

1
http://你的Armbian设备IP:5244/dav /mnt/alist_dav davfs rw,auto,_netdev 0 0

将

1
/home/你的用户名/alist_mount

替换为你实际的挂载点路径。
user: 允许普通用户挂载。
rw: 可读写挂载。
auto: 系统启动时尝试自动挂载。
_netdev: 表示这是网络设备,在网络可用后才挂载。
0 0: dump 和 fsck 选项,通常设为 0。
保存并关闭文件。现在你可以尝试重启 Armbian 设备,看看是否能自动挂载。你可以使用 df -h 命令查看挂载情况。

docker安装xiaomusic:
github地址:
https://github.com/hanxi/xiaomusic
1.下载并安装xiaomusic镜像

1
docker run -p 58090:8090 -e XIAOMUSIC_PUBLIC_PORT=58090 -v /xiaomusic_music:/app/music -v /xiaomusic_conf:/app/conf hanxi/xiaomusic

国内使用下面的:

1
docker run -p 58090:8090 -e XIAOMUSIC_PUBLIC_PORT=58090 -v /xiaomusic_music:/app/music -v /xiaomusic_conf:/app/conf docker.hanxi.cc/hanxi/xiaomusic

注意:/xiaomusic_music更改位直接挂在的路径:/mnt/alist_dav.
Ok 你可以打开网址去配置了,网址是http://你的IP:58090

注意:
有的时候挂在的时候提示:

1
2
3
4
sbin/mount.davfs: connection timed out two times;
trying one last time
/sbin/mount.davfs: server temporarily unreachable;
mounting anyway

出现这个“connection timed out”和“server temporarily unreachable”错误,说明你的系统在尝试连接 WebDAV 服务器时遇到了网络连接问题,导致无法正常挂载。
然后重新挂在提示:

1
2
3
/sbin/mount.davfs: found PID file /var/run/mount.davfs/mnt-alist_dav.pid.
Either /mnt/alist_dav is used by another process,
or another mount process ended irregular

解决步骤:
1.确认挂载点状态

1
mount | grep /mnt/alist_dav

2.如果已经挂载,卸载:

1
umount /mnt/alist_dav

3.查看是否有挂载进程残留

1
cat /var/run/mount.davfs/mnt-alist_dav.pid

得到 PID 后,确认进程是否存在:

1
ps -p <PID>

4.如果进程不存在,删除残留的 PID 文件

1
rm /var/run/mount.davfs/mnt-alist_dav.pid

5.确认挂载点没有被占用

1
lsof /mnt/alist_dav

如果报错:

1
2
/mnt# umount /mnt/alist_dav
umount: /mnt/alist_dav: target is busy.

1.查找占用该挂载点的进程

1
lsof /mnt/alist_dav

2.停止或杀掉占用进程(请谨慎操作)

1
kill -9 xxxxx

标签: 暂无
最后更新:2025年6月3日

free

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2024 EverythingIThink. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang