当前位置: 首页 > news >正文

无公网IP 实现外网访问本地 Docker 部署 Navidrome

Navidrome 是一款可以在 macOS、Linux、Windows以及 Docker 等平台上运行的跨平台开源音乐服务器应用,它支持传输常见的 MP3、FLAC、WAV等音频格式。允许用户通过 Web 界面或 API 进行音乐库的管理和访问。本文就介绍如何快速在 Linux 系统使用 Docker 进行本地部署以及结合路由侠内网穿透进行外网远程访问。

第一步,安装 Navidrome

1. 安装 Docker,本教程操作环境为 Linux Ubuntu 系统,所以我们需要先安装 Docker 与 docker-compose 。

在终端中执行下方命令安装 Docker:

sudo curl -fsSL https://github.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun

如果上边命令中访问不了github,可以使用 gitee 的链接安装:

sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun

安装完后启动 Docker

sudo systemctl start docker

下载 docker-compose文件

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

需要给 docker-compose 一个执行权限

sudo chmod +x /usr/local/bin/docker-compose

查看是否安装成功

docker-compose -version

2. Docker 镜像源添加方法

sudo docker pull deluan/navidrome

3. 创建并启动 Navidrome 容器

如果成功拉取镜像后,创建 navidrome 项目文件夹并编辑 docker-compose.yml:

mkdir navidrome
cd navidrome
vim docker-compose.yml

把下面内容复制到 docker-compose.yml 文件中并保存,内容如下:

version: "3"
services:navidrome:image: deluan/navidrome:latestports:- "4533:4533"restart: unless-stoppedenvironment:ND_SCANSCHEDULE: 1hND_LOGLEVEL: infoND_SESSIONTIMEOUT: 24hND_BASEURL: ""volumes:- "~/Music/data:/data"- "~/Music:/music:ro"

保存退出后,执行下面的命令启动容器:

sudo docker-compose up -d

4,启动成功后,在浏览器中输入 localhost:4533 或者本地ip:4533,可以看到进入到了 Navidrome 的登录界面,设置一个用户名和密码就可以了。

5,登录后,点击界面右上角的头像图标进入个性化,设置语言为简体中文。

6,如果你在真实存储路径中有存放的音乐, Navidrome 会自动扫描进来,并自动将歌曲分类为各个专辑的形式展现。

第二步,外网访问本地 Navidrome

安装路由侠内网穿透。

1,当前未提供网页管理,需要先在任意一台 Windows 机器安装路由侠 Windows 版本,用作跨机器管理。

2,在路由侠客户端主界面,进入“设备管理”,点击右下角的“添加设备”,此时可查看到对应的安装码,此安装码用于将设备添加到对应账号下,可选中后复制。

3,可使用以下 Docker 命令拉取镜像:

docker pull luyouxia/lyx

注意,如果因网络问题,镜像无法拉取,可直接下载后导入:

wget https://dl.luyouxia.com:8443/v2/lyx-docker-i686.tar
docker load -i lyx-docker-i686.tar

4,然后使用该镜像启动容器

docker run --name lyx -it --restart=always --net=host -e code=这里填写安装码 luyouxia/lyx

5,此时,需要等待下载和安装的过程,如果一切正常,最终可以看到一些输出,并且可以看到如下提示:

[Device] Logged in. Token: ....

这就表示安装成功了。

当前 Linux 终端这边,如果是使用的上面的命令,Docker 是运行在前台,此时可以按住 Ctrl+C ,退出路由侠,容器也将退出。现在可以使用以下命令将其放入后台持续运行:

docker start lyx

注意如果容器删除,重新 docker run, 将创建为新的设备。

需要注意的是,因为容器参数已经添加了 --restart=always,这样开机就会自动启动,不需要再手动启动路由侠了。

6,现在回到 Windows 这边设备列表,点击右上角的×返回主界面,再次进入,就可以找到这个设备,可以修改名称。

7,回到主界面,点击【内网映射】。

8,注意右上角的设备名称下拉框,这里选中刚刚添加的设备名称,此时在这个界面上添加的映射,就属于刚刚这个设备。添加或修改一般需要等待30秒,容器中的路由侠进程就会更新并加载。切换好设备后,点击【添加映射】。

9,选择【原生端口】。

10,在内网端口里填写默认端口 4533 后点击【创建】按钮,如下图。

11,创建好后,就可以看到一条映射的公网地址,鼠标右键点击【复制地址】。

12,在外网的浏览器的地址栏输入复制的外网地址就可以看到下面这个 Navidrome 登录界面了。

http://www.lryc.cn/news/522383.html

相关文章:

  • pnpm add 和 pnpm install 的区别?
  • Linux:文件描述符fd、系统调用open
  • CPU负载与CPU使用率之区别
  • C++实现设计模式---外观模式 (Facade)
  • 仿射密码实验——Python实现(完整解析版)
  • 【Qt 常用控件】按钮类(QPushButton、QRadioButton、QCheckBox)
  • Amazon Relational Database Service (RDS)
  • linux分配磁盘空间命令
  • 21_Spring Boot缓存注解介绍
  • 【linux】grep、awk、sed实战练习(1)-template
  • UDP报文格式
  • 联想Android面试题及参考答案
  • Android CustomTextField
  • 网络设备安全保证计划 (NESAS) - 供应商视角 笔记
  • 强化学习-蒙特卡洛方法
  • IIO(Industrial I/O)驱动介绍
  • 画流程图 代码生成流程图 流程图自动运行
  • Maven 配置本地仓库
  • 计算机网络常见协议
  • SCSSA-BiLSTM基于改进麻雀搜索算法优化双向长短期记忆网络多特征分类预测Matlab实现
  • 基于Java+SpringBoot+Vue的前后端分离的体质测试数据分析及可视化设计
  • Ansible实战:如何正确选择 command 和shell模块?
  • 机器学习:监督学习与非监督学习
  • 近红外简单ROI分析matlab(NIRS_SPM)
  • 运输层安全协议SSL
  • “扣子”开发之四:与千帆AppBuilder比较
  • Asp .Net Core 实现微服务:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发现
  • 62_Redis服务器集群优化
  • 【React】静态组件动态组件
  • 深度学习中的卷积和反卷积(四)——卷积和反卷积的梯度