【群晖】Docker Compose部署 Emby Server

九术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:latestcontainer_name: emby-serverrestart: alwaysdeploy:resources:limits:memory: 8Genvironment:UID: 10GID: 10GIDLIST: 100,101volumes:- /volume1/docker/emby/config:/volume1/docker/emby/config- /volume1/docker/emby/metadata:/volume1/docker/emby/metadata- /volume2/video:/volume2/videoports:- 8096:8096/TCPnetwork_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.orgapi.thetvdb.comimage.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.mzph.cn/news/763987.shtml

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

相关文章

【python绘图colorbar对齐】

[Toc]# 1、问题描述 python在绘图过程中&#xff0c;可能会出现colorbar高度与主图不匹配情况&#xff0c;需要进行调整&#xff0c;使得与主图高度对齐&#xff0c;使图像更美观。示例&#xff1a;colorbar位置高于主图 2、解决方法 通过调整shrink参数匹配对齐,pad调整x轴…

《妈妈是什么》笔记(二) 让孩子自己做选择

经典摘录 孩子也会需要独立的空间做事情&#xff0c;求独立、求空间、求私隐 对于不管因为什么&#xff0c;别人在受到肯定和赞赏的时候&#xff0c;会对我们自己的心理带来因“比较”而产生的不适感甚至嫉妒感&#xff0c;进而在行为上影响了我们自己的节奏&#xff0c;产生一…

ThingsBoard初始化数据库Postgres+Cassandra

本章将介绍ThingsBoard初始化数据PostgresCassandra&#xff0c;两种数据库结合使用&#xff0c;以及源码的编译安装。本机环境&#xff1a;Centos7、Docker、Postgres、Cassandra 环境安装 开发环境要求&#xff1a; docker &#xff1b;Docker&#xff1b;Postgres:Cassandr…

Django日志(一)

一、概念与配置 1.1、概述 日志是程序员经常在代码中使用快速和方便的调试工具。它在调试方面比print更加的优雅和灵活 而且日志记录对于调试很有用,可以提供更多,更好的结构化,有关应用程序的状态和运行状况的信息 Django框架的日志通过python内置的logging模块实现的,可…

基于Gabor滤波器的指纹图像识别,Matlab实现

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

2024年【山东省安全员C证】考试试卷及山东省安全员C证复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 山东省安全员C证考试试卷是安全生产模拟考试一点通生成的&#xff0c;山东省安全员C证证模拟考试题库是根据山东省安全员C证最新版教材汇编出山东省安全员C证仿真模拟考试。2024年【山东省安全员C证】考试试卷及山东省…

【Linux】信号的处理{信号处理的时机/了解寄存器/内核态与用户态/信号操作函数}

文章目录 0.对于信号捕捉的理解1.信号处理的时机1.1 何时处理信号&#xff1f;1.2 内核态和用户态1.3 内核态和用户态的切换 2.了解寄存器3.信号捕捉的原理4.信号操作函数4.1sighandler_t signal(int signum, sighandler_t handler);4.2int sigaction(int signum, const struct…

express+mysql+vue,从零搭建一个商城管理系统15--快递查询(对接快递100)

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、安装md5&#xff0c;axios二、新建config/logistics.js三、修改routes/order.js四、查询物流信息五、试错与误区总结 前言 需求&#xff1a;主要学习express&#xff0c;所以先写service部分 快递100API…

工业项目中你连DCS系统都没见过?

什么是DCS DCS&#xff0c;即分散控制系统&#xff0c;是一种用于监控和控制工业过程的系统。它通过连接多个控制器、传感器和执行器实现自动化控制&#xff0c;提高生产效率和安全性。在中国&#xff0c;随着工业化和自动化水平的提高&#xff0c;DCS技术得到了广泛应用和快速…

外包干了10天,技术倒退明显

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

SpringMVC 简介及入门级的快速搭建详细步骤

MVC 回顾 MVC&#xff0c;即Model-View-Controller&#xff08;模型-视图-控制器&#xff09;设计模式&#xff0c;是一种广泛应用于软件工程中&#xff0c;特别是Web应用开发中的架构模式。它将应用程序分为三个核心组件&#xff1a; Model&#xff08;模型&#xff09;&#…

PagePlug多条件查询方案

正确实现 使用Case When来编写查询条件 SELECT * FROM pc_ticket_tax_cloud WHERE 11 AND (CASE WHEN {{data_table.searchText ! }} THEN xsddm like {{data_table.searchText || ""}}%ELSE 11 END ) AND (CASE WHEN {{doc_code_input.text ! }} THEN doc_code li…

Git浅谈配置文件和免密登录

一、文章内容 简述git三种配置ssh免密登录以及遇见的问题git可忽略文件git remote 相关操作 二、Git三种配置 项目配置文件(局部)&#xff1a;项目路径/.git/config 文件 git config --local user.name name git config --local user.email 123qq.cc全局配置文(所有用户): …

【Web】记录CISCN 2021 总决赛 ezj4va题目复现——AspectJWeaver

目录 前言 原理分析 step 0 step 1 EXP 前文&#xff1a;【Web】浅聊Java反序列化之AspectJWeaver——任意文件写入-CSDN博客 前言 这就是当年传说中的零解题嘛&#x1f62d;&#xff0c;快做&#x1f92e;了 有了之前的经验&#xff0c;思路顺挺快的&#xff0c;中间不…

网络基础(一)初识

1、计算机网络背景 1.1、网络发展 1. 独立模式: 计算机之间相互独立&#xff1b; 2. 网络互联: 多台计算机连接在一起&#xff0c;完成数据共享&#xff1b; 3. 局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起; 4. 广域网WAN: 将远隔千里的计算机都连在一起;…

【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

yaml 语法和在线解析工具

文章目录 在线解析工具1. 简介2. 语法规则3. 数据类型3.1 数组&#xff1a;3.2对象&#xff1a;3.3 标量3.4 复合结构3.5 锚点3.5.1 单个锚点3.5.6 多个锚点 3.6 引号 参考 在线解析工具 工具1 工具2 1. 简介 Yaml是一种可读性高的数据标记语言&#xff0c;Yaml文件是一种配…

45.i++和++i

目录 一.基本概念 二.区别 三.总结 四.视频教程 一.基本概念 i和i两者的作用都是自增加1。单独使用的话&#xff0c;i和i&#xff0c;效果都是一样的&#xff0c;就是ii1。 int main() {int i 0;i; } int main() {int i 0;i; } 最后的结果都是1。 二.区别 如上单独使…

SpringBoot—@ConditionalOnBean与@ConditionalOnClass

一、ConditionalOnBean概念 需求场景 比如下面一种场景&#xff0c;我在实例化People对象的时候&#xff0c;需要注入一个City对象。这个时候问题来了&#xff0c;如果city没有实例化&#xff0c;那么下面就会报空指针或者直接报错。 所以这里需求很简单&#xff0c;就是当前c…

就业班 第二阶段 2401--3.19 day4 主从复制

一、MySQL-Replication&#xff08;主从复制&#xff09; 1.1、MySQL Replication 主从复制&#xff08;也称 AB 复制&#xff09;允许将来自一个MySQL数据库服务器&#xff08;主服务器&#xff09;的数据复制到一个或多个MySQL数据库服务器&#xff08;从服务器&#xff09;…