summaryrefslogtreecommitdiff
path: root/jellyfin/docker-compose.yml
blob: 23785b7183169f080070eb9eed0c2d70fbee8dad (plain)
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
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    user: 1001:1001
    ports:
      - 5000:8096/tcp
      - 7359:7359/udp
    group_add:
      - "44"    # video (for /dev/dri/card0)
      - "992"   # render (for /dev/dri/renderD128)
    devices:
      - /dev/dri:/dev/dri
    volumes:
      - ./config:/config
      - ./cache:/cache
      - type: bind
        source: /srv/
        target: /media
        read_only: true
      - type: bind
        source: /usr/local/share/fonts/
        target: /usr/local/share/fonts/custom
        read_only: true
    restart: unless-stopped
    environment:
      - LIBVA_DRIVER_NAME=i965
    extra_hosts:
      - 'host.docker.internal:host-gateway'

  sonarr:
    image: linuxserver/sonarr
    container_name: sonarr
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=America/Los_Angeles   # Change this to your timezone, e.g. America/Los_Angeles
      - UMASK=002
    ports:
      - 8989:8989
    volumes:
      - ./sonarr-config:/config
      - /srv:/data
    restart: unless-stopped

  radarr:
    image: linuxserver/radarr
    container_name: radarr
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=America/Los_Angeles   # Change this to your timezone, e.g. America/Los_Angeles
      - UMASK=002
    ports:
      - 7878:7878
    volumes:
      - ./radarr-config:/config
      - /srv:/data
    restart: unless-stopped

  prowlarr:
    image: linuxserver/prowlarr
    container_name: prowlarr
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=America/Los_Angeles
      - UMASK=002
    ports:
      - 9696:9696
    volumes:
      - ./prowlarr-config:/config
    restart: unless-stopped

  flaresolverr:
    image: ghcr.io/flaresolverr/flaresolverr:latest
    container_name: flaresolverr
    environment:
      - LOG_LEVEL=info
      - TZ=America/Los_Angeles
    ports:
      - 8191:8191
    restart: unless-stopped

  unpackerr:
    image: golift/unpackerr
    container_name: unpackerr
    user: 1000:1001
    env_file:
      - .env
    environment:
      - TZ=America/Los_Angeles
      - UN_SONARR_0_URL=http://sonarr:8989
      - UN_SONARR_0_API_KEY=${SONARR_API_KEY}
      - UN_SONARR_0_PATHS_0=/data/torrents/downloads
      - UN_SONARR_0_PROTOCOLS=torrent
      - UN_RADARR_0_URL=http://radarr:7878
      - UN_RADARR_0_API_KEY=${RADARR_API_KEY}
      - UN_RADARR_0_PATHS_0=/data/torrents/downloads
      - UN_RADARR_0_PROTOCOLS=torrent
      - UN_CMDHOOK_0_COMMAND=chmod -R g+rw "{{ .Path }}"
      - UN_CMDHOOK_0_EXTRACTED=true
      - UN_CMDHOOK_0_SHELL=true
    volumes:
      - /srv:/data
    restart: unless-stopped

  recyclarr:
    image: ghcr.io/recyclarr/recyclarr
    container_name: recyclarr
    user: 1001:1001
    environment:
      - TZ=America/Los_Angeles
      - CRON_SCHEDULE=0 4 * * *
    volumes:
      - ./recyclarr-config:/config
    restart: unless-stopped

  # If you add a download client later, mount it the same way:
  # qbittorrent:
  #   image: linuxserver/qbittorrent
  #   container_name: qbittorrent
  #   environment:
  #     - PUID=1001
  #     - PGID=1001
  #     - TZ=America/Los_Angeles
  #     - UMASK=002
  #   ports:
  #     - 8080:8080
  #   volumes:
  #     - ./qbittorrent-config:/config
  #     - /srv:/data
  #   restart: unless-stopped