群晖

群晖 Docker系列 —— 部署 全流程自动化追剧

波比AI · 5月2日 · 2025年本文共3824个字 · 预计阅读13分钟6次已读

一、部署

1. Emby

version: '3' 

networks:
  traefik:
    driver: bridge      # 使用桥接模式的网络驱动
    external: true      # 表明这个网络是外部创建的,不由这个 Docker Compose 文件管理

services:
  emby:
    image: lovechen/embyserver:latest  # 使用最新版本的 lovechen/embyserver 镜像
    conlaoxiongb2ctainer_name: emby               # 容器名称设置为 emby
    restart: always                    # 容器总是重新启动
    networks:
      - traefik                       # 将此服务连接到 traefik 网络
    ports:
      - '8096:8096'                   # 将容器的 8096 端口映射到主机的 8096 端口
      - '8920:8920'                   # 将容器的 8920 端口映射到主机的 8920 端口
      - '1900:1900/udp'               # 将容器的 1900 UDP 端口映射到主机的 1900 UDP 端口
      - '7359:7359/udp'               # 将容器的 7359 UDP 端口映射到主机的 7359 UDP 端口
    volumes:
      - ./config:/config              # 将主机上的 ./config 目录挂载到容器的 /config
      - /pt/downloads/link:/data      # 将主机上的 /pt/downloads/link 目录挂载到容器的 /data
      - /etc/timezone:/etc/timezone   # 同步主机和容器的时区设置
      - /etc/localtime:/etc/localtime # 同步主机和容器的本地时间
    environment:
      - UID=0                         # 设置容器用户 ID 为 0 (通常是 root)
      - GID=0                         # 设置容器组 ID 为 0 (通常是 root)
      - GIDLIST=0                     # 设置容器组 ID 列表为 0
      - NVIDIA_VISIBLE_DEVICES=all    # 允许容器访问所有 NVIDIA 设备
    devices:
      - /dev/dri:/dev/dri             # 将主机的 /dev/dri 设备挂载到容器
    deploy:
      resources:
        reservations:
          devices:
          - driver: nvidia            # 指定使用 NVIDIA 驱动
            count: all                # 使用所有可用的 GPU
            capabilities: [gpu]       # 指定 GPU 能力
    labels:
      - "diun.enable=true"            # 特定的标签,可能用于监控或其他目的
      - "traefik.enable=false"        # 禁用 Traefik 自动配置此服务
      - "traefik.docker.network=traefik"
      - "traefik.http.routers.emby.tls=true"
      - "traefik.http.routers.emby.entryPoints=https"
      - "traefik.http.services.emby.loadbalancer.server.port=8096"

  nginx:
    image: levonet/nginx:latest       # 使用最新版本的 levonet/nginx 镜像
    container_name: emby-nginx        # 容器名称设置为 emby-nginx
    networks:
      - traefik                       # 将此服务连接到 traefik 网络
    restart: always                   # 容器总是重新启动
    volumes:
      - ./nginx_config/nginx.conf:/etc/nginx/nginx.conf       # 挂载 nginx 配置文件
      - ./nginx_config/http.d:/etc/nginx/http.d               # 挂载 nginx http 配置目录
      - ./nginx_config/conf.d:/etc/nginx/conf.d               # 挂载 nginx 附加配置目录
    ports:
      - 8083:80                      # 将容器的 80 端口映射到主机的 8083 端口
    elaoxiongb2cnvironment:
      - TZ=Asia/Shanghai             # 设置容器的时区为亚洲/上海
    labels:
      - "traefik.enable=true"        # 启用 Traefik 自动配置此服务
      - "traefik.docker.network=traefik"
      - "traefik.http.routers.emby-nginx.tls=true"
      - "traefik.http.routers.emby-nginx.entryPoints=https"
      - "traefik.http.routers.emby-nginx.rule=Host(`yourhost.com`) && PathPrefix(`/`)"

2. Plex

3. qBittorrent

version: "2.0"
services:
  qbittorrent:
    image: nevinee/qbittorrent:iyuu # 如想参与测试工作可以指定nevinee/qbittorrent:unstable,如想使用集成了iyuu的版本请指定nevinee/qbittorrent:iyuu
    container_name: qbittorrent
  bobyai  restart: always
    tty: true
    network_mode: host
    hostname: qbitorrent
    stop_grace_period: 10m # 让qBittorrent程序自行退出后再关闭/删除/重启容器的最长时间,如不设置,则docker默认10秒,这时,种子多的qBittorrent可能还没有完全保存好全部需要保存的信息。
    volumes:
      - ./data:/data # 配置保存目录
      - /volume1/影视:/media
    tmpfs:
      - /tmp
    environment:
      # 下面未列出的其他环境变量请根据环境变量清单自行添加
      - WEBUI_PORT=9013 # WEBUI控制端口,可自定义
      - BT_PORT=9014 # BT监听端口,可自定义
      - PUID=1000 # 输入id -u可查询,群晖必须改
      - PGID=100 # 输入id -g可查询,群晖必须改
      - TZ=Asia/Shanghai # 时区设置
      - SavePatch=/volume1/影视
      - TempPatch=/volume1/影视
      - QB_USERNAME=杨海雄
      - QB_PASSWORD=yHx10140599~
    ports:
      - 9013:9013 # 冒号左右一致,必须同WEBUI_PORT一样,本文件中的3个8080要改一起改
      - 9014:9014 # 冒号左右一致,必须同BT_PORT一样,本文件中的5个34567要改一起改
      - 9014:9014/udp # 冒号左右一致,必须同BT_PORT一样,本文件中的5个34567要改一起改
      - 8787:8787 # 如使用的是nevinee/qbittorrent:iyuu标签,请解除本行注释
      #security_opt:       # armv7设备请解除本行和下一行的注释
      #- seccomp=unconfined

4. Sonarr

这里选用的是Sonarr3,也就是preview分支,Sonarr2已经停止添加新功能,进入维护阶段,Sonarr3开始支持中文index,并且内容识别度相比Sonarr2有了很大的提升,对于下载动画片来说,只有Sonarr3能用。
Docker 链接:hub.docker.com/r/linuxserver/sonarr

services:
  sonarr:
    image: lscr.io/linuxserver/sonarr:latest
    container_name: sonarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /path/to/sonarr/data:/config
      - /path/to/tvseries:/tv #optional
      - /path/to/downloadclient-downloads:/downloads #optional
    ports:
      - 8989:8989
    restart: unless-stopped

5. Jackett

Jackett是一个集成了众多种子站的索引index工具,可以通过API接口,把这些种子站的数据提供给Sonarr、Radarr用或者是制作RSS订阅,我自己用到只有Sonarr和Radarr,所以就单捡出Jackett搭配Sonarr来讲。Raddar这一块和Sonarr一样
Docker 链接:hub.docker.com/r/linuxserver/jackett

services:
  jackett:
    image: lscr.io/linuxserver/jackett:latest
    container_name: jackett
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - AUTO_UPDATE=true #optional
      - RUN_OPTS= #optional
    volumes:
      - /path/to/jackett/data:/config
      - /path/to/blackhole:/downloads
    ports:
      - 9117:9117
    restart: unless-stopped

6. Flaresolverr

7. Radarr

8. Compose 整合

二、设置

总结

参考

[Total: 0 Average: 0]
0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!