Docker部署Jellyfin,没有公网IP如何使用内网穿透远程访问?

Jellyfin是一款完全开源、免费的媒体服务器,可帮助你快速搭建属于自己的私人流媒体平台:电影、剧集、音乐、照片统统收纳,跨设备随点随播。本文将以最简洁的步骤,演示如何在Docker容器中部署Jellyfin,并通过贝锐花生壳实现外网安全访问。一、环境准备

确保主机已安装Docker与Docker Compose。若尚未安装,请依次执行以下命令。

1. 安装并启动Docker

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

sudo systemctl start docker

2. 安装 Docker Compose

首先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

二、获取Jellyfin镜像

首先使用docker拉取官方最新镜像:

sudo docker pull jellyfin/jellyfin

如果镜像拉取缓慢,可在 /etc/docker/daemon.json中加入常用国内镜像源,例如:

 {"registry-mirrors": ["https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://mirror.baidubce.com"]}

保存后执行 sudo systemctl restart docker 即刻生效。

三、创建并启动容器

1. 新建项目目录

首先创建一个目录用于存放Jellyfin的数据,并且编写 docker-compose.yml 文件来配置Jellyfin服务。

mkdir jellyfin
cd jellyfin
vim docker-compose.yml

2. 编写 docker-compose.yml

version: '3.5'
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    network_mode: host
    volumes:
      - /home/jellyfin/config:/config
      - /home/jellyfin/cache:/cache
      - /home/jellyfin/media:/media
    restart: unless-stopped
  1. 启动服务

保存文件并退出后,运行Docker容器

sudo docker-compose up -d

4. 初始化Jellyfin

运行完成后,在浏览器访问 http://<本地 IP>:8096(示例:http://10.168.123.227:8096)。首次打开会提示删除默认服务器,随后进入初始化向导,按提示创建管理员账号、添加媒体库即可。

四、外网访问:花生壳内网穿透

若想把影视片文件开放给家人或在外网随时查看,可用贝锐花生壳做内网穿透,无需公网IP。

  1. 下载安装客户端

在贝锐花生壳官网,安装docker-Android模拟器或可访问docker-Android模拟器的内网终端设备上。

接着,在运行Jellyfin的同一台机器上执行,安装完成会自动生成SN码,默认密码为admin:

 sudo dpkg -i phddns_5.3.0_amd64.deb

2. 激活设备

打开浏览器访问http://b.oray.com/,输入SN与默认密码登录。首次登录需扫码或绑定贝锐账号完成激活。

3. 添加映射

在控制台选择【内网穿透】→【添加映射】,填写:

- 应用名称:Jellyfin

- 内网主机:Docker宿主机局域网IP(如 192.168.1.100)

- 内网端口:8096

- 外网域名:系统会自动分配,也可自定义二级域名

保存后,贝锐花生壳会自动生成一个外网地址。在任何有网的地方输入该地址即可远程欣赏你的私人影音库。

至此,Docker-Jellyfin媒体服务器已在内网就绪,并通过花生壳实现安全、稳定的公网访问。后续只需保持镜像与数据日常维护,即可在任何地点享受高品质的私人影音体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/919463.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/919463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Podman:Mysql(使用卷)

下载镜像hpphcomp:~$ podman pull docker.1ms.run/mysql:latest Trying to pull docker.1ms.run/mysql:latest... Getting image source signatures Copying blob c81e70a25040 done | Copying blob 31f7d8dc4024 done | Copying blob b9916866e45f done | Copying blob …

2025年渗透测试面试题总结-21(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 一、文件上传绕过方式&#xff08;Top 5&#xff09; 二、文件包含高危函数&#xff08;PHP为例&#xff0…

像海绵一样吸收技术书籍的高效学习方法

像海绵一样吸收技术书籍的高效学习方法前言六步高效阅读法步骤1&#xff1a;快速浏览章节步骤2&#xff1a;先读章末测验步骤3&#xff1a;只读粗体字步骤4&#xff1a;只读每段的首句和末句步骤5&#xff1a;通读整章步骤6&#xff1a;复习与重复高效学习技术书籍的实用技巧1.…

Day60--图论--94. 城市间货物运输 I(卡码网),95. 城市间货物运输 II(卡码网),96. 城市间货物运输 III(卡码网)

Day60–图论–94. 城市间货物运输 I&#xff08;卡码网&#xff09;&#xff0c;95. 城市间货物运输 II&#xff08;卡码网&#xff09;&#xff0c;96. 城市间货物运输 III&#xff08;卡码网&#xff09; 今天是Bellman_ford专场。带你从普通的Bellman_ford&#xff0c;到队列…

Jenkins服务器SSH公钥配置步骤

步骤1. 在Jenkins服务器上生成SSH密钥在Jenkins服务器上执行以下命令&#xff1a;# 1. 生成SSH密钥对 ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""# 2. 设置正确的权限 chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub# 3. 查看公钥内…

数据链路层-网络层-传输层

文章目录深入浅出理解网络核心&#xff1a;从交换机到TCP/UDP一、数据链路层&#xff1a;交换机的"地盘"1. 数据链路层的核心功能2. 以太网的发展历程3. 以太网中的MAC地址4. 以太网帧格式&#xff1a;数据的"快递包装"5. 交换机的工作原理&#xff1a;高效…

专题:2025跨境电商市场布局、供应链与产业带赋能报告 |附130+份报告PDF、原数据表汇总下载

原文链接&#xff1a;https://tecdat.cn/?p43616 2025年&#xff0c;跨境圈的老板们集体焦虑&#xff1a;美国关税飙到145%&#xff0c;亚马逊封号潮卷土重来&#xff0c;而东南亚却悄悄涨了246%&#xff01;这不是危言耸听——66%的美国消费者说&#xff0c;海外货涨10%就换本…

LINUX 818 shell:random;for for

问题 [rootweb ~]# a$(echo $[$RANDOM%10]) 您在 /var/spool/mail/root 中有邮件 [rootweb ~]# echo $a 3 [rootweb ~]# echo 139$a$a$a$a$a$a$a$a 13933333333 您在 /var/spool/mail/root 中有邮件 [rootweb ~]# echo 139 $a 139 3 [rootweb ~]# echo $a 3 [rootweb ~]# echo …

JavaScript 原型机制详解:从概念到实战(附个人学习方法)

原型是 JavaScript 实现继承与代码复用的核心机制,也是面试高频考点。本文结合个人学习经验、核心概念解析与实战案例,帮你彻底搞懂原型、prototype、__proto__ 及相关知识点,同时分享高效的学习方法。 一、个人学习方法:高效掌握复杂知识点 复杂概念(如原型)的学习,关…

【人工智能】2025年AI代理失控危机:构建安全壁垒,守护智能未来

还在为高昂的AI开发成本发愁?这本书教你如何在个人电脑上引爆DeepSeek的澎湃算力! 在2025年,AI代理(AI Agents)已成为日常生活和企业运营的核心组成部分,它们能够自主决策、执行任务并与环境互动。然而,随着AI代理能力的指数级提升,其安全隐患也日益凸显,包括数据泄露…

从噪声到动作:Diffusion Policy 如何改变机器人学习?

从噪声到动作&#xff1a;Diffusion Policy 如何改变机器人学习&#xff1f; 引言 在机器人手臂操作方面一直存在诸多挑战。我们熟悉的工业场景中的组装机械臂&#xff0c;往往依赖于写死的程序指令进行控制&#xff0c;具有高度规范化与高精度的特点。而当机械臂需要在复杂、…

量子计算和超级计算机将彻底改变技术

我们生活在技术时代&#xff0c;但未来仍有无限可能。近年来&#xff0c;各大企业在量子计算领域持续迈出虽小却关键的步伐 —— 这一技术注定将彻底改变我们所熟知的世界。以下精选的潜在应用场景&#xff0c;将对从交通出行到医疗健康的多个领域产生深远影响。 在由 “1” 和…

Linux 中文显示空白框(Java)

问题展示&#xff1a;解决方案本系统采用宋体&#xff0c;若是其它字体&#xff0c;可以类似排查Font rewardFirstFont new Font("SimSun", Font.BOLD, 20);linux系统字体-检查查询linux系统所有字体fc-list检查是否有目标字体&#xff08;SimSun&#xff09;&#…

普通用户使用docker命令

参考大佬 https://blog.51cto.com/u_16175448/12082279 详细步骤及代码 步骤 1&#xff1a;安装 Docker 首先&#xff0c;你需要安装 Docker。 步骤 2&#xff1a;创建 Docker 用户组 Docker 默认以 root 用户运行&#xff0c;为了普通用户能够使用 Docker&#xff0c;我们需要…

【传奇开心果系列】Flet框架实现的家庭记账本示例自定义模板

Flet家庭记账本示例自定义模板一、效果展示截图二、Flet家庭记账本概况介绍三、应用特色1. 简洁直观的用户界面2. 全面的财务管理功能3. 实时数据监控4. 数据可视化分析5. 数据管理功能四、使用场景个人财务管理家庭账务管理小微企业记账学生理财教育五、主要功能模块&#xff…

Node.js 在 Windows Server 上的离线部署方案

Node.js 在 Windows Server 上的离线部署方案 离线部署的核心是提前准备所有依赖资源&#xff08;避免在线下载&#xff09;&#xff0c;并通过本地配置完成服务搭建&#xff0c;整体分为「依赖准备」「环境配置」「项目部署」「服务注册」4个阶段。 一、提前准备离线资源&am…

SpringAI接入openAI配置出现的问题全解析

SpringAI接入openAI配置出现的四个问题全解析1、无法下载openAI或SpringAI依赖包1.1、思路就是从哪个源下载所需的依赖包1.2、解决思路&#xff1a;我们可以看阿里的中央仓库是否有集成SpringAI的依赖&#xff0c;从它这里下也是可以的。我们看看阿里云云效maven地址&#xff0…

自然语言处理——02 文本预处理(上)

1 认识文本预处理 概念&#xff1a; 文本语料在输送给模型前一般需要一系列的预处理工作&#xff0c;才能符合模型输入的要求&#xff1b;比如&#xff1a;将文本转化成模型需要的张量、规范张量的尺寸&#xff1b;比如&#xff1a; 关于数据X&#xff1a;数据有没有脏数据、数…

数据结构:二叉树的链式存储

用链表来表示一棵二叉树&#xff0c;即用指针指向来指示元素的逻辑关系。通常的方法是链表中每个结点由三个域组成&#xff0c;数据域和左右指针域&#xff0c;左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址 。 我们之前就已经说过&#xff0c;二叉树是递归…

【Spring Boot把日志记录到文件里面】

<?xml version"1.0" encoding"UTF-8"?> <configuration><!-- 日志输出格式 --><property name"LOG_PATTERN" value"%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" /><!-- 日志…