clusterplex: Docker Compose failed to read dockerfile

Describe the bug I have been at this for a month now trying to get this all to work and met with problem after problem. This is probably not an issue with the actual code/repo but with my setup. I copied the docker-compose.yaml file and adjusted to my setup but when I try to run docker compose, i’m met with this error:

failed to solve: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount3198982547/Dockerfile: no such file or directory

Here is my docker-compse.yaml file:

version: '3.8'

services:
  plex:
    container_name: plex
    build:
      context: ./pms
      dockerfile: ./extended-image/Dockerfile-development
    environment:
      VERSION: docker
      PUID: 1000
      PGID: 1000
      TZ: America/Chicago
      ORCHESTRATOR_URL: http://plex-orchestrator:3500
      PMS_SERVICE: plex     # This service. If you disable Local Relay then you must use PMS_IP instead
      PMS_PORT: "50000"
      TRANSCODE_OPERATING_MODE: both #(local|remote|both)
      TRANSCODER_VERBOSE: "1"   # 1=verbose, 0=silent
      LOCAL_RELAY_ENABLED: "1"
      LOCAL_RELAY_PORT: "32499"
    healthcheck:
      test: curl -fsS http://localhost:32400/identity > /dev/null || exit 1
      interval: 15s
      timeout: 15s
      retries: 5
      start_period: 30s
    volumes:
      - /srv/dockerdata/plex/config:/config
      - /mnt/share/treshare/transcode/plex:/transcode
      - /mnt/share/treshare/Torrents/Completed/TV:/data/tv
      - /mnt/share/treshare/Torrents/Completed/Movies:/data/movies
    ports:
      - 32499:32499   # LOCAL_RELAY_PORT
      - 50000:32400
      - 3005:3005
      - 8324:8324
      - 1900:1900/udp
      - 32410:32410/udp
      - 32412:32412/udp
      - 32413:32413/udp
      - 32414:32414/udp

  plex-orchestrator:
    container_name: plex-orchestrator
    build: ./orchestrator
    healthcheck:
      test: curl -fsS http://localhost:3500/health > /dev/null || exit 1
      interval: 15s
      timeout: 15s
      retries: 5
      start_period: 30s
    environment:
      TZ: America/Chicago
      LISTENING_PORT: 3500
      WORKER_SELECTION_STRATEGY: "LOAD_RANK" # RR | LOAD_CPU | LOAD_TASKS | LOAD_RANK (default)
    volumes:
      - /etc/localtime:/etc/localtime:ro
    ports:
      - 3500:3500

  plex-worker:
    build:
      context: ./worker
      dockerfile: ./extended-image/Dockerfile-development
    deploy:
      mode: replicated
      replicas: 1
    environment:
      VERSION: docker
      PUID: 1000
      PGID: 1000
      TZ: America/Chicago
      LISTENING_PORT: 3501      # used by the healthcheck
      STAT_CPU_INTERVAL: 2000   # interval for reporting worker load metrics
      ORCHESTRATOR_URL: http://plex-orchestrator:3500
      EAE_SUPPORT: "1"
    healthcheck:
      test: curl -fsS http://localhost:3501/health > /dev/null || exit 1
      interval: 15s
      timeout: 15s
      retries: 5
      start_period: 240s
    volumes:
      - /srv/dockerdata/plex/codecs:/codecs
      - /mnt/share/treshare/Torrents/Completed/TV:/data/tv
      - /mnt/share/treshare/Torrents/Completed/Movies:/data/movies
      - /mnt/share/treshare/transcode/plex:/transcode
volumes:
  plex-config:
  transcode-volume:
  codecs:

Here are the directories I have under /srv/dockerdata/plex: image

To Reproduce Steps to reproduce the behavior:

  1. Create a docker-compose.yaml file with code above
  2. try to run `docker compuse up’ on it

Expected behavior Should build and run all the services

Desktop (please complete the following information):

  • OS: Ubuntu 22.04

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 17 (7 by maintainers)

Most upvoted comments

Ah thank you for pointing the replicas out, that is why.

As for the unhealthy containers, it seems that it only registers as healthy when I set the ip to localhost vs the direct IP. Which means running the workers on any remote node for me in this configuration results in all remote node workers displaying unhealthy when they are running fine.

unhealthy worker on remote node:

version: '3.8'

services:
  plex-worker:
    image: ghcr.io/linuxserver/plex:latest
    hostname: "plex-worker-{{.Node.Hostname}}"
    deploy:
      mode: replicated
      replicas: 2
    environment:
      DOCKER_MODS: "ghcr.io/pabloromeo/clusterplex_worker_dockermod:latest"
      VERSION: docker
      PUID: 1000
      PGID: 1000
      TZ: America/Chicago
      LISTENING_PORT: 3501      # used by the healthcheck
      STAT_CPU_INTERVAL: 2000   # interval for reporting worker load metrics
      ORCHESTRATOR_URL: http://192.168.1.71:3500
      EAE_SUPPORT: "1"
    healthcheck:
      test: curl -fsS http://192.168.1.71:3501/health > /dev/null || exit 1
      interval: 15s
      timeout: 15s
      retries: 5
      start_period: 240s
    volumes:
      - /mnt/share/dockerdata/plex/codecs:/codecs # (optional)
      - /mnt/share/dockerdata/dizquetv:/dizquetv
      - /mnt/share/treshare/Torrents/Completed/TV:/tv
      - /mnt/share/treshare/Torrents/Completed/Movies:/movies
      - /mnt/share/treshare/transcode/plex:/transcode
    restart: unless-stopped

Healthy worker on same node as orchestrator/pms:

  plex-worker:
    image: ghcr.io/linuxserver/plex:latest
    hostname: "plex-worker-{{.Node.Hostname}}"
    deploy:
      mode: replicated
      replicas: 2
    environment:
      DOCKER_MODS: "ghcr.io/pabloromeo/clusterplex_worker_dockermod:latest"
      VERSION: docker
      PUID: 1000
      PGID: 1000
      TZ: America/Chicago
      LISTENING_PORT: 3501      # used by the healthcheck
      STAT_CPU_INTERVAL: 2000   # interval for reporting worker load metrics
      ORCHESTRATOR_URL: http://localhost:3500
      EAE_SUPPORT: "1"
    healthcheck:
      test: curl -fsS http://localhost:3501/health > /dev/null || exit 1
      interval: 15s
      timeout: 15s
      retries: 5
      start_period: 240s
    volumes:
      - /mnt/share/dockerdata/plex/codecs:/codecs # (optional)
      - /mnt/share/dockerdata/dizquetv:/dizquetv
      - /mnt/share/treshare/Torrents/Completed/TV:/tv
      - /mnt/share/treshare/Torrents/Completed/Movies:/movies
      - /mnt/share/treshare:/treshare
      - /mnt/share/treshare/transcode/plex:/transcode
    restart: unless-stopped