Post

Arr for the Media

Arrrrr

This is yaml file for installing sonarr, radarr, lidarr, homarr, jellyseerr prowlarr, flaresolverr, jellyfin, watchtower, transmission and filebrowser using alpine linux and docker compose.

Copy docker script mentioned in the script

It is using https://tteck.github.io/Proxmox/ starter for container creation. The Guy who made did an amazing work.

After this Go inside the container you created and login with root and whatever password you saved while installation.

After successful login check IP address and keep a note of it or if you have DNS configured you can use the hostname of the machine.

1
ip a

Lets create folders first

1
mkdir -p /data/media/tv /data/media/music /data/media/movies /data/torrents/tv /data/torrents/music /data/torrents/movies arr

How to remove folder and all its content if you messed up creating folder or wanted to use custom folder –edit accordingly.

1
rm -r /data

Permissions

This you can keep as 755 or 777.

1
2
chown -R $USER:$USER /data
chmod -R 777 /data

Creation

Now go into “arr” folder and create a docker-compose.yml file.

1
2
cd arr
nano docker-compose.yml

Paste this content into docker-compose.yml and press –ctrl+x– and press –Enter– to save it.

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
---
services:
  sonarr:
    container_name: sonarr
    image: linuxserver/sonarr:latest
    restart: unless-stopped
    ports:
      - 8989:8989
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
    volumes:
      - ./sonarr:/config
      - /data:/data
  radarr:
    container_name: radarr
    image: linuxserver/radarr:latest
    restart: unless-stopped
    ports:
      - 7878:7878
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
    volumes:
      - ./radarr:/config
      - /data:/data
  lidarr:
    container_name: lidarr
    image: linuxserver/lidarr:latest
    restart: unless-stopped
    ports:
      - 8686:8686
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
    volumes:
      - ./lidarr:/config
      - /data:/data
  prowlarr:
    container_name: prowlarr
    image: lscr.io/linuxserver/prowlarr:latest
    restart: unless-stopped
    ports:
      - 9696:9696
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
    volumes:
      - ./prowlarr:/config
  jellyseerr:
    container_name: jellyseerr
    image: fallenbagel/jellyseerr:latest
    restart: unless-stopped
    ports:
      - 5055:5055
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm 
    volumes:
      - ./jellyseerr:/app/config
  flaresolverr:
    container_name: flaresolverr
    image: ghcr.io/flaresolverr/flaresolverr:latest
    restart: unless-stopped
    ports:
      - 8191:8191
    environment:
      - LOG_LEVEL=${LOG_LEVEL:-info}
      - LOG_HTML=${LOG_HTML:-false}
      - CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
    volumes:
      - ./flaresolverr:/config
  jellyfin:
    container_name: jellyfin
    image: linuxserver/jellyfin:latest
    restart: unless-stopped
    ports:
      - 8096:8096
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
    volumes:
      - ./jellyfin:/config
      - /data/media:/data/media
  transmission:
    container_name: transmission
    image: linuxserver/transmission:latest
    restart: unless-stopped
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
    volumes:
      - ./transmission:/config
      - /data/torrents:/data/torrents:rw
  ytdl_material:
      environment: 
          ytdl_mongodb_connection_string: 'mongodb://ytdl-mongo-db:27017'
          ytdl_use_local_db: 'false'
          write_ytdl_config: 'true'
      restart: unless-stopped
      depends_on:
          - ytdl-mongo-db
      volumes:
          - ./ytdl/appdata:/app/appdata
          - /data/media/ytdl/audio:/app/audio
          - /data/media/ytdl/video:/app/video
          - /data/media/ytdl/subscriptions:/app/subscriptions
          - /data/media/ytdl/users:/app/users
      ports:
          - 8998:17442
      image: tzahi12345/youtubedl-material:latest
  ytdl-mongo-db:
      image: mongo:4
      logging:
          driver: none          
      container_name: mongo-db
      restart: unless-stopped
      volumes:
          - ./ytdl/db/:/data/db
  filebrowser:
    container_name: filebrowser
    image: filebrowser/filebrowser:latest
    restart: unless-stopped
    ports:
      - 8080:80
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
      - FB_NOAUTH=true
    volumes:
      - ./filebrowser:/config
      - /:/srv
  homarr:
    container_name: homarr
    image: ghcr.io/ajnart/homarr:latest
    restart: unless-stopped
    ports:
      - 80:7575
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./homarr/configs:/app/data/configs
      - ./homarr/icons:/app/public/icons
      - ./homarr/data:/data
  watchtower:
    container_name: watchtower
    image: containrrr/watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Stockholm
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_POLL_INTERVAL=604800

Execution

docker compose up -d

Now let it rip and download everything and then go to your ip address and start configuring the services on Homarr dashboard.

filebrowser = IP:8080

flaresolverr = IP:8191

jellyseerr = IP:5055

jellyfin = IP:8096

prowlarr = IP:9696

lidarr = IP:8686

radarr = IP:7878

sonarr = IP:8989

transmission = IP:9091

This post is licensed under CC BY 4.0 by the author.