[{"data":1,"prerenderedAt":1278},["ShallowReactive",2],{"article-\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F04.容器项目-媒体类":3,"article-around-\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F04.容器项目-媒体类":1060},{"id":4,"title":5,"author":6,"body":7,"category":1044,"cover":1045,"date":1046,"description":1047,"draft":1048,"extension":1049,"image":1050,"license":1045,"meta":1051,"minutes":123,"navigation":126,"path":1053,"pinned":1048,"seo":1054,"stem":1055,"tags":1056,"__hash__":1059},"blog\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F04.容器项目&媒体类.md","容器项目&媒体类","张萌萌",{"type":8,"value":9,"toc":1037},"minimark",[10,14,18,29,58,64,67,72,75,84,87,448,450,454,457,494,757,759,763,766,784,1033],[11,12,13],"h2",{"id":13},"媒体服务",[15,16,17],"p",{},"说起个人媒体服务，大家肯定都熟悉群晖的 NAS 媒体功能，但好不好用因人而异。当然，免费的飞牛 NAS 媒体功能也不错。容器类媒体项目现在主要有三个：第三方客户端做得比较好的 Emby、官方和第三方都不太愿意开发客户端的 Jellyfin，以及好用但分享门槛较高的 Plex。Emby 是付费软件，也有社区维护版本；Jellyfin 是免费软件。我先把我的 Docker 目录结构放出来，方便你修改路径。",[19,20,25],"pre",{"className":21,"code":23,"language":24},[22],"language-text","root（根目录）\n├── docker（分支层级：docker目录）\n│ ├── apps（具体目录：docker app目录）\n│ │ ├── Jellyfin路径\n│ │ ├── Emby路径\n│ │ └── Plex路径\n│ └── docker-compose（具体目录：docker-compose.yaml目录）\n│ │ ├── Jellyfin\n│ │ │ └── docker-compose.yaml\n│ │ ├── Emby\n│ │ │ └── docker-compose.yaml\n│ │ ├── Plex\n│ │ └──── docker-compose.yaml\n│ ├── media\n│ │ ├── Tv\n│ │ └── Movie\n...\n","text",[26,27,23],"code",{"__ignoreMap":28},"",[30,31,32,36,39,47],"ul",{},[33,34,35],"li",{},"随着移动智能设备的普及，移动端流媒体需求越来越常见。如果想更主动地管理自己的媒体文件，可以本地自建一个私人媒体平台。",[33,37,38],{},"除了在局域网使用各种设备观看，也可以使用反向代理工具，让本地自建的私人媒体平台在公网环境中远程访问。",[33,40,41,42,46],{},"搭建媒体服务器，很多人需要转码，如果你是 intel 6代以上的处理器带核显的话基本上",[43,44,45],"strong",{},"解码 4K 码率","视频是没问题的，想检验有没有正确安装核显驱动的话可以在 ssh 输入以下代码，通常安装 debian 12 这样的系统是自带驱动的不用担心。如果没有正确安装驱动的话，请自行解决。",[33,48,49,50,53,54,57],{},"如果输出了 ",[43,51,52],{},"card0"," 和 ",[43,55,56],{},"renderD128","，说明显卡驱动安装正常，可以进行硬件解码。",[19,59,62],{"className":60,"code":61,"language":24},[22],"ls \u002Fdev\u002Fdri\n",[26,63,61],{"__ignoreMap":28},[65,66],"hr",{},[68,69,71],"h3",{"id":70},"_1-jellyfin","1 Jellyfin",[15,73,74],{},"Jellyfin 是一个相对知名的媒体服务器，在 NAS 平台上比较受欢迎。笔者没有 NAS 这样的专业设备，只有一台淘汰下来的台式机，好在这台台式机配置不算太低，并且 Jellyfin 有 Windows、Linux 和 Docker 版本的服务端，可以比较简单地搭建 Jellyfin 服务器。",[15,76,77],{},[78,79,83],"a",{"href":80,"rel":81},"https:\u002F\u002Fjellyfin.org\u002Fdocs\u002F",[82],"nofollow","这个是 Jellyfin 的官方文档。",[15,85,86],{},"如果是 x86 处理器解码有核显基本没问题的，如果是 arm 搭建的 docker，解码目前只有 rk3566，rk3588（可以10bit SDR）以上能够解码。并且只有 Jellyfin 有驱动，Emby 是没有驱动的。折腾 ARM 不如直流用第三方 APP，最后我会介绍第三方的 APP。",[19,88,92],{"className":89,"code":90,"language":91,"meta":28,"style":28},"language-yaml shiki shiki-themes github-light github-dark","# 官方文档\n# https:\u002F\u002Fhub.docker.com\u002Fr\u002Fnyanmisaka\u002Fjellyfin\n# 媒体库规范化命名手册\n# https:\u002F\u002Femby.media\u002Fsupport\u002Farticles\u002FHome.html\n\n# ---\n\nname: jellyfin\n# 最后编辑时间：2025-02-12\nservices:\n  jellyfin:\n    # 镜像地址\n    image: nyanmisaka\u002Fjellyfin:latest\n    # 容器名\n    container_name: jellyfin\n    # 主机名\n    hostname: jellyfin\n    # 特权模式，赋予容器几乎与主机相同的权限，给 root 即可\n    privileged: true\n    environment:\n      # 时区\n      - TZ=Asia\u002FShanghai\n      # 最高权限，和上面特权模式重复，开一个就行\n      #- UID=0\n      #- GID=0\n      #- GIDLIST=0\n      # 更换为自己的http代理\n      # - ALL_PROXY=http:\u002F\u002F【IP:PORT】\n      # 更换为自己的http代理\n      # - HTTP_PROXY=http:\u002F\u002F【IP:PORT】\n    volumes:\n      # 媒体库路径\n      - \u002Fmnt\u002Fmedia:\u002Fmnt\u002Fmedia\n      # amilys-emby配置文件\n      - \u002Fdocker\u002Fapps\u002Fjellyfin:\u002Fconfig\n    # 驱动\n    devices:\n      # 开启硬件转码\n      - \u002Fdev\u002Fdri:\u002Fdev\u002Fdri\n    # 网络模式  \n    network_mode: bridge\n    # 端口\n    ports:\n      # http webUI端口：8096，https webUI端口：8920\n      - 8096:8096\n      - 8920:8920\n    # 重启策略，总是重启\n    restart: always\n","yaml",[26,93,94,103,109,115,121,128,134,139,154,160,169,177,183,194,200,210,216,226,232,244,252,258,267,273,279,285,291,297,303,308,314,322,328,336,342,350,356,364,370,378,384,395,401,409,415,423,431,437],{"__ignoreMap":28},[95,96,99],"span",{"class":97,"line":98},"line",1,[95,100,102],{"class":101},"sJ8bj","# 官方文档\n",[95,104,106],{"class":97,"line":105},2,[95,107,108],{"class":101},"# https:\u002F\u002Fhub.docker.com\u002Fr\u002Fnyanmisaka\u002Fjellyfin\n",[95,110,112],{"class":97,"line":111},3,[95,113,114],{"class":101},"# 媒体库规范化命名手册\n",[95,116,118],{"class":97,"line":117},4,[95,119,120],{"class":101},"# https:\u002F\u002Femby.media\u002Fsupport\u002Farticles\u002FHome.html\n",[95,122,124],{"class":97,"line":123},5,[95,125,127],{"emptyLinePlaceholder":126},true,"\n",[95,129,131],{"class":97,"line":130},6,[95,132,133],{"class":101},"# ---\n",[95,135,137],{"class":97,"line":136},7,[95,138,127],{"emptyLinePlaceholder":126},[95,140,142,146,150],{"class":97,"line":141},8,[95,143,145],{"class":144},"s9eBZ","name",[95,147,149],{"class":148},"sVt8B",": ",[95,151,153],{"class":152},"sZZnC","jellyfin\n",[95,155,157],{"class":97,"line":156},9,[95,158,159],{"class":101},"# 最后编辑时间：2025-02-12\n",[95,161,163,166],{"class":97,"line":162},10,[95,164,165],{"class":144},"services",[95,167,168],{"class":148},":\n",[95,170,172,175],{"class":97,"line":171},11,[95,173,174],{"class":144},"  jellyfin",[95,176,168],{"class":148},[95,178,180],{"class":97,"line":179},12,[95,181,182],{"class":101},"    # 镜像地址\n",[95,184,186,189,191],{"class":97,"line":185},13,[95,187,188],{"class":144},"    image",[95,190,149],{"class":148},[95,192,193],{"class":152},"nyanmisaka\u002Fjellyfin:latest\n",[95,195,197],{"class":97,"line":196},14,[95,198,199],{"class":101},"    # 容器名\n",[95,201,203,206,208],{"class":97,"line":202},15,[95,204,205],{"class":144},"    container_name",[95,207,149],{"class":148},[95,209,153],{"class":152},[95,211,213],{"class":97,"line":212},16,[95,214,215],{"class":101},"    # 主机名\n",[95,217,219,222,224],{"class":97,"line":218},17,[95,220,221],{"class":144},"    hostname",[95,223,149],{"class":148},[95,225,153],{"class":152},[95,227,229],{"class":97,"line":228},18,[95,230,231],{"class":101},"    # 特权模式，赋予容器几乎与主机相同的权限，给 root 即可\n",[95,233,235,238,240],{"class":97,"line":234},19,[95,236,237],{"class":144},"    privileged",[95,239,149],{"class":148},[95,241,243],{"class":242},"sj4cs","true\n",[95,245,247,250],{"class":97,"line":246},20,[95,248,249],{"class":144},"    environment",[95,251,168],{"class":148},[95,253,255],{"class":97,"line":254},21,[95,256,257],{"class":101},"      # 时区\n",[95,259,261,264],{"class":97,"line":260},22,[95,262,263],{"class":148},"      - ",[95,265,266],{"class":152},"TZ=Asia\u002FShanghai\n",[95,268,270],{"class":97,"line":269},23,[95,271,272],{"class":101},"      # 最高权限，和上面特权模式重复，开一个就行\n",[95,274,276],{"class":97,"line":275},24,[95,277,278],{"class":101},"      #- UID=0\n",[95,280,282],{"class":97,"line":281},25,[95,283,284],{"class":101},"      #- GID=0\n",[95,286,288],{"class":97,"line":287},26,[95,289,290],{"class":101},"      #- GIDLIST=0\n",[95,292,294],{"class":97,"line":293},27,[95,295,296],{"class":101},"      # 更换为自己的http代理\n",[95,298,300],{"class":97,"line":299},28,[95,301,302],{"class":101},"      # - ALL_PROXY=http:\u002F\u002F【IP:PORT】\n",[95,304,306],{"class":97,"line":305},29,[95,307,296],{"class":101},[95,309,311],{"class":97,"line":310},30,[95,312,313],{"class":101},"      # - HTTP_PROXY=http:\u002F\u002F【IP:PORT】\n",[95,315,317,320],{"class":97,"line":316},31,[95,318,319],{"class":144},"    volumes",[95,321,168],{"class":148},[95,323,325],{"class":97,"line":324},32,[95,326,327],{"class":101},"      # 媒体库路径\n",[95,329,331,333],{"class":97,"line":330},33,[95,332,263],{"class":148},[95,334,335],{"class":152},"\u002Fmnt\u002Fmedia:\u002Fmnt\u002Fmedia\n",[95,337,339],{"class":97,"line":338},34,[95,340,341],{"class":101},"      # amilys-emby配置文件\n",[95,343,345,347],{"class":97,"line":344},35,[95,346,263],{"class":148},[95,348,349],{"class":152},"\u002Fdocker\u002Fapps\u002Fjellyfin:\u002Fconfig\n",[95,351,353],{"class":97,"line":352},36,[95,354,355],{"class":101},"    # 驱动\n",[95,357,359,362],{"class":97,"line":358},37,[95,360,361],{"class":144},"    devices",[95,363,168],{"class":148},[95,365,367],{"class":97,"line":366},38,[95,368,369],{"class":101},"      # 开启硬件转码\n",[95,371,373,375],{"class":97,"line":372},39,[95,374,263],{"class":148},[95,376,377],{"class":152},"\u002Fdev\u002Fdri:\u002Fdev\u002Fdri\n",[95,379,381],{"class":97,"line":380},40,[95,382,383],{"class":101},"    # 网络模式  \n",[95,385,387,390,392],{"class":97,"line":386},41,[95,388,389],{"class":144},"    network_mode",[95,391,149],{"class":148},[95,393,394],{"class":152},"bridge\n",[95,396,398],{"class":97,"line":397},42,[95,399,400],{"class":101},"    # 端口\n",[95,402,404,407],{"class":97,"line":403},43,[95,405,406],{"class":144},"    ports",[95,408,168],{"class":148},[95,410,412],{"class":97,"line":411},44,[95,413,414],{"class":101},"      # http webUI端口：8096，https webUI端口：8920\n",[95,416,418,420],{"class":97,"line":417},45,[95,419,263],{"class":148},[95,421,422],{"class":152},"8096:8096\n",[95,424,426,428],{"class":97,"line":425},46,[95,427,263],{"class":148},[95,429,430],{"class":152},"8920:8920\n",[95,432,434],{"class":97,"line":433},47,[95,435,436],{"class":101},"    # 重启策略，总是重启\n",[95,438,440,443,445],{"class":97,"line":439},48,[95,441,442],{"class":144},"    restart",[95,444,149],{"class":148},[95,446,447],{"class":152},"always\n",[65,449],{},[68,451,453],{"id":452},"_2-emby","2 Emby",[15,455,456],{},"‌Emby‌ 是一个功能强大的媒体服务器软件，主要用于组织、管理和共享个人的音乐、电影、电视节目和其他媒体文件。Emby 能够将个人视频、音乐和照片整合在一起，并通过服务器自动转换和流式传输，使得这些媒体可以在任何设备上播放‌。",[30,458,459,462,481,484],{},[33,460,461],{},"主要功能",[33,463,464],{},[30,465,466,469,472,475,478],{},[33,467,468],{},"媒体转换和流式传输‌：Emby 服务器会自动转换媒体格式，确保在任何设备上都能流畅播放‌。",[33,470,471],{},"多设备访问‌：用户可以通过 Emby Connect 轻松访问个人媒体，无论是在家还是在外‌。",[33,473,474],{},"直播电视和 DVR 管理‌：支持直播电视的流式传输和管理 DVR 功能‌。",[33,476,477],{},"家长控制‌：提供丰富的家长控制功能，可以轻松管理家庭成员对媒体内容的访问权限‌。",[33,479,480],{},"云同步‌：支持云同步功能，用户可以流式传输云同步的媒体内容。",[33,482,483],{},"用户评价和使用场景",[33,485,486],{},[30,487,488,491],{},[33,489,490],{},"Emby 的用户评价普遍较好，用户认为其功能全面且易于使用。用户可以将视频、音乐和图片等各种媒体整合在一起，随时进行数据传输，并且提供了电视直播功能。Emby 适合需要在家中或外出时访问个人媒体的用户，特别是那些希望在一个平台上管理所有媒体类型的用户‌。",[33,492,493],{},"说了这么多，Emby 其实就是 Jeffyfin 的付费版本，优点就是 APP 有人发开，前提你得是 Android 用户，苹果 iOS 我建议你付费软件。Emby 小秘就是开发非常好的 Android 版本。",[19,495,497],{"className":89,"code":496,"language":91,"meta":28,"style":28},"# 官方文档\n# https:\u002F\u002Fhub.docker.com\u002Fr\u002Familys\u002Fembyerver\n# 媒体库规范化命名手册\n# https:\u002F\u002Femby.media\u002Fsupport\u002Farticles\u002FHome.html\n\n# ---\n\nname: amilys-emby\n# 最后编辑时间：2025-02-12\nservices:\n  amilys-emby:\n    # 镜像地址，如需测试版追新，latest更改为beta\n    # arm64v8设备使用 amilys\u002Fembyserver_arm64v8\n    image: amilys\u002Fembyserver:beta\n    # 容器名\n    container_name: amilys-emby\n    # 主机名\n    hostname: amilys-emby\n    # 特权模式，赋予容器几乎与主机相同的权限，给root即可，使用\n    privileged: true\n    environment:\n      # 时区\n      - TZ=Asia\u002FShanghai\n      # 最高权限，和上面特权模式重复，开一个就行\n      #- UID=0\n      #- GID=0\n      #- GIDLIST=0\n      # 更换为自己的http代理\n      # - ALL_PROXY=http:\u002F\u002F【IP:PORT】\n      # 更换为自己的http代理\n      # - HTTP_PROXY=http:\u002F\u002F【IP:PORT】\n    volumes:\n      # 媒体库路径\n      - \u002Fmnt\u002FMedia:\u002Fmnt\u002FMedia\n      # amilys-emby配置文件\n      - \u002Fdocker\u002Fapps\u002Familys-emby:\u002Fconfig\n    # 驱动\n    devices:\n      # 开启硬件转码\n      - \u002Fdev\u002Fdri:\u002Fdev\u002Fdri\n    # 网络模式  \n    network_mode: bridge\n    # 端口\n    ports:\n      # http webUI端口：8096，https webUI端口：8920\n      - 8096:8096\n      - 8920:8920\n    # 重启策略，总是重启\n    restart: always\n",[26,498,499,503,508,512,516,520,524,528,537,541,547,554,559,564,573,577,585,589,597,602,610,616,620,626,630,634,638,642,646,650,654,658,664,668,675,679,686,690,696,700,706,710,718,722,728,732,738,744,748],{"__ignoreMap":28},[95,500,501],{"class":97,"line":98},[95,502,102],{"class":101},[95,504,505],{"class":97,"line":105},[95,506,507],{"class":101},"# https:\u002F\u002Fhub.docker.com\u002Fr\u002Familys\u002Fembyerver\n",[95,509,510],{"class":97,"line":111},[95,511,114],{"class":101},[95,513,514],{"class":97,"line":117},[95,515,120],{"class":101},[95,517,518],{"class":97,"line":123},[95,519,127],{"emptyLinePlaceholder":126},[95,521,522],{"class":97,"line":130},[95,523,133],{"class":101},[95,525,526],{"class":97,"line":136},[95,527,127],{"emptyLinePlaceholder":126},[95,529,530,532,534],{"class":97,"line":141},[95,531,145],{"class":144},[95,533,149],{"class":148},[95,535,536],{"class":152},"amilys-emby\n",[95,538,539],{"class":97,"line":156},[95,540,159],{"class":101},[95,542,543,545],{"class":97,"line":162},[95,544,165],{"class":144},[95,546,168],{"class":148},[95,548,549,552],{"class":97,"line":171},[95,550,551],{"class":144},"  amilys-emby",[95,553,168],{"class":148},[95,555,556],{"class":97,"line":179},[95,557,558],{"class":101},"    # 镜像地址，如需测试版追新，latest更改为beta\n",[95,560,561],{"class":97,"line":185},[95,562,563],{"class":101},"    # arm64v8设备使用 amilys\u002Fembyserver_arm64v8\n",[95,565,566,568,570],{"class":97,"line":196},[95,567,188],{"class":144},[95,569,149],{"class":148},[95,571,572],{"class":152},"amilys\u002Fembyserver:beta\n",[95,574,575],{"class":97,"line":202},[95,576,199],{"class":101},[95,578,579,581,583],{"class":97,"line":212},[95,580,205],{"class":144},[95,582,149],{"class":148},[95,584,536],{"class":152},[95,586,587],{"class":97,"line":218},[95,588,215],{"class":101},[95,590,591,593,595],{"class":97,"line":228},[95,592,221],{"class":144},[95,594,149],{"class":148},[95,596,536],{"class":152},[95,598,599],{"class":97,"line":234},[95,600,601],{"class":101},"    # 特权模式，赋予容器几乎与主机相同的权限，给root即可，使用\n",[95,603,604,606,608],{"class":97,"line":246},[95,605,237],{"class":144},[95,607,149],{"class":148},[95,609,243],{"class":242},[95,611,612,614],{"class":97,"line":254},[95,613,249],{"class":144},[95,615,168],{"class":148},[95,617,618],{"class":97,"line":260},[95,619,257],{"class":101},[95,621,622,624],{"class":97,"line":269},[95,623,263],{"class":148},[95,625,266],{"class":152},[95,627,628],{"class":97,"line":275},[95,629,272],{"class":101},[95,631,632],{"class":97,"line":281},[95,633,278],{"class":101},[95,635,636],{"class":97,"line":287},[95,637,284],{"class":101},[95,639,640],{"class":97,"line":293},[95,641,290],{"class":101},[95,643,644],{"class":97,"line":299},[95,645,296],{"class":101},[95,647,648],{"class":97,"line":305},[95,649,302],{"class":101},[95,651,652],{"class":97,"line":310},[95,653,296],{"class":101},[95,655,656],{"class":97,"line":316},[95,657,313],{"class":101},[95,659,660,662],{"class":97,"line":324},[95,661,319],{"class":144},[95,663,168],{"class":148},[95,665,666],{"class":97,"line":330},[95,667,327],{"class":101},[95,669,670,672],{"class":97,"line":338},[95,671,263],{"class":148},[95,673,674],{"class":152},"\u002Fmnt\u002FMedia:\u002Fmnt\u002FMedia\n",[95,676,677],{"class":97,"line":344},[95,678,341],{"class":101},[95,680,681,683],{"class":97,"line":352},[95,682,263],{"class":148},[95,684,685],{"class":152},"\u002Fdocker\u002Fapps\u002Familys-emby:\u002Fconfig\n",[95,687,688],{"class":97,"line":358},[95,689,355],{"class":101},[95,691,692,694],{"class":97,"line":366},[95,693,361],{"class":144},[95,695,168],{"class":148},[95,697,698],{"class":97,"line":372},[95,699,369],{"class":101},[95,701,702,704],{"class":97,"line":380},[95,703,263],{"class":148},[95,705,377],{"class":152},[95,707,708],{"class":97,"line":386},[95,709,383],{"class":101},[95,711,712,714,716],{"class":97,"line":397},[95,713,389],{"class":144},[95,715,149],{"class":148},[95,717,394],{"class":152},[95,719,720],{"class":97,"line":403},[95,721,400],{"class":101},[95,723,724,726],{"class":97,"line":411},[95,725,406],{"class":144},[95,727,168],{"class":148},[95,729,730],{"class":97,"line":417},[95,731,414],{"class":101},[95,733,734,736],{"class":97,"line":425},[95,735,263],{"class":148},[95,737,422],{"class":152},[95,739,740,742],{"class":97,"line":433},[95,741,263],{"class":148},[95,743,430],{"class":152},[95,745,746],{"class":97,"line":439},[95,747,436],{"class":101},[95,749,751,753,755],{"class":97,"line":750},49,[95,752,442],{"class":144},[95,754,149],{"class":148},[95,756,447],{"class":152},[65,758],{},[68,760,762],{"id":761},"_3-plex","3 Plex",[15,764,765],{},"最后来介绍一款经典的 Plex 软件，是收费的，主要是解码收费。需要注意以下三点：",[30,767,768,771,777],{},[33,769,770],{},"网络选择 host 模式，不然要写很多端口，web 端口是 32400",[33,772,773,774],{},"Plex 访问地址是 ",[26,775,776],{},"http:\u002F\u002FIP:32400\u002Fmanage",[33,778,779,780,783],{},"Plex 配置文件必须填写令牌，",[26,781,782],{},"https:\u002F\u002Fplex.tv\u002Fclaim","⁠ 获取令牌，4分钟令牌失效",[19,785,787],{"className":89,"code":786,"language":91,"meta":28,"style":28},"# 官方文档\n# https:\u002F\u002Fplex.tv\n\n# ---\n\nname: plex\n# 最后编辑时间：2025-02-12\nservices:\n  plex:\n    # 镜像地址\n    image: jaymoulin\u002Fplex\n    # 容器名\n    container_name: plex\n    # 主机名\n    hostname: plex\n    # 特权模式，赋予容器几乎与主机相同的权限，给root即可，使用\n    privileged: true\n    environment:\n      # 时区\n      - TZ=Asia\u002FShanghai\n      # 最高权限，和上面特权模式重复，开一个就行\n      #- UID=0\n      #- GID=0\n      #- GIDLIST=0\n      # https:\u002F\u002Fplex.tv\u002Fclaim⁠ 获取令牌，4分钟令牌失效\n      - PLEX_CLAIM=替换我，请在线获取令牌 \n      # 版本docker\n      - VERSION=docker\n    volumes:\n      # 媒体库路径\n      - \u002Fmnt\u002Fmedia:\u002Fmnt\u002Fmedia\n      # amilys-emby配置文件\n      - \u002Fdocker\u002Fapps\u002Fplex:\u002Fconfig\n      # 转码缓存\n      - \u002Fdocker\u002Fapps\u002Fplex\u002Ftranscode:\u002Ftranscode\n    # 驱动\n    devices:\n      # 开启硬件转码\n      - \u002Fdev\u002Fdri:\u002Fdev\u002Fdri\n    # 网络模式  \n    # 32400是webUI访问端口 访问地址 http:\u002F\u002FIP:32400\u002Fmanage\n    network_mode: host\n    # 重启策略，总是重启\n    restart: always\n",[26,788,789,793,798,802,806,810,819,823,829,836,840,849,853,861,865,873,877,885,891,895,901,905,909,913,917,922,932,937,944,950,954,960,964,971,976,983,987,993,997,1003,1007,1012,1021,1025],{"__ignoreMap":28},[95,790,791],{"class":97,"line":98},[95,792,102],{"class":101},[95,794,795],{"class":97,"line":105},[95,796,797],{"class":101},"# https:\u002F\u002Fplex.tv\n",[95,799,800],{"class":97,"line":111},[95,801,127],{"emptyLinePlaceholder":126},[95,803,804],{"class":97,"line":117},[95,805,133],{"class":101},[95,807,808],{"class":97,"line":123},[95,809,127],{"emptyLinePlaceholder":126},[95,811,812,814,816],{"class":97,"line":130},[95,813,145],{"class":144},[95,815,149],{"class":148},[95,817,818],{"class":152},"plex\n",[95,820,821],{"class":97,"line":136},[95,822,159],{"class":101},[95,824,825,827],{"class":97,"line":141},[95,826,165],{"class":144},[95,828,168],{"class":148},[95,830,831,834],{"class":97,"line":156},[95,832,833],{"class":144},"  plex",[95,835,168],{"class":148},[95,837,838],{"class":97,"line":162},[95,839,182],{"class":101},[95,841,842,844,846],{"class":97,"line":171},[95,843,188],{"class":144},[95,845,149],{"class":148},[95,847,848],{"class":152},"jaymoulin\u002Fplex\n",[95,850,851],{"class":97,"line":179},[95,852,199],{"class":101},[95,854,855,857,859],{"class":97,"line":185},[95,856,205],{"class":144},[95,858,149],{"class":148},[95,860,818],{"class":152},[95,862,863],{"class":97,"line":196},[95,864,215],{"class":101},[95,866,867,869,871],{"class":97,"line":202},[95,868,221],{"class":144},[95,870,149],{"class":148},[95,872,818],{"class":152},[95,874,875],{"class":97,"line":212},[95,876,601],{"class":101},[95,878,879,881,883],{"class":97,"line":218},[95,880,237],{"class":144},[95,882,149],{"class":148},[95,884,243],{"class":242},[95,886,887,889],{"class":97,"line":228},[95,888,249],{"class":144},[95,890,168],{"class":148},[95,892,893],{"class":97,"line":234},[95,894,257],{"class":101},[95,896,897,899],{"class":97,"line":246},[95,898,263],{"class":148},[95,900,266],{"class":152},[95,902,903],{"class":97,"line":254},[95,904,272],{"class":101},[95,906,907],{"class":97,"line":260},[95,908,278],{"class":101},[95,910,911],{"class":97,"line":269},[95,912,284],{"class":101},[95,914,915],{"class":97,"line":275},[95,916,290],{"class":101},[95,918,919],{"class":97,"line":281},[95,920,921],{"class":101},"      # https:\u002F\u002Fplex.tv\u002Fclaim⁠ 获取令牌，4分钟令牌失效\n",[95,923,924,926,929],{"class":97,"line":287},[95,925,263],{"class":148},[95,927,928],{"class":152},"PLEX_CLAIM=替换我，请在线获取令牌",[95,930,931],{"class":148}," \n",[95,933,934],{"class":97,"line":293},[95,935,936],{"class":101},"      # 版本docker\n",[95,938,939,941],{"class":97,"line":299},[95,940,263],{"class":148},[95,942,943],{"class":152},"VERSION=docker\n",[95,945,946,948],{"class":97,"line":305},[95,947,319],{"class":144},[95,949,168],{"class":148},[95,951,952],{"class":97,"line":310},[95,953,327],{"class":101},[95,955,956,958],{"class":97,"line":316},[95,957,263],{"class":148},[95,959,335],{"class":152},[95,961,962],{"class":97,"line":324},[95,963,341],{"class":101},[95,965,966,968],{"class":97,"line":330},[95,967,263],{"class":148},[95,969,970],{"class":152},"\u002Fdocker\u002Fapps\u002Fplex:\u002Fconfig\n",[95,972,973],{"class":97,"line":338},[95,974,975],{"class":101},"      # 转码缓存\n",[95,977,978,980],{"class":97,"line":344},[95,979,263],{"class":148},[95,981,982],{"class":152},"\u002Fdocker\u002Fapps\u002Fplex\u002Ftranscode:\u002Ftranscode\n",[95,984,985],{"class":97,"line":352},[95,986,355],{"class":101},[95,988,989,991],{"class":97,"line":358},[95,990,361],{"class":144},[95,992,168],{"class":148},[95,994,995],{"class":97,"line":366},[95,996,369],{"class":101},[95,998,999,1001],{"class":97,"line":372},[95,1000,263],{"class":148},[95,1002,377],{"class":152},[95,1004,1005],{"class":97,"line":380},[95,1006,383],{"class":101},[95,1008,1009],{"class":97,"line":386},[95,1010,1011],{"class":101},"    # 32400是webUI访问端口 访问地址 http:\u002F\u002FIP:32400\u002Fmanage\n",[95,1013,1014,1016,1018],{"class":97,"line":397},[95,1015,389],{"class":144},[95,1017,149],{"class":148},[95,1019,1020],{"class":152},"host\n",[95,1022,1023],{"class":97,"line":403},[95,1024,436],{"class":101},[95,1026,1027,1029,1031],{"class":97,"line":411},[95,1028,442],{"class":144},[95,1030,149],{"class":148},[95,1032,447],{"class":152},[1034,1035,1036],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":28,"searchDepth":105,"depth":105,"links":1038},[1039],{"id":13,"depth":105,"text":13,"children":1040},[1041,1042,1043],{"id":70,"depth":111,"text":71},{"id":452,"depth":111,"text":453},{"id":761,"depth":111,"text":762},"docker",null,"2025-08-05","采用 Docker 搭建个人媒体服务",false,"md","https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780562913752.avif",{"published":1052},"2025-08-11","\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F04.容器项目-媒体类",{"title":5,"description":1047},"blog\u002F10-技术专栏\u002F10-docker\u002F04.容器项目&媒体类",[1044,91,1057,1058],"媒体库","Emby","f-SLZfRp5r9iK2HKu_zgtkJe8xhcZQOnCJxCkjc_CDg",[1061,1065,1069,1073,1076,1079,1083,1086,1090,1094,1098,1102,1106,1110,1114,1118,1122,1126,1130,1133,1137,1141,1145,1149,1152,1156,1160,1164,1168,1172,1176,1180,1184,1188,1192,1196,1200,1203,1207,1211,1215,1219,1222,1225,1228,1229,1232,1235,1238,1241,1244,1247,1250,1253,1256,1259,1262,1265,1268,1271,1274],{"path":1062,"title":1063,"date":1064},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F16.IPv6与DNS的分手协议","IPv6 与 DNS 的分手协议","2026-10-02",{"path":1066,"title":1067,"date":1068},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F04.我的-AI-入坑记","我的 AI 入坑记","2026-09-24",{"path":1070,"title":1071,"date":1072},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F01.用-Docker-部署-Ollama-与-Open-WebUI-搭建本地大模型","用 Docker 部署 Ollama 与 Open WebUI 搭建本地大模型","2026-09-23",{"path":1074,"title":1075,"date":1072},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F02.用-New-API-搭建统一-LLM-网关与-Lucky-反代外网访问","用 New API 搭建统一 LLM 网关与 Lucky 反代外网访问",{"path":1077,"title":1078,"date":1072},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F03.用-Dify-搭建本地知识库让-AI-读懂你写的博客","用 Dify 搭建本地知识库，让 AI 读懂你写的博客",{"path":1080,"title":1081,"date":1082},"\u002Fblog\u002F20-生活碎片\u002F03-2026年秋季计划","2026 年秋季计划","2026-09-19",{"path":1084,"title":1085,"date":1082},"\u002Fblog\u002F30-学习笔记\u002F02.Python入门书单","Python 入门书单：从第一行代码到写出真正的程序",{"path":1087,"title":1088,"date":1089},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F09-Cloudflare-低延迟接入方案","Cloudflare 低延迟接入方案","2026-07-22 03:17:28",{"path":1091,"title":1092,"date":1093},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F08-Cloudflare-ImgBed-免费私有图床完整部署手册","Cloudflare ImgBed 免费私有图床完整部署手册","2026-07-19 02:09:08",{"path":1095,"title":1096,"date":1097},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F07-腾讯云-EdgeOne-边缘函数实现七牛-S3-随机图床-API","腾讯云 EdgeOne 边缘函数实现七牛云 & S3 存储随机图床 API","2026-07-13 21:25:48",{"path":1099,"title":1100,"date":1101},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F06-腾讯-EdgeOne-部署-Twikoo-评论系统指南","腾讯EdgeOne部署Twikoo评论系统指南","2026-06-14 17:41:11",{"path":1103,"title":1104,"date":1105},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F05-OpenList-接入-S3-对象存储完整使用教程","OpenList 接入 S3 对象存储完整使用教程","2026-06-11 13:08:07",{"path":1107,"title":1108,"date":1109},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F04-Cloudflare-R2-图床与全球加速方案","Cloudflare R2 图床与全球加速方案","2026-06-09 13:07:35",{"path":1111,"title":1112,"date":1113},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F03-免费图床与CDN加速方案","免费图床与 CDN 加速方案","2026-06-09",{"path":1115,"title":1116,"date":1117},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F02-零基础优雅搭建静态博客全教程","零基础优雅搭建静态博客全教程","2026-06-04",{"path":1119,"title":1120,"date":1121},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F01-远古产物—博客","赛博空间的私人岛屿：博客架构与风格美学","2026-06-03",{"path":1123,"title":1124,"date":1125},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F15.关于NAT回流与内网域名直连的终极指南","关于 NAT 回流与内网域名直连的终极指南","2026-05-13",{"path":1127,"title":1128,"date":1129},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F14.飞牛安全访问与Lucky反代雷池防护","飞牛安全访问与 Lucky 反代雷池防护","2026-02-03",{"path":1131,"title":1132,"date":1129},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F18.一键DD纯净系统脚本","一键 DD 纯净系统脚本",{"path":1134,"title":1135,"date":1136},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F17.Ventoy多系统启动盘制作与使用全指南","Ventoy 多系统启动盘制作与使用全指南","2026-02-02",{"path":1138,"title":1139,"date":1140},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F16.Emby元数据匹配与中文命名规范","Emby 元数据匹配与中文命名规范","2026-02-01",{"path":1142,"title":1143,"date":1144},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F15.基于PVE系统安装LXC-debian","基于 PVE 系统安装 LXC-debian","2026-01-19",{"path":1146,"title":1147,"date":1148},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F13.Lucky反向代理终极指南","Lucky 反向代理终极指南","2026-01-16",{"path":1150,"title":1151,"date":1148},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F14.OEC盒子Armbian刷机指南","OEC 盒子 Armbian 刷机指南",{"path":1153,"title":1154,"date":1155},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F13.oec-fnOS安装","OEC-Turbo (RK3566) 安装飞牛 OS","2026-01-15",{"path":1157,"title":1158,"date":1159},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F12.新的篇章，debian12的配置","新的篇章，debian12 的配置","2026-01-14",{"path":1161,"title":1162,"date":1163},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F11.飞牛OS安装后必要配置","飞牛 OS 安装后必要配置","2026-01-06",{"path":1165,"title":1166,"date":1167},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F11.NAS-导航页的终极形态","告别繁琐配置：NAS 导航页的终极形态 —— 从 Sun-Panel 到 FlatNAS","2026-01-05",{"path":1169,"title":1170,"date":1171},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F10.LogVar-弹幕-API-部署指南","LogVar 弹幕 API  (纯本地缓存版) 部署指南","2025-12-30",{"path":1173,"title":1174,"date":1175},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F10.基于Lucky与QMediaSync的飞牛远程媒体访问","基于 Lucky 与 QMediaSync 的飞牛远程媒体访问","2025-12-26",{"path":1177,"title":1178,"date":1179},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F09.新的篇章，PVE虚拟机","新的篇章，PVE虚拟机","2025-12-21",{"path":1181,"title":1182,"date":1183},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F08.Linux系统，音响有底噪","Linux 系统，音响有底噪怎么办？","2025-12-17",{"path":1185,"title":1186,"date":1187},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F07.飞牛OS的安装","飞牛 OS 的安装","2025-12-14",{"path":1189,"title":1190,"date":1191},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F06.Debian13换源","Debian13 换源","2025-11-29",{"path":1193,"title":1194,"date":1195},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F05.Kodi-CoreELEC安装指南","Kodi & CoreELEC 安装指南","2025-11-21",{"path":1197,"title":1198,"date":1199},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F09.兰空图床和高清图标库","兰空图床和高清图标库","2025-11-15",{"path":1201,"title":1202,"date":1199},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F04.N1盒子Armbian刷机与配置","N1 盒子 Armbian 刷机与配置",{"path":1204,"title":1205,"date":1206},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F08.你是否需要一个图床？","你是否需要一个图床？","2025-11-14",{"path":1208,"title":1209,"date":1210},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F03.飞牛NAS第三方应用商店安装","飞牛 NAS 第三方应用商店 (FnDepot) 安装指南","2025-10-13",{"path":1212,"title":1213,"date":1214},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F02.Hills播放器-Windows-安卓","Hills 播放器（Windows + 安卓）","2025-09-24",{"path":1216,"title":1217,"date":1218},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F01.一行代码降低服务器功耗","一行代码降低服务器功耗","2025-08-19",{"path":1220,"title":1221,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F01.容器-docker-docker-compose","容器 & docker & docker-compose",{"path":1223,"title":1224,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F02.容器项目-传输类","容器项目&传输类",{"path":1226,"title":1227,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F03.容器项目-相册类","容器项目&相册类",{"path":1053,"title":5,"date":1046},{"path":1230,"title":1231,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F05.Emby自有授权媒体库（一）","Emby 自有授权媒体库（一）",{"path":1233,"title":1234,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F06.Emby自有授权媒体库（二）","Emby 自有授权媒体库（二）",{"path":1236,"title":1237,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F07.Adguard-Home去广告","Adguard Home 去广告",{"path":1239,"title":1240,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F01.新的篇章，软路由","新的篇章，软路由",{"path":1242,"title":1243,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F02.如何玩公网，怎么远程访问（一）","如何玩公网，怎么远程访问（一）",{"path":1245,"title":1246,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F03.如何玩公网，怎么远程访问（二）","如何玩公网，怎么远程访问（二）",{"path":1248,"title":1249,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F04.如何玩公网，怎么远程访问（三）","如何玩公网，怎么远程访问（三）",{"path":1251,"title":1252,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F05.免费域名与远程访问","免费域名与远程访问",{"path":1254,"title":1255,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F06.没有公网如何远程访问","没有公网如何远程访问",{"path":1257,"title":1258,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F07.爱快与OpenWRT双软路由MAC地址重复问题修正","爱快与 OpenWRT 双软路由MAC地址重复问题修正",{"path":1260,"title":1261,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F08.OpenWRT扩容","OpenWRT 扩容",{"path":1263,"title":1264,"date":1046},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F09.OpenWRT旁路由一条龙教程","OpenWRT 旁路由一条龙教程",{"path":1266,"title":1267,"date":1046},"\u002Fblog\u002F20-生活碎片\u002F02.在裂缝中种满阳光","让灵魂带着光行走：在裂缝中种满太阳",{"path":1269,"title":1270,"date":1046},"\u002Fblog\u002F30-学习笔记\u002F01.Typora学习笔记","Typora学习笔记",{"path":1272,"title":1273,"date":1046},"\u002Fblog\u002F30-学习笔记\u002F02.Markdown-拓展","Markdown 拓展",{"path":1275,"title":1276,"date":1277},"\u002Fblog\u002F20-生活碎片\u002F01.拥抱生活中的光与热","拥抱生活中的光与热","2025-07-05",1791304411685]