开启左侧

安装本地音乐套件music-tags-web+music+navidrome

发表于:2025-1-3 17:08:57 应用分享 2216

如果你希望在你的本地环境中搭建一个功能强大的音乐管理系统,那么将 music-tags-webmusicnnavidrome 这三个服务结合起来是一个很好的选择。本文将指导你如何使用 Docker Compose 来安装和配置这些服务。

前提条件

  1. 你需要在你的系统上安装 Docker 和 Docker Compose。
  2. 确保你有足够的磁盘空间来存储音乐文件。

步骤一:创建 Docker Compose 文件

首先,你需要创建一个名为 docker-compose.yml 的文件,并将以下内容复制粘贴到该文件中。

# 使用Docker Compose文件的最新版本3.8
version: '3.8'

# 定义服务列表
services:
  # music-tag服务配置
  music-tag:
    # 指定使用的镜像
    image: xhongc/music_tag_web:latest
    # 设置容器的名称
    container_name: music-tag-web
    # 端口映射,将宿主机的8681端口映射到容器的8002端口
    ports:
      - "8681:8002"
    # 卷挂载,用于数据持久化或共享数据
    volumes:
      # 将宿主机的/vol1/1000/影视资源/Music目录挂载到容器的/app/media目录,并设置为读写模式
      - type: bind
        source: /vol1/1000/影视资源/Music
        target: /app/media
      # 将宿主机的/vol2/1000/docker/Music/music_tag_web/config目录挂载到容器的/app/data目录
      - type: bind
        source: /vol2/1000/docker/Music/music_tag_web/config
        target: /app/data
    # 在容器非正常退出时最多重启3次
    restart: on-failure:3

  # musicn服务配置
  musicn:
    image: ghcr.io/wy580477/musicn-container:latest
    container_name: musicn
    restart: on-failure:3
    # 覆盖容器的默认入口点
    entrypoint: ["/sbin/tini", "--", "msc", "-q"]
    ports:
      - "7478:7478"
    volumes:
      - type: bind
        source: /vol2/1000/docker/Music/Musicn/data
        target: /data

  # navidrome服务配置
  navidrome:
    image: de**/navidrome:latest
    container_name: navidrome
    ports:
      - "8680:4533"
    # 环境变量配置,用于设置Navidrome的行为
    environment:
      ND_SCANSCHEDULE: "12h"
      ND_LASTFM_ENABLED: "false"
      ND_LASTFM_APIKEY: "你的Last.fm API密钥"
      ND_LASTFM_SECRET: "你的Last.fm API密钥秘密"
      ND_SPOTIFY_ID: "你的Spotify客户端ID"
      ND_SPOTIFY_SECRET: "你的Spotify客户端密钥"
      ND_LASTFM_LANGUAGE: "zh"
      ND_DEFAULTLANGUAGE: "zh"
      ND_LOGLEVEL: "info"
      ND_SESSIONTIMEOUT: "24h"
      ND_ENABLEDOWNLOADS: "false"
      ND_ENABLEFAVOURITES: "true"
      ND_ENABLESHARING: "false"
      ND_ENABLESTARRATING: "true"
      ND_BASEURL: ""
      ND_ENABLETRANSCODINGCONFIG: "true"
      ND_TRANSCODINGCACHESIZE: "4000M"
      ND_IMAGECACHESIZE: "1000M"
    volumes:
      # 将宿主机的/vol2/1000/docker/Music/navidrome/data目录挂载到容器的/data目录
      - type: bind
        source: /vol2/1000/docker/Music/navidrome/data
        target: /data
      # 将宿主机的/vol1/1000/影视资源/Music目录挂载到容器的/music目录,并设置为只读模式
      - type: bind
        source: /vol1/1000/影视资源/Music
        target: /music
        read_only: true
    restart: on-failure:3
    # 将服务连接到名为appnet的网络
    networks:
      - appnet

# 定义网络列表
networks:
  # 定义一个名为appnet的网络,使用bridge驱动模式
  appnet:
    driver: bridge

步骤二:准备数据目录

根据你的 docker-compose.yml 文件中的配置,你需要准备以下目录:

  1. /vol1/1000/影视资源/Music:用于存放你的音乐文件。
  2. /vol2/1000/docker/Music/music_tag_web/config:用于存放 music-tag-web 的配置文件。
  3. /vol2/1000/docker/Music/Musicn/data:用于存放 musicn 的数据。
  4. /vol2/1000/docker/Music/navidrome/data:用于存放 navidrome 的数据。

确保这些目录已经创建,并且你有适当的读写权限。

步骤三:启动服务

在终端中导航到包含 docker-compose.yml 文件的目录,并运行以下命令来启动服务:

docker-compose up -d

这将下载所需的 Docker 镜像,并启动 music-tag-webmusicnnavidrome 容器。

步骤四:访问服务

  • music-tag-web:在浏览器中访问 http://localhost:8681
  • musicn:在浏览器中访问 http://localhost:7478
  • navidrome:在浏览器中访问 http://localhost:8680

根据你的配置,你可能需要输入一些额外的信息(如 Last.fm API 密钥和 Spotify 客户端 ID/密钥)来完成服务的设置。

结论

现在你已经成功地在本地环境中安装了 music-tags-webmusicnnavidrome。你可以根据需要进一步配置这些服务,并开始享受你的音乐之旅!

收藏
送赞
分享

发表回复

评论列表(4)

time="2025-01-04T12:26:48+08:00" level=warning msg="/vol1/1000/docker/Music/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
unable to get image 'de**/navidrome:latest': Error response from daemon: invalid reference format
显示构建失败
2025-1-4 12:30:24 回复
de**/navidrome:latest 44行的镜像不完整  详情 回复
2025-1-4 19:43
本帖最后由 clarance 于 2025-1-4 19:44 编辑

del'u'an/navidrome:latest

44行的镜像不完整把'去掉
2025-1-4 19:43:06 回复
time="2025-01-29T15:17:51+08:00" level=warning msg="/vol1/1000/docker/music/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
Container musicn Creating
Container navidrome Creating
Container music-tag-web Creating
Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /vol1/1000/Music
Exited:1
2025-1-29 15:24:43 回复
解决了,作者的Music的“M,我习惯用m,修改yml文件。  详情 回复
2025-1-29 15:49
解决了,作者的Music的“M,我习惯用m,修改yml文件。
2025-1-29 15:49:46 回复