forked from pabloromeo/clusterplex
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCluster-Plex.yml
109 lines (105 loc) · 3.52 KB
/
Cluster-Plex.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
version: '3.8'
services:
server:
image: ghcr.io/felixclements/clusterplex_pms:master
environment:
VERSION: docker
PUID: 1000
PGID: 1000
TZ: Europe/London
ORCHESTRATOR_URL: http://orchestrator:3500
PMS_SERVICE: server # This service. If you disable Local Relay then you must use PMS_IP instead
PMS_PORT: "32400"
TRANSCODE_OPERATING_MODE: remote #(local|remote|both)
TRANSCODER_VERBOSE: "1" # 1=verbose, 0=silent
LOCAL_RELAY_ENABLED: "1"
LOCAL_RELAY_PORT: "32499"
FFMPEG_HWACCEL: vaapi
LIBVA_DRIVER_NAME: iHD
healthcheck:
test: curl -fsS http://localhost:32400/identity > /dev/null || exit 1
interval: 15s
timeout: 15s
retries: 5
start_period: 30s
volumes:
- /path/to/config:/config
- /path/to/shared/media/TV:/data/tv
- /path/to/shared/media/Music:/data/music
- /path/to/shared/media/Films:/data/movies
- /path/to/shared/plex_server/transcode:/transcode
- /path/to/shared/plex_server/Drivers:/config/Library/Application Support/Plex Media Server/Drivers # Needed for hardware transcoding
- /path/to/shared/plex_server/Cache:/config/Library/Application Support/Plex Media Server/Cache # Needed for hardware transcoding
- /dev/dri/:/dev/dri/ # intel GPU
devices:
- /dev/dri:/dev/dri
networks:
- network_public
ports:
- 32499:32499 # LOCAL_RELAY_PORT
- 32400:32400
- 3005:3005
- 8324:8324
- 1900:1900/udp
- 32410:32410/udp
- 32412:32412/udp
- 32413:32413/udp
- 32414:32414/udp
orchestrator:
image: ghcr.io/felixclements/clusterplex_orchestrator:master
update_config:
order: start-first
healthcheck:
test: curl -fsS http://localhost:3500/health > /dev/null || exit 1
interval: 15s
timeout: 15s
retries: 5
start_period: 30s
environment:
TZ: Europe/London
LISTENING_PORT: 3500
WORKER_SELECTION_STRATEGY: "LOAD_TASKS" # RR | LOAD_CPU | LOAD_TASKS | LOAD_RANK (default)
volumes:
- /etc/localtime:/etc/localtime:ro
networks:
- network_public
ports:
- 3500:3500
worker:
image: ghcr.io/felixclements/clusterplex_worker:master
hostname: "plex-worker-{{.Node.Hostname}}"
deploy:
mode: global
environment:
VERSION: docker
PUID: 1000
PGID: 1000
TZ: Europe/London
LISTENING_PORT: 3501 # used by the healthcheck
STAT_CPU_INTERVAL: 2000 # interval for reporting worker load metrics
ORCHESTRATOR_URL: http://orchestrator:3500
EAE_SUPPORT: "1"
FFMPEG_HWACCEL: vaapi
LIBVA_DRIVER_NAME: iHD
healthcheck:
test: curl -fsS http://localhost:3501/health > /dev/null || exit 1
interval: 15s
timeout: 15s
retries: 5
start_period: 240s
volumes:
- /path/to/plex_worker/codecs:/codecs # (optional)
- /path/to/shared/media/TV:/data/tv
- /path/to/shared/media/Films:/data/movies
- /path/to/shared/media/Music:/data/music
- /path/to/shared/plex_server/transcode:/transcode
- /path/to/shared/plex_server/Drivers:/config/Library/Application Support/Plex Media Server/Drivers # Needed for hardware transcoding
- /path/to/shared/plex_server/Cache:/config/Library/Application Support/Plex Media Server/Cache # Needed for hardware transcoding
- /dev/dri/:/dev/dri/ # intel GPU
devices:
- /dev/dri:/dev/dri
networks:
- network_public
networks:
network_public:
external: true