【群晖】Docker Compose部署 Emby Server

news2024/11/15 10:58:32

九术AI

【群晖】Docker Compose部署 Emby Server

本来群晖上面的 Emby 是用套件安装的,但是不巧的是前两天脑袋一抽装了两个插件,导致 Emby Server被当肉鸡了,还找不到脚本代码在哪儿,一天时间上传了3T的流量。无奈之下,只能尝试卸载后用docker重新安装。

本文将会讲解如何通过Docker compose(Container Manager 套件页面方式)部署 Emby Server并完成刮削。

本文仅讲解如何部署并设置刮削,不会再讲解如何配置 Emby,如果想要了解如何配置 Emby 可以参考我的另一篇文章。

环境

  • 7.2以下版本也可以,只是docker套件没有可视化部署docker compose的页面,可以通过SSH登录群晖后台去手动部署 Docker Compose)
  • DSM:DSM 7.2-64570 Update 3
  • Container Manager:20.10.23(也就是7.2升级后的新版本Docker,改名了而已)

部署

准备步骤

创建文件夹
  1. 打开File Station ,在你统一放置docker容器文件的文件中新建一个 emby 文件夹。因为我的存储池1做了raid,因此比较重要的数据都是存放在存储池1中。并且我的容器相关的文件都是存放在 /volume1/docker/ 下的,所以我的文件夹新建路径是 /volume1/docker/emby
  2. 在刚才新建的文件夹中新建两个子文件夹,分别是用来存放配置信息的 /volume1/docker/emby/config 和用来存放刮削信息元数据的 /volume1/docker/emby/metadata
  3. 给刚才新建的几个文件夹修改权限为 Everyone (也可以不用修改)。
  4. 创建媒体库文件夹,媒体库可以不和docker容器的文件保存在相同的存储池中。媒体库我是单独创建了一个存储池,存储类型是 JBOD 便于以后可以合并新增硬盘自动扩容而不需要再去修改 Emby 等相关服务中的路径了。我的媒体库创建路径是 /volume2/video
获取文件夹相关权限
  1. 打开群晖控制台
  2. 打开 终端机和SNMP , 选择 启动SSH功能
  3. SSH登录群晖后台
  4. 输入命令查看刚才创建文件夹使用的帐号的UID、GID等信息,并记录在本地,一会儿需要用到
    id <用户名>
    

部署Emby

  1. 打开 Container Manager 套件,选择项目,选择新建
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    • 项目名称:随便写,自定义内容
    • 路径:选择 设置路径 里面选择前面创建的 /volume1/docker/emby 文件夹
    • 来源:选择 创建docker-compose.yml ,然后在下面的文本框中粘贴配置文件内容
  2. docker-compose.yml 配置文件内容

version: "3"
services:
  emby:
    image: emby/embyserver:latest
    container_name: emby-server
    restart: always
    deploy:
      resources:
        limits:
          memory: 8G
    environment:
      UID: 10
      GID: 10
      GIDLIST: 100,101
    volumes:
      - /volume1/docker/emby/config:/volume1/docker/emby/config
      - /volume1/docker/emby/metadata:/volume1/docker/emby/metadata
      - /volume2/video:/volume2/video
    ports:
      - 8096:8096/TCP
    network_mode: "bridge"
  1. 修改配置文件中的内容

    • container_name:容器名,自定义
    • memory:内存限制,从deploy节点开始到memory删除这项配置就是不限制
    • UID:修改为前面获取到创建文件夹用户的UID
    • GID:修改为前面获取到创建文件夹用户的GID
    • GIDLIST:修改为前面获取到创建文件夹用户的GROUP的值,注意这里可以是多个代表用户属于多个用户组,用英文半角逗号拼接不要空格
    • volumes:设置磁盘映射,前面的是本地服务器中的文件夹路径,后面是映射到容器中显示的文件路径,建议前后保持一致
    • ports:端口映射,因为我们采用桥接模式,所以做个端口映射才可以外部访问
  2. 另外3个端口可以不做映射直接本地端口即可

  3. 如果想要使用 https 方式访问 emby,建议使用群晖的反向代理统一控制

  4. 完成配置修改后,点击保存,选择项目构建

  5. 完成项目构建后,在 Container Manager 中 容器 中可以看到自动创建的名为 emby-server的容器

  6. 查看容器日志确认启动成功

  7. 访问 http://x.x.x.x:8096 地址登录Emby服务,其中 x.x.x.x host地址是你本地地址(如果建立了公网访问也可以使用公网域名)

刮削

因为一些众所周知的原因,国内访问 TMDB、TVDB 等网站经常是不可用状态,因此需要设置可用DNS以便 Emby Server 可以正常刮削

  1. 打开地址 站长工具-PING检测 ,获取下面域名最新的、可用的、最快的 IP 地址
www.themoviedb.org

api.thetvdb.com

image.tmdb.org
  1. 打开 Container Manager

  2. 点击容器 emby-server 并打开 详情

  3. 点击右上角的 操作 菜单里面的 打开终端机

  4. 选择 新增 里面的 通过命令启动 下拉菜单

  5. 因为 emby 容器并不是基于常规 linux 服务打包的镜像,并没有包含 bash 命令,因此使用 sh 命令,输入命令打开终端

    /bin/sh
    
  6. 查看 hosts 文件内容

    cat /etc/hosts
    
  7. 编辑 hosts 文件,这里只能用 vi 命令

    vi /etc/hosts
    
  8. 在文本最末尾粘贴下面的内容,其中的 ip 地址可以换成你获取的最新的、可用的地址,我这里只是示例,并不保证当前时间还可用

    65.8.11.87 api.themoviedb.org
    13.224.167.108 api.themoviedb.org
    13.224.167.16 api.themoviedb.org
    13.224.167.10 api.themoviedb.org
    13.224.167.74 api.themoviedb.org
    13.35.166.12 api.themoviedb.org
    13.225.183.115 api.themoviedb.org
    198.44.185.131 api.thetvdb.com
    65.8.113.110 api.thetvdb.com
    13.226.125.88 api.thetvdb.com
    13.35.157.141 api.thetvdb.com
    143.244.49.177 image.tmdb.org
    169.150.249.162 image.tmdb.org
    143.244.50.210 image.tmdb.org
    108.138.246.35 image.tmdb.org
    143.244.50.90 image.tmdb.org
    51.89.210.79 webservice.fanart.tv
    
  9. 点击 esc ,输入 :wq 保存退出

  10. 重启容器

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

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

相关文章

【算法】acwing基础课笔记01-快排,归并

第一章&#xff08;基础算法&#xff09;&#xff08;一&#xff09; 以前排序都没怎么自己手写过&#xff0c;这学期终于决定抛弃各种番和游戏好好学一下…记点笔记激励一下自己。 视频知识 00&#xff1a;0000&#xff1a;30快速排序&#xff0c;00&#xff1a;3000&#…

Day03-数据库管理(事务管理,用户管理,MySQL8的部分新特性)

文章目录 Day03 数据库管理学习目标1. 事务管理1.1 事务的概念1.2 事务的特性1.3 语法1.4 事务的并发问题1.5 事务隔离级别1.6 设置和查看隔离级别 2 用户管理2.1 创建删除用户2.2 权限管理2.2.1 权限赋予的原则2.2.2 权限赋予2.2.3 权限回收2.2.4 登录管理 3. MySQL8的部分新特…

基于Matlab的视频人体动作识别,Matlab实现

博主简介&#xff1a; 专注、专一于Matlab图像处理学习、交流&#xff0c;matlab图像代码代做/项目合作可以联系&#xff08;QQ:3249726188&#xff09; 个人主页&#xff1a;Matlab_ImagePro-CSDN博客 原则&#xff1a;代码均由本人编写完成&#xff0c;非中介&#xff0c;提供…

LeetCode # 199. 二叉树的右视图

199. 二叉树的右视图 题目 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3…

Flink入门知识点汇总(二)

具体内容请看b站尚硅谷课程&#xff01; 32_Flink运行时架构_提交流程_Yarn应用模式_哔哩哔哩_bilibili 窗口 Flink的窗口并不是静态准备好的&#xff0c;而是动态创建的。数据流到达时不会准备24个或者其他完整数量的桶&#xff0c;而是当下桶接满了&#xff0c;才临时又拿新…

ClickHouse01-什么是ClickHouse

什么是ClickHouse&#xff1f; 关于发展历史存在的优势与劣势什么是它风靡的原因&#xff1f; 什么是ClickHouse&#xff1f; 官方给出的回答是&#xff0c;它是一个高性能、列式存储、基于SQL、供在线分析处理的数据库管理系统 当然这边不得不提到OLAP(Online Analytical Pr…

Nginx 的安装、启动和关闭

文章目录 一、背景说明二、Nginx 的安装2.1、依赖的安装2.2、Nginx 安装2.3、验证安装 三、启动 Nginx3.1、普通启动3.2、如何判断nginx已启动3.3、通过配置启动3.4、设置开机启动 四、关闭 Nginx4.1、优雅地关闭4.2、快速关闭4.3、只关闭主进程4.4、使用nginx关闭服务 五、重启…

IP SSL证书注册流程

使用IP地址申请SSL证书&#xff0c;需要用公网IP地址申请&#xff0c;申请之前确保直接的IP地址可以开放80或者443端口两者选择1个就好&#xff0c;端口不需要一直开放&#xff0c;只要认证的几分钟内开放就可以了&#xff0c;然后IP地址根目录可以上传txt文件。 IP SSL证书认…

【最后2天】京东云游戏云服务器0门槛抽奖送!云服务器选购推荐 京东云 阿里云 腾讯云对比 幻兽帕鲁 雾锁王国 省钱学生党

好消息&#xff1a;抽奖活动开启&#xff01;时间&#xff1a;3月17日——3月24日 最高奖品&#xff1a;16G 6个月&#xff1b;32G 3个月 抽奖规则&#xff1a;B站点赞评论关注即可参与抽奖&#xff0c;3.24日公布获奖名单。 抽奖地址&#xff1a; 【首次抽奖】16G、32G免费…

EKMA曲线及大气O3来源解析技术应用

目前&#xff0c;大气臭氧污染成为我国“十四五”期间亟待解决的环境问题。臭氧污染不仅对气候有重要影响&#xff0c;而且对人体健康、植物生长均有严重损害。为了高效、精准地治理区域大气臭氧污染&#xff0c;首先需要了解导致臭氧生成的主要前体物。因此&#xff0c;EKMA曲…

LeetCode:2617. 网格图中最少访问的格子数(优先级队列 Java)

目录 2617. 网格图中最少访问的格子数 题目描述&#xff1a; 实现代码与解析&#xff1a; 优先级队列 原理思路&#xff1a; 2617. 网格图中最少访问的格子数 题目描述&#xff1a; 给你一个下标从 0 开始的 m x n 整数矩阵 grid 。你一开始的位置在 左上角 格子 (0, 0) 。…

鸿蒙一次开发,多端部署(六)自适应布局

针对常见的开发场景&#xff0c;方舟开发框架提炼了七种自适应布局能力&#xff0c;这些布局可以独立使用&#xff0c;也可多种布局叠加使用。 下面我们依次介绍这几种自适应布局能力。 拉伸能力 拉伸能力是指容器组件尺寸发生变化时&#xff0c;增加或减小的空间全部分配给容…

【Winform学习笔记(十一)】解决无边框窗体最大化显示异常问题

解决无边框窗体最大化显示异常问题 前言正文1、防止改变窗口大小时控件闪烁2、FrmMain_SizeChanged 前言 Winform 无边框窗体的设计&#xff0c;旨在为用户提供更加独特和个性化的界面体验&#xff0c;但是在实现这一设计的过程中&#xff0c;最大化显示异常问题往往成为开发者…

关于5.x版本的Neo4j与py2neo的访问技巧

先说结果。 Neo4j是可以使用py2neo来操作的。而且网上搜到的教程和方法里&#xff0c;首推的http连接方法可能并不是最好的&#xff0c;应该用 bolt 方法可能更好。 对于大多数使用 py2neo 与 Neo4j 数据库进行交互的应用程序来说&#xff0c;建议使用 Bolt 协议&#xff08;即…

谷歌DeepMind推出3D游戏AI代理SIMA,实现自然语言操控游戏新纪元

近日&#xff0c;谷歌DeepMind研究团队推出了一款名为SIMA的创新AI代理&#xff0c;专为3D游戏环境设计。这款代理独树一帜&#xff0c;无需访问游戏源代码或依赖定制API&#xff0c;仅通过输入图像和简单的自然语言文本指令&#xff0c;便能实现与人类玩家相当的游戏操作。 AI…

Django数据库查询

聚合查询 分组查询 F与Q查询 默认情况下,用Q包裹的两个条件,用逗号分割也是and关系 choices参数 只要某个字段的可能性是完全可以列举出来的,可以采取choices参数 该gender字段存的还是数字,但是如果数字在上面的元组列举范围内,该怎么获取对应的值,如果不在范围内,会怎…

springboot网站开发解决图片存储问题,前端无法访问解决办法

最近使用springboot开发网站的时候&#xff0c;遇到了一个图片存储问题&#xff0c;我之前的方法是&#xff0c;把证书图片存在项目的static目录下面&#xff0c;这样的话&#xff0c;打包发布到远程服务器后&#xff0c;虽然可以正常展示已经打包封装好的内容&#xff0c;但是…

【Java】Java程序员必备的一些流程图

一、spring的生命周期 Spring作为当前Java最流行、最强大的轻量级容器框架&#xff0c;了解熟悉spring的生命周期非常有必要&#xff1b; 首先容器启动后&#xff0c;对bean进行初始化按照bean的定义&#xff0c;注入属性检测该对象是否实现了xxxAware接口&#xff0c;并将相…

浙江IGM机器人K5控制柜维修需要注意哪些问题?

IGM机器人K5控制柜常见故障及维修方法 1、电源故障&#xff1a; 表现为IGM机器人K5控制柜不能开机或突然断电。 检查&#xff1a;检查电源线是否连接良好&#xff0c;有无破损&#xff1b;检查电源模块的输出电压是否正常&#xff1b; 维修方法&#xff1a;如电源模块损坏&…