
remirigal/plex-auto-languages:
yaml--- apiVersion: v1 kind: Namespace metadata: name: plex-auto-languages # 命名空间 --- apiVersion: apps/v1 kind: Deployment metadata: name: plex-auto-languages namespace: plex-auto-languages labels: app: plex-auto-languages spec: replicas: 1 selector: matchLabels: app: plex-auto-languages tier: backend strategy: type: Recreate template: metadata: labels: app: plex-auto-languages tier: backend name: plex-auto-languages spec: containers: - name: plex-auto-languages image: remirigal/plex-auto-languages:latest env: - name: TZ value: Europe/Paris # 时区 volumeMounts: - mountPath: /config name: plex-auto-languages-config - mountPath: /config/config.yaml name: plex-auto-languages-yaml subPath: config.yaml dnsConfig: # 取决于集群设置;使外部plex名称可解析 options: - name: ndots value: "1" volumes: - name: plex-auto-languages-config persistentVolumeClaim: claimName: plex-auto-languages-config - name: plex-auto-languages-yaml configMap: name: plex-auto-languages-yaml --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: plex-auto-languages-config namespace: plex-auto-languages labels: app: plex-auto-languages spec: accessModes: - ReadWriteOnce # 取决于您的设置;默认通常可行,显式设置更佳 storageClassName: longhorn resources: requests: storage: 100Mi # 存储请求 --- apiVersion: v1 kind: ConfigMap metadata: name: plex-auto-languages-yaml namespace: plex-auto-languages labels: app: plex-auto-languages data: config.yaml: |+ plexautolanguages: update_level: "show" # ... 省略其他内容。将默认配置文件粘贴到此处,缩进在`config.yaml:`下
本应用需要Python 3,仅在Python 3.8及更高版本测试通过。
首先克隆仓库:
bashgit clone ***:RemiRigal/Plex-Auto-Languages.git
安装依赖:
bashcd Plex-Auto-Languages python3 -m pip install -r requirements.txt
根据配置部分的模板创建YAML配置文件(例如config.yaml),注意仅需plex.url和plex.token参数为必填项。
启动PlexAutoLanguages(如配置文件名不同,请修改):
bashpython3 main.py -c ./config.yaml
应用可通过环境变量或挂载在/config/config.yaml的YAML文件配置。本节列出的所有参数均可通过环境变量覆盖(例如,环境变量PLEX_URL会覆盖参数plex.url,NOTIFICATIONS_ENABLE会覆盖notifications.enable等)。
Plex Token也可通过Docker Secret提供,此时需通过环境变量PLEX_TOKEN_FILE指定Secret文件路径,默认为/run/secrets/plex_token。
以下是完整配置文件示例:
yamlplexautolanguages: # 更新整个电视剧还是仅当前季的语言 # 接受值: # - show(默认) # - season update_level: "show" # 更新整个电视剧/季的所有剧集还是仅后续剧集 # 接受值: # - all(默认) # - next update_strategy: "all" # 播放文件时是否触发语言更新,默认true trigger_on_play: true # 扫描库中新文件时是否触发语言更新,默认true # 新添加的剧集将根据最近观看的剧集更新语言,如从未观看则根据该剧集的第一集 trigger_on_scan: true # 浏览Plex库时是否触发语言更新,默认false # 仅Plex Web客户端和Plex for Windows应用支持此功能 # 仅当您希望在剧集未播放时更新默认音轨时设为true # 设为true可能增加资源占用 trigger_on_activity: false # Plex服务器扫描自身库时是否刷新缓存的库,默认true # 禁用此参数将阻止PlexAutoLanguages检测已有剧集的更新文件 # 如您的电视剧库较大(10k+剧集),建议禁用 refresh_library_on_scan: true # PlexAutoLanguages将忽略带有以下任何Plex标签的剧集 ignore_labels: - PAL_IGNORE # Plex配置 plex: # 有效的Plex URL(必填) url: "[***]" # 有效的Plex Token(必填) token: "MY_PLEX_TOKEN" scheduler: # 是否启用调度器,默认true # 调度器将对所有最近播放的电视剧进行深度分析 enable: true # 调度器任务开始时间,格式'HH:MM',默认'02:00' schedule_time: "04:30" notifications: # 是否通过Apprise启用通知,默认false # 语言更改时发送通知 enable: true # Apprise配置数组,详见Apprise文档:[***] # 可指定'users'数组将通知URL与特定用户关联 # 如未指定,默认对所有用户生效 # 可指定'events'数组仅针对特定事件发送通知 # 有效事件值:"play_or_activity" "new_episode" "updated_episode" "scheduler" # 如未指定,默认对所有事件生效 apprise_configs: # 此URL将接收所有事件的所有更改通知 - "***://webhook_id/webhook_token" # 这些URL仅接收用户"MyUser1"和"MyUser2"的语言更改通知 - urls: - "gotify://hostname/token" - "pover://user@token" users: - "MyUser1" - "MyUser2" # 此URL仅接收用户"MyUser3"在播放或活动事件中的语言更改通知 - urls: - "tgram://bottoken/ChatID" users: - "MyUser3" events: - "play_or_activity" # 此URL仅接收调度器任务期间的语言更改通知 - urls: - "gotify://hostname/token" events: - "scheduler" - "..." # 是否启用调试模式,默认false # 启用调试模式将显著增加日志输出量 debug: false
本应用基于MIT许可证授权。




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务