224 lines
7.1 KiB
Org Mode
224 lines
7.1 KiB
Org Mode
#+title: YAMS: Yet Another Media Server
|
|
|
|
@@html:<img src="https://visitor-badge.laobi.icu/badge?page_id=rogs.yams" alt="visitor badge"/>@@
|
|
@@html:<img alt="Discord" src="https://img.shields.io/discord/1168025418243256391?logo=discord&label=Discord">@@
|
|
|
|
This is a highly opinionated media server that simplifies the setup and management of your home media collection.
|
|
|
|
- Website: [[https://yams.media][https://yams.media]]
|
|
- Code documentation: [[https://gitlab.com/rogs/yams/-/blob/master/docs.org][docs.org]]
|
|
- Discord: [[https://discord.gg/Gwae3tNMST]]
|
|
- Matrix: [[https://matrix.to/#/#yams-space:rogs.me]]
|
|
|
|
* Description
|
|
:PROPERTIES:
|
|
:ID: 280135a0-2cff-4e93-8679-7d1a6d56b7b2
|
|
:END:
|
|
|
|
YAMS installs and configures a complete media server stack using Docker containers:
|
|
|
|
Download Management:
|
|
- [[https://www.qbittorrent.org/][qBittorrent]] - Torrent client
|
|
- [[https://sabnzbd.org/][SABnzbd]] - Usenet downloader
|
|
- [[https://github.com/qdm12/gluetun][Gluetun]] - VPN client for secure downloads
|
|
|
|
Media Management:
|
|
- [[https://sonarr.tv/][Sonarr]] - TV show management and automation
|
|
- [[https://radarr.video/][Radarr]] - Movie management and automation
|
|
- [[https://lidarr.audio][Lidarr]] - Music management and automation
|
|
- [[https://readarr.com/][Readarr]] - Books and audiobooks management
|
|
- [[https://www.bazarr.media/][Bazarr]] - Automatic subtitle management
|
|
- [[https://prowlarr.com/][Prowlarr]] - Indexer management for your \*arr apps
|
|
|
|
Media Servers (Choose One):
|
|
- [[https://jellyfin.org/][Jellyfin]] (Recommended) - Open source media server
|
|
- [[https://emby.media/][Emby]] - Media server with premium features
|
|
- [[https://www.plex.tv/][Plex]] - Popular media server with advanced features
|
|
|
|
Management & Monitoring:
|
|
- [[https://www.portainer.io/][Portainer]] - Container management UI
|
|
- [[https://containrrr.dev/watchtower/][Watchtower]] - Automatic container updates
|
|
|
|
* Features
|
|
:PROPERTIES:
|
|
:ID: 0e072c32-3158-4961-869c-49920090f3d5
|
|
:END:
|
|
|
|
YAMS provides a comprehensive media server solution with:
|
|
|
|
- *Smart Media Management*: Automatically organizes your media library
|
|
- Downloads new episodes and movies as they become available
|
|
- Categorizes content into appropriate folders
|
|
- Manages music and book collections
|
|
- Fetches subtitles in your preferred languages
|
|
|
|
- *Flexible Media Access*: Access your content anywhere
|
|
- Web interface for browser-based streaming
|
|
- Apps for mobile devices (iOS/Android)
|
|
- Smart TV apps
|
|
- Roku, Apple TV, and other streaming devices
|
|
- Transcoding for optimal playback on any device
|
|
|
|
- *Security and Privacy*
|
|
- Built-in VPN support for secure downloads
|
|
- User management and sharing controls
|
|
- SSL/TLS encryption support
|
|
|
|
- *Easy Management*
|
|
- Simple CLI interface with `yams` command
|
|
- Web-based management through Portainer
|
|
- Automatic container updates via Watchtower
|
|
- Backup and restore functionality
|
|
|
|
* Dependencies
|
|
:PROPERTIES:
|
|
:ID: 01577a0a-852e-481a-b9b3-791b68594f96
|
|
:END:
|
|
|
|
Required:
|
|
- [[https://www.docker.com/][Docker]]
|
|
- [[https://docs.docker.com/compose/][Docker Compose]]
|
|
|
|
The installation script can automatically install these on Debian/Ubuntu systems.
|
|
|
|
* Before Installation
|
|
:PROPERTIES:
|
|
:ID: 1c609bfc-4e6e-4fd8-8129-1b722fd7cda8
|
|
:END:
|
|
|
|
Prepare the following:
|
|
|
|
1. *Installation Location*
|
|
- Default: ~/opt/yams~
|
|
- Ensure your user has write permissions
|
|
|
|
2. *Media Directory*
|
|
- Default: ~/srv/media~
|
|
- Will contain subdirectories:
|
|
+ ~/srv/media/tvshows~: TV series
|
|
+ ~/srv/media/movies~: Movies
|
|
+ ~/srv/media/music~: Music files
|
|
+ ~/srv/media/books~: Books and audiobooks
|
|
+ ~/srv/media/downloads~: Temporary download location
|
|
+ ~/srv/media/blackhole~: Watch folder for torrents
|
|
|
|
3. *Non-root User*
|
|
- Regular system user to own and manage files
|
|
- Must have sudo privileges for initial setup
|
|
|
|
4. *VPN Service* (Optional but Recommended)
|
|
- Supported providers listed at [[https://yams.media/advanced/vpn#official-supported-vpns][yams.media/advanced/vpn]]
|
|
- [[https://protonvpn.com/][ProtonVPN]] recommended for:
|
|
+ Simple configuration
|
|
+ Port forwarding
|
|
|
|
* Installation
|
|
:PROPERTIES:
|
|
:ID: a0417c61-3fd8-40a0-9385-6c5aaed37337
|
|
:END:
|
|
|
|
Quick installation:
|
|
|
|
#+begin_src bash
|
|
git clone --depth=1 https://gitlab.com/rogs/yams.git /tmp/yams
|
|
cd /tmp/yams
|
|
bash install.sh
|
|
#+end_src
|
|
|
|
Follow the interactive prompts to configure your installation.
|
|
|
|
Tested on:
|
|
- Debian 11/12
|
|
- Ubuntu 22.04
|
|
|
|
* Usage
|
|
:PROPERTIES:
|
|
:ID: 9e995141-b386-4962-9842-7209bedc5651
|
|
:END:
|
|
|
|
YAMS provides a simple CLI interface:
|
|
|
|
#+begin_src
|
|
yams - Yet Another Media Server
|
|
|
|
Usage: yams [command] [options]
|
|
|
|
Commands:
|
|
--help displays this help message
|
|
restart restarts yams services
|
|
stop stops all yams services
|
|
start starts yams services
|
|
destroy destroy yams services so you can start from scratch
|
|
check-vpn checks if the VPN is working as expected
|
|
backup backs up yams to the destination location
|
|
|
|
Examples:
|
|
yams start # Start all YAMS services
|
|
yams backup /path/to/backup # Backup YAMS to specified directory
|
|
#+end_src
|
|
|
|
* Configuration
|
|
:PROPERTIES:
|
|
:ID: 242b8dfa-82ab-4d86-b3ea-0a0af6cf3ad5
|
|
:END:
|
|
|
|
Complete configuration guide: [[https://yams.media/config/][https://yams.media/config/]]
|
|
|
|
* Future Development
|
|
:PROPERTIES:
|
|
:ID: eba4712e-fa8a-42c8-bc32-b593141c99a4
|
|
:END:
|
|
|
|
Planned features and improvements:
|
|
|
|
- [X] Multiple media server support (Jellyfin/Emby/Plex)
|
|
- [X] Portainer integration
|
|
- [X] Update functionality
|
|
- [X] Lidarr and Readarr integration
|
|
- [X] Enhanced Usenet support
|
|
- [ ] Alpine-based images for reduced footprint
|
|
- [ ] Additional download clients
|
|
- [ ] Jackett integration
|
|
- [ ] Request management (Jellyseerr/Overseerr)
|
|
- [ ] Dashboard integration (Organizr/Heimdall)
|
|
- [ ] Enhanced themes and customization
|
|
- [ ] WireGuard VPN support
|
|
- [ ] Filebrowser integration
|
|
- [ ] Jellyfin account management
|
|
|
|
* Donations
|
|
:PROPERTIES:
|
|
:ID: 992fb05d-c171-4ba9-9207-3dd1d467656e
|
|
:END:
|
|
|
|
If you'd like to support YAMS, please consider donating to the underlying projects:
|
|
|
|
- [[https://www.linuxserver.io/donate][linuxserver.io]]
|
|
- [[https://sonarr.tv/donate][Sonarr]]
|
|
- [[https://radarr.video/donate][Radarr]]
|
|
- [[https://opencollective.com/jellyfin][Jellyfin]]
|
|
- [[https://emby.media/premiere.html][Emby Premier]]
|
|
- [[https://www.plex.tv/plex-pass/][Plex Pass]]
|
|
- [[https://www.qbittorrent.org/donate][qBittorrent]]
|
|
- [[https://www.paypal.com/donate/?cmd=_s-xclick&hosted_button_id=XHHRWXT9YB7WE&source=url][Bazarr]]
|
|
- [[https://www.paypal.me/qmcgaw][Gluetun]]
|
|
- [[https://opencollective.com/Prowlarr#sponsor][Prowlarr]]
|
|
|
|
* Special Thanks
|
|
:PROPERTIES:
|
|
:ID: b0a86edc-dc4f-4ac2-908c-fd08f1d2f99c
|
|
:END:
|
|
|
|
YAMS wouldn't be possible without:
|
|
|
|
- [[https://info.linuxserver.io/][linuxserver.io]] for amazing Docker images
|
|
- All the core applications listed above
|
|
- Contributors:
|
|
+ [[https://github.com/xploshioOn][xploshioOn]]
|
|
+ [[https://github.com/norlis][norlis]]
|
|
+ [[https://github.com/isaac152][isaac152]]
|
|
+ [[https://gitlab.com/jataggart][Jay Taggart]]
|
|
- The YAMS community for testing and feedback
|
|
|
|
And most importantly: Thank you for using YAMS! 🙏
|