A library maintenance tool for Plex, Jellyfin and Emby that uses rules to collect unwatched or unrequested media and remove it after a grace period.
ahembree/ansible-hms-docker
Ansible playbook that deploys an automated home media server stack (Plex/Jellyfin/Emby, *arr apps) on Docker across multiple platforms.
- Stars
- 453
- Forks
- 57
- Open issues
- 0
- Last commit
- 16 hours ago
What is it?
HMS-Docker is an Ansible playbook that sets up a home media server stack running in Docker containers. It is aimed at people who want to automate the installation and configuration of media services on their own hardware rather than assembling each container by hand.
The playbook installs Docker when it is missing, configures Intel or Nvidia GPU acceleration for transcoding, and checks that GPU acceleration is available. It also handles automatic container updates, initializes apps such as Sonarr, Radarr and Prowlarr, and populates a Homepage dashboard. Optional pieces cover Cloudflare dynamic DNS, wildcard SSL certificates, Authentik single sign-on, and mounting multiple network shares.
The project includes extra scripts, such as an Uptime-Kuma monitor that checks whether media is accessible from the Plex container and a converter that turns Traefik certificates into PKCS12 files for Plex. Full setup instructions are on the project's documentation site.
Key features
- 01Automated installation of Docker and the media container stack
- 02Intel and Nvidia GPU support for media transcoding
- 03Automatic container updates
- 04Automatic initialization of Sonarr, Radarr, Prowlarr and similar apps
- 05Cloudflare dynamic DNS, wildcard SSL certificates and Authentik SSO
Use cases
- Setting up a home media server on a Linux machine without manually configuring each container
- Running Plex, Jellyfin or Emby alongside the Sonarr and Radarr automation apps
- Exposing home services over HTTPS with a domain and single sign-on
Things to know
- You must install Nvidia GPU drivers yourself; the playbook does not include them.
- The README's only setup guidance is on an external docs site, so the setup details are not in the README itself.
- Licensed under GPL-3.0, a copyleft license that requires derivative works to remain open source.
In collections
Topics
FAQ
- What is ansible-hms-docker?
- Ansible playbook that deploys an automated home media server stack (Plex/Jellyfin/Emby, *arr apps) on Docker across multiple platforms. HMS-Docker is an Ansible playbook that sets up a home media server stack running in Docker containers. It is aimed at people who want to automate the installation and configuration of media services on their own hardware rather than assembling each container by hand.
- Is ansible-hms-docker free to use? What license does it have?
- ansible-hms-docker is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is ansible-hms-docker still maintained?
- Actively maintained. The last commit to ansible-hms-docker was on Nov 7, 2026.
- What can I use ansible-hms-docker for?
- Setting up a home media server on a Linux machine without manually configuring each container Running Plex, Jellyfin or Emby alongside the Sonarr and Radarr automation apps Exposing home services over HTTPS with a domain and single sign-on
- Where can I get ansible-hms-docker?
- The source code and installation instructions are on GitHub: https://github.com/ahembree/ansible-hms-docker
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Real-time monitoring dashboard for Plex, Jellyfin, and Emby servers, covering streams, playback analytics, and account-sharing detection.
Open-source web app for users to request movies and TV shows, with approval workflows for Jellyfin, Plex, and Emby libraries.
Ombi is a self-hosted media request tool that lets users ask for movies, music and TV shows and syncs with Plex, Emby and Jellyfin.
Self-hosted service that syncs watch/play state between Plex, Jellyfin and Emby media servers without third-party services.
A Streamlit web UI built on yt-dlp that downloads single videos or playlists and files them into folders that Plex, Jellyfin or Emby can scan.