#+title: YAMS: Yet Another Media Server
@@html:
@@
@@html:
@@
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
- https://patorjk.com/software/taag/ for the ascii art!
And most importantly: Thank you for using YAMS! 🙏