doc: Improve document
This commit is contained in:
parent
f3aa48eb8e
commit
28092de55f
78
README.md
78
README.md
@ -1,4 +1,13 @@
|
|||||||
# Install media stack
|
# media-stack
|
||||||
|
|
||||||
|
A stack of self-hosted media managers and streamer along with VPN.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- Docker version 23.0.5
|
||||||
|
- Docker compose version v2.17.3
|
||||||
|
|
||||||
|
## Install media stack
|
||||||
|
|
||||||
There are two media stacks available.
|
There are two media stacks available.
|
||||||
|
|
||||||
@ -6,23 +15,25 @@ There are two media stacks available.
|
|||||||
|
|
||||||
`stack-2` This stack contains Jellyfin, Radarr, Sonarr, Prowlarr, qBitTorrent and VPN.
|
`stack-2` This stack contains Jellyfin, Radarr, Sonarr, Prowlarr, qBitTorrent and VPN.
|
||||||
|
|
||||||
Any one of them can be deployed using --profile option with docker-compose.
|
Any one of them can be deployed using `--profile` option with docker compose command.
|
||||||
|
|
||||||
|
Specific tool which is not present in a stack can also be included using their profile name in `--profile`. For example, to include prowlarr with stack-1 we can use `--profile stack-1 --profile prowlarr` with docker compose command.
|
||||||
|
|
||||||
```
|
```
|
||||||
docker network create mynetwork
|
docker network create mynetwork
|
||||||
|
|
||||||
# Install Jellyfin, Radarr, Sonarr, Jackett and Transmission stack
|
# Install Jellyfin, Radarr, Sonarr, Jackett and Transmission stack
|
||||||
docker-compose --profile stack-1 up -d
|
docker compose --profile stack-1 up -d
|
||||||
|
|
||||||
# Or, Install Jellyfin, Radarr, Sonarr, Prowlarr, qBitTorrent and VPN stack
|
# Or, Install Jellyfin, Radarr, Sonarr, Prowlarr, qBitTorrent and VPN stack
|
||||||
## By default NordVPN is configured. This can be changed to ExpressVPN, SurfShark, OpenVPN or Wireguard VPN by updating docker-compose.yml file. It uses OpenVPN type for all providers.
|
## By default NordVPN is configured. This can be changed to ExpressVPN, SurfShark, OpenVPN or Wireguard VPN by updating docker-compose.yml file. It uses OpenVPN type for all providers.
|
||||||
|
|
||||||
VPN_SERVICE_PROVIDER=nordvpn OPENVPN_USER=openvpn-username OPENVPN_PASSWORD=openvpn-password SERVER_REGIONS=Switzerland docker-compose --profile stack-2 up -d
|
VPN_SERVICE_PROVIDER=nordvpn OPENVPN_USER=openvpn-username OPENVPN_PASSWORD=openvpn-password SERVER_REGIONS=Switzerland docker compose --profile stack-2 up -d
|
||||||
|
|
||||||
docker-compose -f docker-compose-nginx.yml up -d # OPTIONAL to use Nginx as reverse proxy
|
docker compose -f docker-compose-nginx.yml up -d # OPTIONAL to use Nginx as reverse proxy
|
||||||
```
|
```
|
||||||
|
|
||||||
# Configure Transmission / qBittorrent
|
## Configure Transmission / qBittorrent
|
||||||
|
|
||||||
For qBitTorrent,
|
For qBitTorrent,
|
||||||
|
|
||||||
@ -31,24 +42,24 @@ For qBitTorrent,
|
|||||||
|
|
||||||
For qBiTorrent / Transmission
|
For qBiTorrent / Transmission
|
||||||
|
|
||||||
- From backend, Run below commands
|
- Run below commands
|
||||||
|
|
||||||
```
|
```
|
||||||
# docker exec -it transmission bash # Get inside transmission container, OR
|
|
||||||
docker exec -it qbittorrent bash # Get inside qBittorrent container
|
docker exec -it qbittorrent bash # Get inside qBittorrent container
|
||||||
|
# OR, docker exec -it transmission bash # Get inside transmission container
|
||||||
|
|
||||||
mkdir /downloads/movies /downloads/tvshows
|
mkdir /downloads/movies /downloads/tvshows
|
||||||
chown 1000:1000 /downloads/movies /downloads/tvshows
|
chown 1000:1000 /downloads/movies /downloads/tvshows
|
||||||
```
|
```
|
||||||
|
|
||||||
# Add indexer to Jackett
|
## Add indexer to Jackett
|
||||||
|
|
||||||
- Open Jackett UI at http://localhost:9117
|
- Open Jackett UI at http://localhost:9117
|
||||||
- Add indexer
|
- Add indexer
|
||||||
- Search for torrent indexer (e.g. the pirates bay, YTS)
|
- Search for torrent indexer (e.g. the pirates bay, YTS)
|
||||||
- Add selected
|
- Add selected
|
||||||
|
|
||||||
# Configure Radarr
|
## Configure Radarr
|
||||||
|
|
||||||
- Open Radarr at http://localhost:7878
|
- Open Radarr at http://localhost:7878
|
||||||
- Settings --> Media Management --> Check mark "Movies deleted from disk are automatically unmonitored in Radarr" under File management section --> Save
|
- Settings --> Media Management --> Check mark "Movies deleted from disk are automatically unmonitored in Radarr" under File management section --> Save
|
||||||
@ -57,22 +68,22 @@ chown 1000:1000 /downloads/movies /downloads/tvshows
|
|||||||
- Settings --> Download clients --> Transmission --> Add Host (transmission / qbittorrent) and port (9091 / 5080) --> Username and password if added --> Test --> Save **Note: If VPN is enabled, then transmission / qbittorrent is reachable on vpn's service name**
|
- Settings --> Download clients --> Transmission --> Add Host (transmission / qbittorrent) and port (9091 / 5080) --> Username and password if added --> Test --> Save **Note: If VPN is enabled, then transmission / qbittorrent is reachable on vpn's service name**
|
||||||
- Settings --> General --> Enable advance setting --> Select AUthentication and add username and password
|
- Settings --> General --> Enable advance setting --> Select AUthentication and add username and password
|
||||||
|
|
||||||
# Add a movie
|
## Add a movie
|
||||||
|
|
||||||
- Movies --> Search for a movie --> Add Root folder (/downloads) --> Quality profile --> Add movie
|
- Movies --> Search for a movie --> Add Root folder (/downloads) --> Quality profile --> Add movie
|
||||||
- Go to transmission (http://localhost:9091) and see if movie is getting downloaded.
|
- Go to transmission (http://localhost:9091) and see if movie is getting downloaded.
|
||||||
|
|
||||||
# Configure Jellyfin
|
## Configure Jellyfin
|
||||||
|
|
||||||
- Open Jellyfin at http://localhost:8096
|
- Open Jellyfin at http://localhost:8096
|
||||||
- Configure as it asks for first time.
|
- Configure as it asks for first time.
|
||||||
- Add media library folder and choose /data/movies/
|
- Add media library folder and choose /data/movies/
|
||||||
|
|
||||||
# Configure Jackett
|
## Configure Jackett
|
||||||
|
|
||||||
- Add admin password
|
- Add admin password
|
||||||
|
|
||||||
# Configure Prowlarr
|
## Configure Prowlarr
|
||||||
|
|
||||||
- Open Prowlarr at http://localhost:9696
|
- Open Prowlarr at http://localhost:9696
|
||||||
- Settings --> General --> Authentications --> Select AUthentication and add username and password
|
- Settings --> General --> Authentications --> Select AUthentication and add username and password
|
||||||
@ -80,26 +91,24 @@ chown 1000:1000 /downloads/movies /downloads/tvshows
|
|||||||
- Add application, Settings --> Apps --> Add application --> Choose Sonarr or Radarr or any apps to link --> Prowlarr server (http://localhost:9696) --> Radarr server (http://localhost:7878) --> API Key --> Test and Save
|
- Add application, Settings --> Apps --> Add application --> Choose Sonarr or Radarr or any apps to link --> Prowlarr server (http://localhost:9696) --> Radarr server (http://localhost:7878) --> API Key --> Test and Save
|
||||||
- This will add indexers in respective apps automatically.
|
- This will add indexers in respective apps automatically.
|
||||||
|
|
||||||
# Apply SSL in Nginx
|
## Configure Nginx
|
||||||
|
|
||||||
|
- Get inside Nginx container
|
||||||
|
- `cd /etc/nginx/conf.d`
|
||||||
|
- Add proxies for all tools.
|
||||||
|
|
||||||
|
`docker cp nginx.conf nginx:/etc/nginx/conf.d/default.conf && docker exec -it nginx nginx -s reload`
|
||||||
|
- Close ports of other tools in firewall/security groups except port 80 and 443.
|
||||||
|
|
||||||
|
|
||||||
|
## Apply SSL in Nginx
|
||||||
|
|
||||||
- Open port 80 and 443.
|
- Open port 80 and 443.
|
||||||
- Get inside Nginx container and install certbot and certbot-nginx `apk add certbot certbot-nginx`
|
- Get inside Nginx container and install certbot and certbot-nginx `apk add certbot certbot-nginx`
|
||||||
- Add URL in server block. e.g. `server_name localhost armdev.navratangupta.in;` in /etc/nginx/conf.d/default.conf
|
- Add URL in server block. e.g. `server_name localhost armdev.navratangupta.in;` in /etc/nginx/conf.d/default.conf
|
||||||
- Run `certbot --nginx` and provide details asked.
|
- Run `certbot --nginx` and provide details asked.
|
||||||
|
|
||||||
|
## Radarr Nginx reverse proxy
|
||||||
# Configure Nginx
|
|
||||||
|
|
||||||
- Get inside Nginx container
|
|
||||||
- `cd /etc/nginx/conf.d`
|
|
||||||
- Add proxies as per below for all tools.
|
|
||||||
- OR, copy nginx.conf file to /etc/nginx/conf.d/default.conf and make necessary changes
|
|
||||||
|
|
||||||
`docker cp nginx.conf nginx:/etc/nginx/conf.d/default.conf && docker exec -it nginx nginx -s reload`
|
|
||||||
- Close ports of other tools in firewall/security groups except port 80 and 443.
|
|
||||||
|
|
||||||
|
|
||||||
# Radarr Nginx reverse proxy
|
|
||||||
|
|
||||||
- Settings --> General --> URL Base --> Add base (/radarr)
|
- Settings --> General --> URL Base --> Add base (/radarr)
|
||||||
- Add below proxy in nginx configuration
|
- Add below proxy in nginx configuration
|
||||||
@ -118,7 +127,7 @@ location /radarr {
|
|||||||
|
|
||||||
- Restart containers.
|
- Restart containers.
|
||||||
|
|
||||||
# Sonarr Nginx reverse proxy
|
## Sonarr Nginx reverse proxy
|
||||||
|
|
||||||
- Settings --> General --> URL Base --> Add base (/sonarr)
|
- Settings --> General --> URL Base --> Add base (/sonarr)
|
||||||
- Add below proxy in nginx configuration
|
- Add below proxy in nginx configuration
|
||||||
@ -135,7 +144,7 @@ location /radarr {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
# Prowlarr Nginx reverse proxy
|
## Prowlarr Nginx reverse proxy
|
||||||
|
|
||||||
- Settings --> General --> URL Base --> Add base (/prowlarr)
|
- Settings --> General --> URL Base --> Add base (/prowlarr)
|
||||||
- Add below proxy in nginx configuration
|
- Add below proxy in nginx configuration
|
||||||
@ -156,7 +165,7 @@ location /prowlarr {
|
|||||||
|
|
||||||
- Restart containers.
|
- Restart containers.
|
||||||
|
|
||||||
# Jackett Nginx reverse proxy
|
## Jackett Nginx reverse proxy
|
||||||
|
|
||||||
- Get inside jackett container and go to `/config/Jackett/`
|
- Get inside jackett container and go to `/config/Jackett/`
|
||||||
- Add `"BasePathOverride": "/jackett"` in ServerConfig.json file.
|
- Add `"BasePathOverride": "/jackett"` in ServerConfig.json file.
|
||||||
@ -177,7 +186,7 @@ location /jackett/ {
|
|||||||
|
|
||||||
- Restart containers
|
- Restart containers
|
||||||
|
|
||||||
# Transmission Nginx reverse proxy
|
## Transmission Nginx reverse proxy
|
||||||
|
|
||||||
- Add below proxy in Nginx config
|
- Add below proxy in Nginx config
|
||||||
|
|
||||||
@ -213,7 +222,7 @@ location ^~ /transmission {
|
|||||||
|
|
||||||
**Note: If VPN is enabled, then transmission is reachable on vpn's service name**
|
**Note: If VPN is enabled, then transmission is reachable on vpn's service name**
|
||||||
|
|
||||||
# qBittorrent Nginx proxy
|
## qBittorrent Nginx proxy
|
||||||
|
|
||||||
```
|
```
|
||||||
location /qbt/ {
|
location /qbt/ {
|
||||||
@ -229,7 +238,7 @@ location /qbt/ {
|
|||||||
|
|
||||||
**Note: If VPN is enabled, then qbittorrent is reachable on vpn's service name**
|
**Note: If VPN is enabled, then qbittorrent is reachable on vpn's service name**
|
||||||
|
|
||||||
# Jellyfin Nginx proxy
|
## Jellyfin Nginx proxy
|
||||||
|
|
||||||
- Add base URL, Admin Dashboard -> Networking -> Base URL (/jellyfin)
|
- Add base URL, Admin Dashboard -> Networking -> Base URL (/jellyfin)
|
||||||
- Add below config in Ngix config
|
- Add below config in Ngix config
|
||||||
@ -259,4 +268,5 @@ location /qbt/ {
|
|||||||
proxy_buffering off;
|
proxy_buffering off;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
- Restart containers
|
- Restart containers
|
||||||
|
Loading…
Reference in New Issue
Block a user