Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP code 400 unexpected: Duplicate mount point #154

Open
hanfreakingsolo opened this issue Oct 25, 2023 · 9 comments
Open

HTTP code 400 unexpected: Duplicate mount point #154

hanfreakingsolo opened this issue Oct 25, 2023 · 9 comments

Comments

@hanfreakingsolo
Copy link

I triggered an update for my plex container through home assistant. The image pulls fine and I see the container get renamed, but after a minute I see this error:

25.10.2023 14:26:54 [info]      Image pulled successfully
Container died: plex (4f0979a2e61aa4c572d2f54112fcf5f441724291fac4897c99c3d98f4f475773)
25.10.2023 14:27:29 [error]     MqDockerUp stopped due to an error
25.10.2023 14:27:29 [error]     object
25.10.2023 14:27:29 [error]     Error: (HTTP code 400) unexpected - Duplicate mount point: /PlexMedia 
    at /app/node_modules/docker-modem/lib/modem.js:343:17
    at getCause (/app/node_modules/docker-modem/lib/modem.js:373:7)
    at Modem.buildPayload (/app/node_modules/docker-modem/lib/modem.js:342:5)
    at IncomingMessage.<anonymous> (/app/node_modules/docker-modem/lib/modem.js:310:16)
    at IncomingMessage.emit (node:events:526:35)
    at IncomingMessage.emit (node:domain:489:12)
    at endReadableNT (node:internal/streams/readable:1359:12)
    at processTicksAndRejections (node:internal/process/task_queues:82:21)
@MichelFR
Copy link
Owner

MichelFR commented Nov 2, 2023

It Seems like you mounted PlexMedia twice.
Creating a Volume for /PlexMedia would probably fix that issue.

Closing for now

@MichelFR MichelFR closed this as completed Nov 2, 2023
@hanfreakingsolo
Copy link
Author

Error: (HTTP code 400) unexpected - Duplicate mount point

I have created a volume, docker compose up works without issue. Here is my compose file:

  plex:
    image: lscr.io/linuxserver/plex:latest
    container_name: plex
    network_mode: host
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
        limits:
          cpus: "0.75"
    environment:
      - PUID=568
      - PGID=568
      - TZ=America/Toronto
      - VERSION=docker
      - PLEX_CLAIM="redacted"
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=compute,video,utility      
    volumes:
      - ./plex/config:/config
      - ./plex/transcode:/transcode
      - PlexMedia:/PlexMedia
    restart: unless-stopped
volumes:
  downloads:
    driver_opts:
      type: "nfs"
      o: "addr=192.168.0.11,nfsvers=4"
      device: ":/mnt/truenasZ2/downloads/qbittorent"
  PlexMedia:
    driver_opts:
      type: "nfs"
      o: "addr=192.168.0.11,nfsvers=4"
      device: ":/mnt/truenasZ2/PlexMedia"

@MichelFR
Copy link
Owner

MichelFR commented Nov 2, 2023

Thanks for sharing your solution!

@hanfreakingsolo
Copy link
Author

Thanks for sharing your solution!

Sorry Michel maybe a misunderstanding. The above is my original compose file, this is what isn't working. I still get the duplicate mount point even with this configuration.
Thanks in advance

@MichelFR
Copy link
Owner

MichelFR commented Nov 2, 2023

could you please try
./PlexMedia:/PlexMedia

instead

PlexMedia:/PlexMedia

@hanfreakingsolo
Copy link
Author

could you please try ./PlexMedia:/PlexMedia

instead

PlexMedia:/PlexMedia

Tried this, but unfortunately it is not a solution as this uses PlexMedia as a local bind mount rather than an NFS share volume. I've had too many headaches mounting my media to the host itself, so mounting in docker via a volume is the only solution. I don't quite understand how watchtower was able to update with this configuration but mqdockerup does not? I much prefer your app to watchtower!
Thanks

@MichelFR
Copy link
Owner

MichelFR commented Nov 2, 2023

Hmm could you please provide me the output of:
docker inspect plex

I might not be handling volumes correctly.

In the next release I’m gonna add some more debug messages so we could analyze this.
I’m also gonna try to fix it.

@MichelFR MichelFR reopened this Nov 2, 2023
@hanfreakingsolo
Copy link
Author

[
    {
        "Id": "da028f67e391ba1e7748ec707cdc4560f84f9a083d3e4d3124a170cf9199b57e",
        "Created": "2023-11-02T14:33:26.393347779Z",
        "Path": "/init",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 2908487,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2023-11-02T14:33:30.984837246Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:31f912e2a484e3b0f5884ffab4cb4029fc7fcdfaca6afb2496cb26ded9bb759f",
        "ResolvConfPath": "/var/lib/docker/containers/da028f67e391ba1e7748ec707cdc4560f84f9a083d3e4d3124a170cf9199b57e/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/da028f67e391ba1e7748ec707cdc4560f84f9a083d3e4d3124a170cf9199b57e/hostname",
        "HostsPath": "/var/lib/docker/containers/da028f67e391ba1e7748ec707cdc4560f84f9a083d3e4d3124a170cf9199b57e/hosts",
        "LogPath": "/var/lib/docker/containers/da028f67e391ba1e7748ec707cdc4560f84f9a083d3e4d3124a170cf9199b57e/da028f67e391ba1e7748ec707cdc4560f84f9a083d3e4d3124a170cf9199b57e-json.log",
        "Name": "/plex",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/opt/mediaApps/plex/config:/config:rw",
                "/opt/mediaApps/plex/transcode:/transcode:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "host",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 750000000,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": [
                {
                    "Driver": "nvidia",
                    "Count": 1,
                    "DeviceIDs": null,
                    "Capabilities": [
                        [
                            "gpu"
                        ]
                    ],
                    "Options": null
                }
            ],
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "Mounts": [
                {
                    "Type": "volume",
                    "Source": "mediaapps_PlexMedia",
                    "Target": "/PlexMedia",
                    "VolumeOptions": {}
                }
            ],
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/61cc89717e51e5eeb9b68d6e41bb25c32433acf672732bb8e17e7b442b463ca4-init/diff:/var/lib/docker/overlay2/f17a32765f6ab13bb7a5ceea072df91cbae22da7b4226e857277b96463630e56/diff:/var/lib/docker/overlay2/8c3165c5545ac1c9d42ae8381c816ae69f723bc95f1f25f2b8f90e41588b290e/diff:/var/lib/docker/overlay2/e227052077093f8cd21a629cc6effd8cdb53139ca96517936b27a90af439d9e7/diff:/var/lib/docker/overlay2/4b5207c68c16b18cb9ef5075a549aa773761b25bf83c5cf2355106bababd72c3/diff:/var/lib/docker/overlay2/3e948fa00bceeb4ac6244d58d32317e34e13f7fd10ba86fa4b1a40fbba00b9d3/diff:/var/lib/docker/overlay2/002d7df986f0b5d3261ed80fe43a59225521535a29790e9599877650e00eee85/diff:/var/lib/docker/overlay2/4d1320ad711cd67db3069d098551d39cfd25df2c8c50fefe4f730e53f2df017a/diff:/var/lib/docker/overlay2/b9fbb26567caa67a92477ff60c15b93cdaf61c4b366d9fc6566d3b2ec369fe38/diff:/var/lib/docker/overlay2/93b5a5ae15a2ee996d2d867c32b224a2e96b9697ad88594ab1806e1585bf473a/diff",
                "MergedDir": "/var/lib/docker/overlay2/61cc89717e51e5eeb9b68d6e41bb25c32433acf672732bb8e17e7b442b463ca4/merged",
                "UpperDir": "/var/lib/docker/overlay2/61cc89717e51e5eeb9b68d6e41bb25c32433acf672732bb8e17e7b442b463ca4/diff",
                "WorkDir": "/var/lib/docker/overlay2/61cc89717e51e5eeb9b68d6e41bb25c32433acf672732bb8e17e7b442b463ca4/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/opt/mediaApps/plex/transcode",
                "Destination": "/transcode",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "volume",
                "Name": "mediaapps_PlexMedia",
                "Source": "/var/lib/docker/volumes/mediaapps_PlexMedia/_data",
                "Destination": "/PlexMedia",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "bind",
                "Source": "/opt/mediaApps/plex/config",
                "Destination": "/config",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "ubuntuserver",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "1900/udp": {},
                "32400/tcp": {},
                "32410/udp": {},
                "32412/udp": {},
                "32413/udp": {},
                "32414/udp": {},
                "32469/tcp": {},
                "5353/udp": {},
                "8324/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PLEX_CLAIM=\"my-claim\"",
                "NVIDIA_VISIBLE_DEVICES=all",
                "NVIDIA_DRIVER_CAPABILITIES=compute,video,utility",
                "PUID=568",
                "PGID=568",
                "TZ=America/Toronto",
                "VERSION=docker",
                "PATH=/lsiopy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "HOME=/root",
                "LANGUAGE=en_US.UTF-8",
                "LANG=en_US.UTF-8",
                "TERM=xterm",
                "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0",
                "S6_VERBOSITY=1",
                "S6_STAGE2_HOOK=/docker-mods",
                "VIRTUAL_ENV=/lsiopy",
                "LSIO_FIRST_PARTY=true",
                "DEBIAN_FRONTEND=noninteractive",
                "PLEX_DOWNLOAD=https://downloads.plex.tv/plex-media-server-new",
                "PLEX_ARCH=amd64",
                "PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=/config/Library/Application Support",
                "PLEX_MEDIA_SERVER_HOME=/usr/lib/plexmediaserver",
                "PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6",
                "PLEX_MEDIA_SERVER_USER=abc",
                "PLEX_MEDIA_SERVER_INFO_VENDOR=Docker",
                "PLEX_MEDIA_SERVER_INFO_DEVICE=Docker Container (LinuxServer.io)"
            ],
            "Cmd": null,
            "Image": "lscr.io/linuxserver/plex:latest",
            "Volumes": {
                "/config": {}
            },
            "WorkingDir": "/",
            "Entrypoint": [
                "/init"
            ],
            "OnBuild": null,
            "Labels": {
                "build_version": "Linuxserver.io version:- 1.32.7.7621-871adbd44-ls192 Build-date:- 2023-10-30T20:26:57+00:00",
                "com.centurylinklabs.watchtower.enable": "true",
                "com.docker.compose.config-hash": "c0c09a4ee39127abe422cdee496d7ca1a2c7eca84370e7c4a8ed5a62a664d517",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:31f912e2a484e3b0f5884ffab4cb4029fc7fcdfaca6afb2496cb26ded9bb759f",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "mediaapps",
                "com.docker.compose.project.config_files": "/opt/mediaApps/docker-compose.yaml",
                "com.docker.compose.project.working_dir": "/opt/mediaApps",
                "com.docker.compose.replace": "1b8437e90de2ee862a01f927eabf16617c0a31984cf80ab72daf6c3fa742163a",
                "com.docker.compose.service": "plex",
                "com.docker.compose.version": "2.21.0",
                "maintainer": "thelamer",
                "org.opencontainers.image.authors": "linuxserver.io",
                "org.opencontainers.image.created": "2023-10-30T20:26:57+00:00",
                "org.opencontainers.image.description": "[Plex](https://plex.tv) organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices. This container is packaged as a standalone Plex Media Server. Straightforward design and bulk actions mean getting things done faster.",
                "org.opencontainers.image.documentation": "https://docs.linuxserver.io/images/docker-plex",
                "org.opencontainers.image.licenses": "GPL-3.0-only",
                "org.opencontainers.image.ref.name": "02f8e58e475ca5951e65cd2513146876a885dcc9",
                "org.opencontainers.image.revision": "02f8e58e475ca5951e65cd2513146876a885dcc9",
                "org.opencontainers.image.source": "https://github.com/linuxserver/docker-plex",
                "org.opencontainers.image.title": "Plex",
                "org.opencontainers.image.url": "https://github.com/linuxserver/docker-plex/packages",
                "org.opencontainers.image.vendor": "linuxserver.io",
                "org.opencontainers.image.version": "1.32.7.7621-871adbd44-ls192"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "c68eb6b07758072f25696d3eb97b5a0e59c74c076ac1c9864694eeeb446b8033",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/default",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "host": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "0a0d8c9f1250d4f1b70dacf0ad2a8f3fe3b7c29a491d4f06e6596a6c2200d824",
                    "EndpointID": "f5fd469678f7ee837e1e28260e21193a4c308ab177ef557bf338e742ecde0a31",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }
    }
]

@pvh0
Copy link

pvh0 commented Jan 30, 2024

Had the same issue here with the following docker command to startup the initial container:

docker run -it -p 8091:8091 -p 3000:3000 --name zwavejsui --device=/dev/ttyUSB-zwave:/dev/zwave --mount type=bind,source=/volume1/homes/username/docker/zwave2jsui/_data,target=/usr/src/app/store zwavejs/zwave-js-ui:latest

Modified the code so it looks like this (--mount changed to -v) and updating works flawlessly:

docker run -p 8091:8091 -p 3000:3000 --name zwavejsui --device=/dev/ttyUSB-zwave:/dev/zwave -v /volume1/homes/username/docker/zwave2jsui/_data:/usr/src/app/store zwavejs/zwave-js-ui:latest

Hope it helps with debugging

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants