yams/README.org

7.2 KiB

YAMS: Yet Another Media Server

visitor badge Discord

This is a highly opinionated media server that simplifies the setup and management of your home media collection.

Description

YAMS installs and configures a complete media server stack using Docker containers:

Download Management:

Media Management:

  • Sonarr - TV show management and automation
  • Radarr - Movie management and automation
  • Lidarr - Music management and automation
  • Readarr - Books and audiobooks management
  • Bazarr - Automatic subtitle management
  • Prowlarr - Indexer management for your \*arr apps

Media Servers (Choose One):

  • Jellyfin (Recommended) - Open source media server
  • Emby - Media server with premium features
  • Plex - Popular media server with advanced features

Management & Monitoring:

Features

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

Required:

The installation script can automatically install these on Debian/Ubuntu systems.

Before Installation

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)

Installation

Quick installation:

git clone --depth=1 https://gitlab.com/rogs/yams.git /tmp/yams
cd /tmp/yams
bash install.sh

Follow the interactive prompts to configure your installation.

Tested on:

  • Debian 11/12
  • Ubuntu 22.04

Usage

YAMS provides a simple CLI interface:

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

Configuration

Complete configuration guide: https://yams.media/config/

Future Development

Planned features and improvements:

  • Multiple media server support (Jellyfin/Emby/Plex)
  • Portainer integration
  • Update functionality
  • Lidarr and Readarr integration
  • 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

If you'd like to support YAMS, please consider donating to the underlying projects:

Special Thanks

YAMS wouldn't be possible without:

And most importantly: Thank you for using YAMS! 🙏