mirror of
https://github.com/tborychowski/self-hosted-cookbook.git
synced 2025-05-13 02:41:16 +00:00
media
This commit is contained in:
parent
6a2e89fdcc
commit
5f5e69df77
45
README.md
45
README.md
@ -19,6 +19,8 @@ So, without further ado, here's the current list:
|
||||
- [PiHole](apps/ad-blockers/pihole.md)
|
||||
- [Block Lists](apps/ad-blockers/lists.md)
|
||||
|
||||
# Antivirus
|
||||
- [MalwareMultiScan](https://github.com/mindcollapse/MalwareMultiScan)
|
||||
|
||||
# Blogging
|
||||
- [AnchorCMS](https://github.com/anchorcms/anchor-cms#installation) [external]
|
||||
@ -70,40 +72,43 @@ So, without further ado, here's the current list:
|
||||
# Home Automation
|
||||
- [HomeAssistant](apps/home-automation/home-assistant.md)
|
||||
|
||||
|
||||
# Media Managers
|
||||
- Calibre (e-books)
|
||||
- Deemix
|
||||
- Komga (comics)
|
||||
- Navidrome
|
||||
- Readerr (ebooks & comics)
|
||||
- Sonarr (tv shows)
|
||||
- Radarr (movies)
|
||||
- Bazaar (subtitles)
|
||||
- Jackett (search engine proxy/adapter)
|
||||
- Tautulli
|
||||
- Youtube downloader
|
||||
- [Bazarr (subtitles)](apps/media/bazarr.md)
|
||||
- [Calibre (e-books)](apps/media/calibre.md)
|
||||
- [Deemix](apps/media/deemix.md)
|
||||
- [Jackett (search engine proxy/adapter)](apps/media/jackett.md)
|
||||
- [Komga (comics)](apps/media/komga.md)
|
||||
- [Navidrome](apps/media/navidrome.md)
|
||||
- [Radarr (movies)](apps/media/radarr.md)
|
||||
- [Readerr (ebooks & comics)](apps/media/readerr.md)
|
||||
- [Sonarr (tv shows)](apps/media/sonarr.md)
|
||||
- [Tautulli](apps/media/tautulli.md)
|
||||
- [Ubooquity](http://vaemendis.net/ubooquity) [external] - Another Ebook & Comics server. Didn't work properly.
|
||||
- [Youtube downloader](apps/media/youtube-downloader.md)
|
||||
|
||||
|
||||
# Monitors
|
||||
## Self-hosted
|
||||
### Self-hosted
|
||||
- [Cachet](apps/monitors/cachet.md)
|
||||
- [Dockprom](apps/monitors/dockprom.md)
|
||||
- [PhpServerMonitor](apps/monitors/php-server-monitor.md)
|
||||
- [Statping](apps/monitors/statping.md)
|
||||
|
||||
## Other, not-fully tested
|
||||
### Other, not-fully tested
|
||||
- [Staytus](https://github.com/adamcooke/staytus) [external] - service status is updated manually!
|
||||
- [cstate](https://cstate.mnts.lt/) [external] - weird...
|
||||
- [Glances](https://glances.readthedocs.io/en/stable/install.html) [external] - resource hog
|
||||
- [Netdata](https://hub.docker.com/r/netdata/netdata) [external] - lots of stuff, nothing relevant
|
||||
- [LibreNMS](https://github.com/librenms/docker) [external] - ugly
|
||||
|
||||
## Hosted
|
||||
### Hosted
|
||||
- [statuspage.io](https://www.atlassian.com/software/statuspage) [external] - same - manual process!
|
||||
- [updown](https://updown.io) [external] - doesn't seem to have a page with multiple services' statuses...
|
||||
- [healthchecks](https://healthchecks.io) [external] - cron-based monitoring, no public status page, just badges
|
||||
- [uptimerobot](https://uptimerobot.com) [external] - free is very basic, constantly nags for upgrade to paid...
|
||||
|
||||
## Useful links
|
||||
### Useful links
|
||||
- [awesome-sysadmin: monitoring](https://github.com/n1trux/awesome-sysadmin#monitoring)
|
||||
- [reddit thread](https://www.reddit.com/r/selfhosted/comments/epzt3f/im_looking_for_a_lean_monitoring_and_altert/)
|
||||
- [reddit thread](https://www.reddit.com/r/selfhosted/comments/gwe18p/looking_for_a_neat_status_page_like/)
|
||||
@ -116,7 +121,7 @@ So, without further ado, here's the current list:
|
||||
- [Synology-sms-relay](apps/notifications/synology-sms-relay.md)
|
||||
|
||||
|
||||
## Other
|
||||
### Other
|
||||
- [apprise](https://github.com/caronc/apprise)
|
||||
- [Synapse](https://github.com/matrix-org/synapse#synapse-installation)
|
||||
- [Gotify](https://github.com/gotify/server) - notification server
|
||||
@ -145,8 +150,11 @@ So, without further ado, here's the current list:
|
||||
- Authelia
|
||||
- Traefik
|
||||
|
||||
|
||||
# RSS
|
||||
- Miniflux (rss)
|
||||
- Miniflux
|
||||
- Miniflux-filter
|
||||
|
||||
|
||||
# Search engines
|
||||
- Searx
|
||||
@ -158,6 +166,9 @@ So, without further ado, here's the current list:
|
||||
- HumHub
|
||||
- IM
|
||||
|
||||
|
||||
# Wiki
|
||||
- Confluence
|
||||
- Bookstack
|
||||
- Gollum https://github.com/gollum/gollum
|
||||
- Wiki.js
|
||||
|
30
apps/media/bazarr.md
Normal file
30
apps/media/bazarr.md
Normal file
@ -0,0 +1,30 @@
|
||||
# Bazarr
|
||||
|
||||
Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements.
|
||||
|
||||
<br>
|
||||
|
||||
- [Homepage](https://www.bazarr.media/)
|
||||
- [Github repo](https://github.com/morpheus65535/bazarr)
|
||||
|
||||
|
||||
## docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: "2"
|
||||
services:
|
||||
bazarr:
|
||||
image: linuxserver/bazarr
|
||||
container_name: bazarr
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Dublin
|
||||
- UMASK_SET=022 #optional
|
||||
ports:
|
||||
- 6767:6767
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- /mnt/video:/video
|
||||
```
|
66
apps/media/calibre.md
Normal file
66
apps/media/calibre.md
Normal file
@ -0,0 +1,66 @@
|
||||
# Calibre
|
||||
|
||||
## calibre (server)
|
||||
Basically a desktop calibre app with a web interface.
|
||||
This will allow you to generate calibre library needed for the Calibre Web.
|
||||
|
||||
<br>
|
||||
|
||||
- [Homepage](https://calibre-ebook.com/)
|
||||
- [Github repo]()
|
||||
- [DockerHub repo](https://hub.docker.com/r/linuxserver/calibre)
|
||||
|
||||
### docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: "2"
|
||||
services:
|
||||
calibre:
|
||||
image: linuxserver/calibre
|
||||
container_name: calibre
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Dublin
|
||||
# - GUAC_USER=user1 #optional
|
||||
# - GUAC_PASS=password #optional
|
||||
volumes:
|
||||
- ./data:/config
|
||||
- /my-books:/books
|
||||
ports:
|
||||
- 3060:8080
|
||||
- 3061:8081
|
||||
```
|
||||
|
||||
|
||||
## calibre-web
|
||||
A nice UI for reading books.
|
||||
Connects to calibre server's database (server does not need to be running).
|
||||
|
||||
<br>
|
||||
|
||||
- [Github repo](https://github.com/janeczku/calibre-web)
|
||||
- [DockerHub repo](https://hub.docker.com/r/linuxserver/calibre-web)
|
||||
|
||||

|
||||
|
||||
### docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: "2"
|
||||
services:
|
||||
calibre-web:
|
||||
image: linuxserver/calibre-web
|
||||
container_name: calibre-web
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Dublin
|
||||
volumes:
|
||||
- ./data:/config
|
||||
- /my-books/calibre:/books # same as above + "calibre" folder
|
||||
ports:
|
||||
- 8083:8083
|
||||
restart: unless-stopped
|
||||
```
|
BIN
apps/media/clibre-web.png
Normal file
BIN
apps/media/clibre-web.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 MiB |
35
apps/media/deemix.md
Normal file
35
apps/media/deemix.md
Normal file
@ -0,0 +1,35 @@
|
||||
# Deemix
|
||||
|
||||
- [Gitlab repo](https://gitlab.com/Bockiii/deemix-docker)
|
||||
|
||||
|
||||
## docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: '3.3'
|
||||
services:
|
||||
deemix:
|
||||
image: registry.gitlab.com/bockiii/deemix-docker
|
||||
container_name: Deemix
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- ARL=
|
||||
ports:
|
||||
- 9666:9666
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- ./downloads:/downloads
|
||||
```
|
||||
|
||||
|
||||
## Tips & Tricks
|
||||
### [Getting ARL](https://codeberg.org/RemixDev/deemix/wiki/Getting-your-own-ARL)
|
||||
|
||||
- Go to [deezer.com](https://www.deezer.com) and log into your account
|
||||
- Open up Developer Tools
|
||||
- Go to Storage and open Cookies section
|
||||
- Select www.deezer.com
|
||||
- Find the arl cookie (It should be 192 chars long)
|
||||
- Make sure only copy the value and not the entire cookie
|
29
apps/media/jackett.md
Normal file
29
apps/media/jackett.md
Normal file
@ -0,0 +1,29 @@
|
||||
# Jackett
|
||||
|
||||
API Support for your favorite torrent trackers.
|
||||
|
||||
<br>
|
||||
|
||||
- [Github repo](https://github.com/Jackett/Jackett)
|
||||
|
||||
|
||||
## docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: "2"
|
||||
services:
|
||||
jackett:
|
||||
image: linuxserver/jackett
|
||||
container_name: jackett
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Dublin
|
||||
- RUN_OPTS=run options here #optional
|
||||
ports:
|
||||
- 9117:9117
|
||||
volumes:
|
||||
- ./data:/config
|
||||
- ./downloads:/downloads
|
||||
```
|
39
apps/media/komga.md
Normal file
39
apps/media/komga.md
Normal file
@ -0,0 +1,39 @@
|
||||
# Komga
|
||||
|
||||
Probably the best self-hosted comic books reader.
|
||||
|
||||
<br>
|
||||
|
||||
- [Homepage](https://komga.org/)
|
||||
- [Github repo](https://github.com/gotson/komga)
|
||||
- [DockerHub repo](https://hub.docker.com/r/gotson/komga)
|
||||
- [Docs](https://komga.org/guides/)
|
||||
|
||||
|
||||
## docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: '3.3'
|
||||
services:
|
||||
komga:
|
||||
image: gotson/komga
|
||||
container_name: komga
|
||||
restart: unless-stopped
|
||||
user: "1000:1000"
|
||||
environment:
|
||||
- KOMGA_LIBRARIES_SCAN_DIRECTORY_EXCLUSIONS=#recycle,@eaDir
|
||||
ports:
|
||||
- 3020:8080
|
||||
volumes:
|
||||
- ./data:/config
|
||||
- ./books:/books
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
```
|
||||
|
||||
|
||||
## Tips & Tricks
|
||||
|
||||
### First steps
|
||||
- After the first run - admin account gets created.
|
||||
- You need to check the logs (`docker-compose logs komga` or in `./data` folder)
|
||||
- Comics should be added to the `./books` folder
|
33
apps/media/navidrome.md
Normal file
33
apps/media/navidrome.md
Normal file
@ -0,0 +1,33 @@
|
||||
# Navidrome
|
||||
|
||||
Music streaming service.
|
||||
|
||||
<br>
|
||||
|
||||
- [Homepage](https://www.navidrome.org/)
|
||||
- [Github repo](https://github.com/deluan/navidrome/)
|
||||
- [Demo](https://www.navidrome.org/demo/)
|
||||
|
||||

|
||||
|
||||
|
||||
## docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: "3"
|
||||
services:
|
||||
navidrome:
|
||||
image: deluan/navidrome:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "4533:4533"
|
||||
environment:
|
||||
# All options with their default values:
|
||||
ND_SCANINTERVAL: 1m
|
||||
ND_LOGLEVEL: info
|
||||
ND_SESSIONTIMEOUT: 30m
|
||||
ND_BASEURL: ""
|
||||
volumes:
|
||||
- ./data:/data
|
||||
- ./music/:/music:ro
|
||||
```
|
BIN
apps/media/navidrome.png
Normal file
BIN
apps/media/navidrome.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.1 MiB |
34
apps/media/radarr.md
Normal file
34
apps/media/radarr.md
Normal file
@ -0,0 +1,34 @@
|
||||
# Radarr
|
||||
|
||||
Movie manager.
|
||||
|
||||
<br>
|
||||
|
||||
- [Homepage](https://radarr.video/)
|
||||
- [Github repo](https://github.com/Radarr/Radarr)
|
||||
|
||||
|
||||
## docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: "2"
|
||||
services:
|
||||
radarr:
|
||||
image: linuxserver/radarr
|
||||
container_name: radarr
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Dublin
|
||||
- UMASK_SET=022 #optional
|
||||
ports:
|
||||
- 7878:7878
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- /mnt/video:/video
|
||||
```
|
||||
|
||||
|
||||
## Tips & Tricks
|
||||
See [Sonarr](sonarr.md).
|
28
apps/media/readerr.md
Normal file
28
apps/media/readerr.md
Normal file
@ -0,0 +1,28 @@
|
||||
# Readerr
|
||||
|
||||
Ebook & comics manager.
|
||||
|
||||
<br>
|
||||
|
||||
- [Homepage](https://readarr.com/)
|
||||
- [Github repo](https://github.com/Readarr/Readarr)
|
||||
|
||||
|
||||
## docker-compose.yml
|
||||
```yml
|
||||
version: "3.5"
|
||||
services:
|
||||
readarr:
|
||||
image: hotio/readarr:nightly
|
||||
container_name: readarr
|
||||
environment:
|
||||
- PUID=1001
|
||||
- PGID=1001
|
||||
- TZ=Europe/Dublin
|
||||
- UMASK=002
|
||||
volumes:
|
||||
- ./config:/config
|
||||
ports:
|
||||
- 8787:8787
|
||||
restart: unless-stopped
|
||||
```
|
48
apps/media/sonarr.md
Normal file
48
apps/media/sonarr.md
Normal file
@ -0,0 +1,48 @@
|
||||
# Sonarr
|
||||
|
||||
TV show manager.
|
||||
|
||||
<br>
|
||||
|
||||
- [Homepage](https://sonarr.tv/)
|
||||
- [Github repo](https://github.com/Sonarr/Sonarr)
|
||||
|
||||
|
||||
## docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: "2"
|
||||
services:
|
||||
sonarr:
|
||||
image: linuxserver/sonarr
|
||||
container_name: sonarr
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Dublin
|
||||
- UMASK_SET=022 #optional
|
||||
ports:
|
||||
- 8989:8989
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- /mnt/video:/video
|
||||
```
|
||||
|
||||
|
||||
## Tips & Tricks
|
||||
|
||||
### Map remote folders on Ubuntu/Debian:
|
||||
Add lines to the **/etc/fstab** file:
|
||||
|
||||
```sh
|
||||
<SERVER IP>:/volume1/video /mnt/video nfs rw,hard,intr,nolock 0 0
|
||||
```
|
||||
|
||||
### Remote Path Mappings in Sonarr/Radarr settings:
|
||||
|
||||
Make sure that in Download Client (advanced settings):
|
||||
|
||||
| Host | Remote Path | Local Path |
|
||||
|-------------|----------------|-------------|
|
||||
| <SERVER IP> | /volume1/video | /downloads/ |
|
64
apps/media/tautulli.md
Normal file
64
apps/media/tautulli.md
Normal file
@ -0,0 +1,64 @@
|
||||
# Tautulli
|
||||
|
||||
Monitor for Plex Media Server.
|
||||
|
||||
<br>
|
||||
|
||||
- [Homepage](https://tautulli.com/)
|
||||
- [Github repo](https://github.com/Tautulli/Tautulli)
|
||||
- [Docs](https://github.com/Tautulli/Tautulli-Wiki/wiki/Installation)
|
||||
|
||||
|
||||
|
||||
## docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: '3'
|
||||
services:
|
||||
tautuli:
|
||||
image: tautulli/tautulli
|
||||
container_name: tautuli
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TZ=Europe/Dublin
|
||||
ports:
|
||||
- "8181:8181"
|
||||
volumes:
|
||||
- ./config:/config/
|
||||
- /mnt/plex:/plex_logs:ro
|
||||
```
|
||||
|
||||
|
||||
## Tips & Tricks
|
||||
|
||||
### Mount external server with Plex (e.g. synology NAS)
|
||||
|
||||
1. Edit `fstab` file:
|
||||
`sudo nano /etc/fstab`
|
||||
2. Add line
|
||||
```sh
|
||||
<SERVER IP>:/volume1/Plex/Library/Application\040Support/Plex\040Media\040Server/Logs /mnt/plex nfs ro,hard,intr,nolock 0 0
|
||||
```
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
#### libcgroup1
|
||||
This lib may need to be installed:
|
||||
```sh
|
||||
apt-get install libcgroup1
|
||||
```
|
||||
|
||||
#### Mountpoint for devices not found
|
||||
1. Edit grub
|
||||
```sh
|
||||
sudo nano /etc/default/grub
|
||||
```
|
||||
2. Change `GRUB_CMDLINE_LINUX` value to the below:
|
||||
```sh
|
||||
GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=0"
|
||||
```
|
||||
3. Then run:
|
||||
```sh
|
||||
grub2-mkconfig
|
||||
sudo reboot
|
||||
```
|
63
apps/media/youtube-downloader.md
Normal file
63
apps/media/youtube-downloader.md
Normal file
@ -0,0 +1,63 @@
|
||||
# YoutubeDL-web
|
||||
|
||||
- [Github repo](https://github.com/franhp/youtubedl-web)
|
||||
|
||||

|
||||
|
||||
|
||||
## docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: '3'
|
||||
services:
|
||||
youtubedl-web:
|
||||
image: franhp/youtubedl-web:latest
|
||||
container_name: youtubedl-web
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "5000:5000"
|
||||
volumes:
|
||||
- ./downloads:/downloads
|
||||
```
|
||||
|
||||
----
|
||||
|
||||
# YoutubeDL-Material
|
||||
|
||||
- [Github repo](https://github.com/Tzahi12345/YoutubeDL-Material)
|
||||
|
||||

|
||||
|
||||
## docker-compose.yml
|
||||
```yml
|
||||
---
|
||||
version: "3"
|
||||
services:
|
||||
ytdl_material:
|
||||
image: tzahi12345/youtubedl-material
|
||||
ports:
|
||||
- "8998:17442"
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
ytdl_url: http://localhost:8998
|
||||
ytdl_port: '17442'
|
||||
ytdl_use_encryption: 'false'
|
||||
ytdl_audio_folder_path: video/
|
||||
ytdl_video_folder_path: video/
|
||||
ytdl_title_top: Youtube Downloader
|
||||
ytdl_allow_quality_select: 'true'
|
||||
ytdl_file_manager_enabled: 'false'
|
||||
ytdl_download_only_mode: 'false'
|
||||
ytdl_allow_multi_download_mode: 'true'
|
||||
ytdl_use_youtube_api: 'false'
|
||||
ytdl_youtube_api_key: 'false'
|
||||
ytdl_default_theme: dark
|
||||
ytdl_allow_theme_change: 'false'
|
||||
ytdl_use_default_downloading_agent: 'true'
|
||||
ytdl_custom_downloading_agent: 'false'
|
||||
ytdl_allow_advanced_download: 'false'
|
||||
write_ytdl_config: 'true'
|
||||
ALLOW_CONFIG_MUTATIONS: 'true'
|
||||
volumes:
|
||||
- ./downloads:/app/video
|
||||
```
|
BIN
apps/media/youtubedl-material.png
Normal file
BIN
apps/media/youtubedl-material.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 49 KiB |
BIN
apps/media/youtubedl-web.png
Normal file
BIN
apps/media/youtubedl-web.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 74 KiB |
Loading…
Reference in New Issue
Block a user