northsea4 / mdcx-docker

在Docker容器中运行 MDCX,并通过Web界面或远程桌面进行控制。Run MDCX in a Docker container, accessible and controllable via a web interface or remote desktop.
GNU General Public License v3.0
570 stars 69 forks source link

[BUG] <标题> 看不到文件 #44

Closed chunyaoyang closed 2 months ago

chunyaoyang commented 2 months ago

是否存在已有问题?

问题描述

我用mdcx-builtin-gui-base的docker pose脚本部属成功, 但执行mdcx后检视movies资料夹却看不到任何档案, log显示[app ] inotify_add_watch(/movies) failed: (Permission denied), uid和gid是设定成0。请问有人有经验怎么解决此问题吗?

预期表现

No response

复现步骤

执行mdcx后检视movies资料夹却看不到任何档案。

环境

- 操作系统:Synology DS920+ DSM 7.2.1-69057 Update 4
- Docker服务安装方式:使用portainer部属docker pose脚本並匯入env脚本文件

CPU架构

amd64

使用的镜像

mdcx-builtin-gui-base

Docker创建方式

version: '3'

services:
  mdcx:
    image: stainless403/mdcx-builtin-gui-base:latest
    container_name: mdcx

    volumes:
      # 系统数据目录
      - /volume1/docker/mdcx-docker/data:/config

      # 配置文件目录
      - /volume1/docker/mdcx-docker/mdcx-config:/mdcx-config
      # `配置文件目录`标记文件
      - /volume1/docker/mdcx-docker/mdcx-config/MDCx.config:/app/MDCx.config

      # 日志目录
      - /volume1/docker/mdcx-docker/logs:/app/Log

      # 影片目录
      - /volume1/videos/:/movies
    ports:
      - 5800:5800
      - 5900:5900
    restart: unless-stopped
    network_mode: bridge
    stdin_open: true

容器日志

[supervisor  ] starting service 'xvnc'...,
[xvnc        ] Xvnc TigerVNC 1.12.0 - built Feb 14 2023 18:02:00,
[xvnc        ] Copyright (C) 1999-2021 TigerVNC Team and many others (see README.rst),
[xvnc        ] See https://www.tigervnc.org for information on TigerVNC.,
[xvnc        ] Underlying X server release 12013000, The X.Org Foundation,
[xvnc        ] Wed Jul  3 21:40:36 2024,
[xvnc        ]  vncext:      VNC extension running!,
[xvnc        ]  vncext:      Listening for VNC connections on /tmp/vnc.sock (mode 0660),
[xvnc        ]  vncext:      Listening for VNC connections on all interface(s), port 5900,
[xvnc        ]  vncext:      created VNC server for screen 0,
[supervisor  ] starting service 'nginx'...,
[nginx       ] Listening for HTTP connections on port 5800.,
[supervisor  ] starting service 'openbox'...,
[supervisor  ] starting service 'app'...,
[app         ] 🔘 执行cacert.pem缺失问题的临时修复脚本,
[app         ] ⏳ 启动MDCx...,
[app         ] nohup: appending output to 'nohup.out',
[supervisor  ] all services started.,
[xvnc        ] Wed Jul  3 21:41:02 2024,
[xvnc        ]  Connections: accepted: /tmp/vnc.sock,
[xvnc        ]  SConnection: Client needs protocol version 3.8,
[xvnc        ] Wed Jul  3 21:41:03 2024,
[xvnc        ]  SConnection: Client requests security type None(1),
[xvnc        ]  VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888,
[xvnc        ]  VNCSConnST:  Client pixel format depth 24 (32bpp) little-endian bgr888,
[xvnc        ]  ComparingUpdateTracker: 0 pixels in / 0 pixels out,
[xvnc        ]  ComparingUpdateTracker: (1:-nan ratio),
[app         ] inotify_add_watch(/movies) failed: (Permission denied),
northsea4 commented 2 months ago

你的compose没有指定USER_ID和GROUP_ID环境变量

chunyaoyang commented 2 months ago

我以为.env里有设定...compose加入USER_ID和GROUP_ID变量问题就解决了,谢谢。

northsea4 commented 2 months ago

示例.env文件里是有USER_IDGROUP_ID的: https://github.com/northsea4/mdcx-docker/blob/b43a992d32df82defeaf53ba33848f458fc92bf8/gui-base/.env.sample#L41-L43

我查询到的资料是跟docker-compose.yml文件在同一目录下的.env文件是会被自动读取的,另外我写的部署示例里就使用了env_file这个选项指定了.env文件。

也就是说,如果你没有设置env_file选项,那应该确保有.env文件跟docker-compose.yml文件在同一目录下。

portainer我很少用,不太清楚它在这方面的处理逻辑。