-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
194 lines (179 loc) · 6.22 KB
/
docker-compose.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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
version: '3.8'
# NETWORKS
networks:
default:
driver: bridge
internal:
name: internal
driver: bridge
external: false
# ipam:
# config:
# - subnet: 192.168.90.0/24
# SECRETS
secrets:
plex_claim:
file: $DOCKERDIR/secrets/plex_claim
# EXTENSION FIELDS
## Common environment values
x-environment: &default-tz-puid-pgid
TZ: ${TZ:?}
PUID: ${PUID:?}
PGID: ${PGID:?}
## Network and security
x-network-and-security: &network-and-security
networks:
- default
security_opt:
- no-new-privileges:true
## Common keys - main
x-common-keys-core: &common-keys-core
<<: *network-and-security
restart: unless-stopped
# SERVICES
services:
# Yacht - Container management UI
# Default login: [email protected]:pass
# Mem graphs not working on ARM: https://yacht.sh/docs/Installation/ARM/
yacht:
image: selfhostedpro/yacht:latest
container_name: yacht
<<: *common-keys-core
ports:
- ${YACHT_PORT:-8000}:8000
volumes:
- $DOCKERDIR/appdata/yacht:/config
- /var/run/docker.sock:/var/run/docker.sock
environment:
<<: *default-tz-puid-pgid
DISABLE_AUTH: true # Do not use if service is exposed!
COMPOSE_DIR: $DOCKERDIR
# Plex - Media server
plex:
image: lscr.io/linuxserver/plex:arm32v7-latest
container_name: plex
<<: *common-keys-core
ports:
- ${PLEX_PORT:-32400}:32400/tcp
- 3005:3005/tcp # Optional, Plex Companion
# - 8324:8324/tcp # Optional, Roku via Plex Companion
# - 1900:1900/udp # Optional, Plex DLNA Server
- 32410:32410/udp # Optional, GDM network discovery
- 32412:32412/udp # Optional, GDM network discovery
- 32413:32413/udp # Optional, GDM network discovery
- 32414:32414/udp # Optional, GDM network discovery
- 32469:32469/tcp # Optional, Plex DLNA Server
volumes:
- $DOCKERDIR/appdata/plex:/config
- $DATADIR/downloads:/data/downloads
- $DATADIR/media/video:/data/media
# Optional: store large data dirs aside to reduce backup size
# - $DATADIR/docker/appdata/plex/Library/Application Support/Plex Media Server/Cache:/config/Library/Application Support/Plex Media Server/Cache
# - $DATADIR/docker/appdata/plex/Library/Application Support/Plex Media Server/Metadata:/config/Library/Application Support/Plex Media Server/Metadata
# - $DATADIR/docker/appdata/plex/Library/Application Support/Plex Media Server/Media:/config/Library/Application Support/Plex Media Server/Media
environment:
TZ: $TZ
PLEX_UID: $PUID
PLEX_GID: $PGID
VERSION: docker
#PLEX_CLAIM_FILE: /run/secrets/plex_claim # https://www.plex.tv/claim/
secrets:
- plex_claim
# Jellyfin - Free media server alternative to Emby & Plex
# Note: you may want to allocate extra memory for the GPU using OpenMAX
jellyfin:
image: lscr.io/linuxserver/jellyfin:arm32v7-latest
container_name: jellyfin
<<: *common-keys-core
ports:
- ${JELLYFIN_PORT:-8096}:8096 # HTTP Web UI
- 8920:8920 # Optional, HTTPS Web UI
- 7359:7359/udp # Optional, local network discovery
- 1900:1900/udp # Optional, DNLA service discovery
volumes:
- $DOCKERDIR/appdata/jellyfin:/config
- $DATADIR/media/video/movies:/data/movies
- $DATADIR/media/video/tv shows:/data/tvshows
- /opt/vc/lib:/opt/vc/lib # RPi OpenMAX HW acceleration
devices:
- /dev/vchiq:/dev/vchiq # RPi OpenMAX HW acceleration
- /dev/vcsm:/dev/vcsm # RPi OpenMAX HW acceleration
# - /dev/vcsm-cma:/dev/vcsm-cma # Alternative to the above
# - /dev/video10:/dev/video10 # RPi V4L2 HW acceleration
# - /dev/video11:/dev/video11 # RPi V4L2 HW acceleration
# - /dev/video12:/dev/video12 # RPi V4L2 HW acceleration
environment:
<<: *default-tz-puid-pgid
# - JELLYFIN_PublishedServerUrl=192.168.0.5 # Optional
# qBittorrent - open-source software alternative to µTorrent
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:arm32v7-latest
container_name: qbittorrent
<<: *common-keys-core
ports:
- ${QBITTORRENT_PORT:-8080}:8080
- 6881:6881
- 6881:6881/udp
environment:
<<: *default-tz-puid-pgid
WEBUI_PORT: 8080
volumes:
- $DOCKERDIR/appdata/qbittorrent/:/config
- $DATADIR/downloads/torrents:/downloads
# Prowlarr - Indexer management and proxy
prowlarr:
image: lscr.io/linuxserver/prowlarr:arm32v7-develop
container_name: prowlarr
<<: *common-keys-core
ports:
- ${PROWLARR_PORT:-9696}:9696
volumes:
- $DOCKERDIR/appdata/prowlarr:/config
environment:
<<: *default-tz-puid-pgid
UMASK: 0023
# Radarr - Movie management
radarr:
image: lscr.io/linuxserver/radarr:arm32v7-latest
container_name: radarr
<<: *common-keys-core
ports:
- ${RADARR_PORT:-7878}:7878
volumes:
- "/etc/localtime:/etc/localtime:ro"
- $DOCKERDIR/appdata/radarr:/config
- $DATADIR/downloads:/data/downloads
- $DATADIR/media/video:/data/media
# Optional: store large data dirs aside to reduce backup size
# - $DATADIR/docker/appdata/radarr/MediaCover:/config/MediaCover
environment:
<<: *default-tz-puid-pgid
# Sonarr - TV shows management
# Set url_base in sonarr settings if using PathPrefix
sonarr:
image: lscr.io/linuxserver/sonarr:arm32v7-latest
container_name: sonarr
<<: *common-keys-core
ports:
- ${SONARR_PORT:-8989}:8989
volumes:
- "/etc/localtime:/etc/localtime:ro"
- $DOCKERDIR/appdata/sonarr:/config
- $DATADIR/downloads:/data/downloads
- $DATADIR/media/video:/data/media
# Optional: store large data dirs aside to reduce backup size
# - $DATADIR/docker/appdata/sonarr/MediaCover:/config/MediaCover
environment:
<<: *default-tz-puid-pgid
# Bazarr - Subtitle management
bazarr:
image: lscr.io/linuxserver/bazarr:arm32v7-latest
container_name: bazarr
<<: *common-keys-core
ports:
- ${BAZARR_PORT:-6767}:6767
volumes:
- $DOCKERDIR/appdata/bazarr:/config
- $DATADIR/media/video:/data/media
environment:
<<: *default-tz-puid-pgid