【群晖】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.rhkb.cn/news/282750.html

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

相关文章

计算机二级大题

题目来源&#xff1a;计算机二级Python半个月抱佛脚大法&#xff08;内呈上真题版&#xff09; - 知乎 1.大题1 注意csv文件读取的处理 ls[] for line in f: ls.append(line.strip(\n).split(,)) 2. 大题2 第一问&#xff1a; #计算有效票张数 fopen("vote.txt",…

LinuxU盘挂载原理,为什么要用到U盘挂载及实现U盘挂载

目录 一、U盘挂载原理 二、为什么要用到U盘挂载 三、实现U盘挂载 一、准备工作 1、安装gcc 2、下载ntfs-3g 3、解压 4、编译准备 5、编译并安装 二、挂载演示 一、U盘挂载原理 Linux的U盘挂载原理涉及以下几个方面&#xff1a; 设备识别&#xff1a;当您将U盘插入Lin…

leetcode刷题(javaScript)——动态规划相关场景题总结

动态规划在 JavaScript 刷题中有一定的难度&#xff0c;但也是非常常见和重要的算法思想。动态规划通常适用于需要求解最优解、最大值、最小值等问题的场景&#xff0c;可以将复杂问题拆分成子问题&#xff0c;通过存储子问题的解来避免重复计算&#xff0c;从而提高效率。 理解…

整数和浮点数在内存中存储

整数在内存中的存储 整数的2进制表⽰⽅法有三种&#xff0c;即原码、反码和补码。 对于整形来说&#xff0c;数据存放内存中的其实是补码。 在计算机系统中&#xff0c;数值一律用补码来表示和存储。原因是&#xff0c;使用补码&#xff0c;可以使符号位和数值域统一处理&am…

【爬虫】专栏文章索引

为了方便 快速定位 和 便于文章间的相互引用等 作为一个快速准确的导航工具 爬虫 目录&#xff1a; &#xff08;一&#xff09;web自动化和接口自动化 &#xff08;二&#xff09;实战-爬取Boss直聘信息数据

构建强大的API:Django中的REST框架探究与实践【第146篇—Django】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 构建强大的API&#xff1a;Django中的REST框架探究与实践 在当今的Web开发中&#xff0c;构…

面试算法-83-不同路径 II

题目 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish”&#xff09;。 现在考虑网格中有障碍物。那么从左上角到…

如何一键下载微信视频号的视频至本地电脑

社交媒体平台上的短视频已经成为我们获取信息和娱乐的重要来源&#xff0c;尤其是微信视频号。这个平台汇聚了丰富多样的内容&#xff0c;从生活分享到专业知识&#xff0c;应有尽有。然而&#xff0c;有时我们可能希望将这些有趣的或有用的视频保存到本地以便离线观看或分享给…

单片机学到什么程度才可以去工作?

单片机学到什么程度才可以去工作? 如果没有名校或学位的加持&#xff0c;你还得再努力一把&#xff0c;才能从激烈的竞争中胜出。以下这些技能可以给你加分&#xff0c;你看情况学&#xff0c;不同行业对这些组件会有取舍: . Cortex-M内核:理解MCU内核各部件的工作机制&#…

如何利用RunnerGo简化性能测试流程

在软件开发过程中&#xff0c;测试是一个重要的环节&#xff0c;需要投入大量时间和精力来确保应用程序或网站的质量和稳定性。但是&#xff0c;随着应用程序变得更加复杂和庞大&#xff0c;传统的测试工具在面对比较繁琐的项目时非常费时费力。这时&#xff0c;一些自动化测试…

学习总结2

解题思路 用bfs进行搜索,标记A罐B罐所保存的水的出现情况,当再次出现的时候停止搜索,然后用数组模拟链表进行保存路径.最后输出. 代码 #include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #include <cmath> #in…

Python学习day3

知识&#xff1a; #继承&#xff0c;创建有继承的类 #父类、子类 #class 子类(父类): #调用时找父类的构造函数&#xff0c;如果子类自己有某函数则调用子类的&#xff0c;否则调用父类的 #在子类有构造函数的时候调用父类&#xff0c;可以用super().__init__的方法调用父类函数…

基于springboot的“漫画之家”系统

目录 背景 技术简介 系统简介 界面浏览 背景 随着科技的不断进步&#xff0c;计算机已经变成了人们日常生活和工作不可或缺的工具。在这样的环境下&#xff0c;互联网技术被广泛运用于各个领域&#xff0c;以提升工作和生活的效率&#xff0c;推动了网络信息技术的迅猛发展…

基于Springboot的西安旅游系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的西安旅游系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

力扣热门算法题 52. N 皇后 II,53. 最大子数组和,54. 螺旋矩阵

52. N 皇后 II&#xff0c;53. 最大子数组和&#xff0c;54. 螺旋矩阵&#xff0c;每题做详细思路梳理&#xff0c;配套Python&Java双语代码&#xff0c; 2024.03.20 可通过leetcode所有测试用例。 目录 52. N 皇后 II 解题思路 完整代码 Python Java 53. 最大子数组…

多线程基础 -概念、创建、等待、分离、终止

文章目录 一、 线程概念1. 什么是线程2. 线程的优点3.线程的缺点4. 线程异常5. 线程用途 二、 Linux进程VS线程1. 进程和线程2. 进程和线程的地址空间3. 进程和线程的关系 三、Linux线程控制1. POSIX线程库2. 线程创建3. 线程ID及进程地址空间布局4. 线程终止5. 线程等待6. 线程…

Linux初识环境变量

&#x1f30e;环境变量【上】 文章目录&#xff1a; 环境变量 什么是环境变量 关于命令行参数 环境变量       简单了解       为什么需要环境变量       系统中其他环境变量 总结 前言&#xff1a; 环境变量是一种非常重要的概念&#xff0c;它们对于系统的…

长安链正式发布三周年,技术更迭支撑产业变革

导语&#xff1a; 2024年1月27日长安链正式发布三周年&#xff0c;开源社区借开年之际与大家一同回顾长安链三年来的技术发展历程&#xff0c;每一个里程碑的建设都得益于与长安链同行的合作伙伴与开发者&#xff0c;希望在2024年可以共同携手继往开来&#xff0c;为数字经济发…

Mysql面试题以及答案

1 基础 1.1、MySQL有哪些数据库类型&#xff1f; 数值类型 有包括 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT&#xff0c;分别表示 1 字节、2 字节、3 字节、4 字节、8 字节的整数类型。 1&#xff09;任何整数类型都可以加上 UNSIGNED 属性&#xff0c;表示无符号整数。 …

Matlab快捷键与函数

注释&#xff1a;注释对于代码的重要性我们就不做过多的解释了。不做注释的代码不是好代码。选中要注释的语句&#xff0c;按快捷键CtrlR,或者在命令行窗口上面的注释地方可以进行注释。当然也可以直接在语句前面“%”就可以&#xff08;注意&#xff1a;一定要用英文符号&…