{"id":19892620,"url":"https://github.com/compscidr/ansible-media-server","last_synced_at":"2026-02-01T05:08:08.064Z","repository":{"id":229115937,"uuid":"775794378","full_name":"compscidr/ansible-media-server","owner":"compscidr","description":"A collection of roles for running a media server: sonarr, radarr, plex, ombi, transmission, etc","archived":false,"fork":false,"pushed_at":"2026-01-18T00:52:46.000Z","size":936,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-18T16:36:52.247Z","etag":null,"topics":["ansible","jackett","ombi","plex","prowlarr","radarr","sabnzbd","sonarr","transmission"],"latest_commit_sha":null,"homepage":"","language":"YAML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/compscidr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-22T03:47:42.000Z","updated_at":"2026-01-17T23:56:19.000Z","dependencies_parsed_at":"2024-04-20T20:22:56.447Z","dependency_job_id":"3c447207-41d3-4a61-a7b0-b5ce4e7fe925","html_url":"https://github.com/compscidr/ansible-media-server","commit_stats":null,"previous_names":["compscidr/ansible-media-server"],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/compscidr/ansible-media-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compscidr%2Fansible-media-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compscidr%2Fansible-media-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compscidr%2Fansible-media-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compscidr%2Fansible-media-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/compscidr","download_url":"https://codeload.github.com/compscidr/ansible-media-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/compscidr%2Fansible-media-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28968836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T04:44:20.970Z","status":"ssl_error","status_checked_at":"2026-02-01T04:44:19.994Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","jackett","ombi","plex","prowlarr","radarr","sabnzbd","sonarr","transmission"],"created_at":"2024-11-12T18:24:27.910Z","updated_at":"2026-02-01T05:08:08.046Z","avatar_url":"https://github.com/compscidr.png","language":"YAML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ansible-media-server\n[![Static Badge](https://img.shields.io/badge/Ansible_galaxy-Download-blue)](https://galaxy.ansible.com/ui/repo/published/compscidr/media_server/)\n[![ansible lint](https://github.com/compscidr/ansible-media-server/actions/workflows/check.yml/badge.svg)](https://github.com/compscidr/ansible-media-server/actions/workflows/check.yml)\n[![ansible lint rules](https://img.shields.io/badge/Ansible--lint-rules%20table-blue.svg)](https://ansible.readthedocs.io/projects/lint/rules/)\n\nA collection of roles for running a media server with docker containers:\n- flaresolverr\n- jackett\n- lidarr\n- ombi\n- plex\n- prowlarr\n- radarr\n- sabnzbd\n- sonarr\n- transmission\n\n## Usage\nadd the collection to your meta/requirements.yml:\n```\ncollections:\n    - name: compscidr.media_server\n        version: \"\u003cinsert version here\u003e\"\n```\n\nInstall the collection:\n```\nansible-galaxy install -r meta/requirements.yml\n```\n\nUse in a playbook:\n```\n---\n- name: Media Services\n  hosts: all\n  vars_files:\n    - vars/some_vars.yml\n  roles:\n    - role: compscidr.media_server.transmission\n    - role: compscidr.media_server.plex\n      vars:\n        plex_dri_devices: true\n        plex_bonjour_port: 5354\n    - role: compscidr.media_server.flaresolverr\n    - role: compscidr.media_server.jackett\n    - role: compscidr.media_server.sonarr\n    - role: compscidr.media_server.radarr\n    - role: compscidr.media_server.prowlarr\n    - role: compscidr.media_server.sabnzbd\n```\n\n# Variables\nVariable                                | Description\n--------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\nflare_port                              | The port flaresolverr will listen on\nflare_captcha_solver                    | The captcha solver used for flaresolverr\nflare_tz                                | The timezone to use for flaresolverr\njackett_folder                          | The config folder for jacket\njackett_download_folder                 | The downloads folder for jackett\njackett_port                            | The port jackett will listen on\njackett_tz                              | The timezone to use for jackett\njackett_pid                             | the user id for volume permissions\njackett_gid                             | the group id for volume permissions\nombi_port                               | The port ombi will listen on\nombi_tz                                 | The timezone to use for ombi\nombi_folder                             | The config folder for ombi\nombi_gid                                | the user id for volume permissions\nombi_pid                                | the group id for volume permissions\nombi_virtual_host                       | the host if ombi is behind a nginx reverse proxy\nombi_virtual_port                       | the port ombi is listening on behind the nginx proxy\nombi_letsencrypt_host                   | the hostname to obtain letsencrypt certificates for\nombi_letsencrypt_email                  | the email address associated with the letsencrypt certs\nplex_port                               | The port plex will listen on\nplex_dlna_port                          | The port plex will listen on for DNLA requests (udp)\nplex_bonjour_port                       | The port plex will listen on for bounjour/avahi protocol\nplex_roku_port                          | The port plex will listen on for roku companion\nplex_gdm_port1                          | The port plex will listen on for GDM network discovery https://support.plex.tv/articles/201543147-what-network-ports-do-i-need-to-allow-through-my-firewall/\nplex_gdm_port2                          | The port plex will listen on for GDM network discovery https://support.plex.tv/articles/201543147-what-network-ports-do-i-need-to-allow-through-my-firewall/\nplex_gdm_port3                          | The port plex will listen on for GDM network discovery https://support.plex.tv/articles/201543147-what-network-ports-do-i-need-to-allow-through-my-firewall/\nplex_gdm_port4                          | The port plex will listen on for GDM network discovery https://support.plex.tv/articles/201543147-what-network-ports-do-i-need-to-allow-through-my-firewall/\nplex_dlna_server_port                   | The port plex will listen on for DNLA requests (tcp)\nplex_folder                             | plex config folder\nplex_tv_folder                          | where plex tv shows are located\nplex_movies_folder                      | where plex movies are located\nplex_music_folder                       | where plex music is located\nplex_tz                                 | plex timezome\nplex_pid                                | the user id for volume permissions\nplex_gid                                | the group id for volume permissions\nplex_dvb_devices                        | DVB transcoding acceleration\nplex_dri_devices                        | DRI transcoding acceleration\nplex_claim                              | Used to attach a plex token to the server, see: https://docs.linuxserver.io/images/docker-plex/#environment-variables-e. This only needs to be present during initial setup as long as the storage volume hasn't been clobbered\nprowlarr_port                           | The port prowlarr will listen on\nprowlarr_folder                         | prowlarr config folder\nprowlarr_tz                             | prowlarr timzeone\nprowlarr_pid                            | the user id for volume permissions\nprowlarr_gid                            | the group id for volume permissions\nlidarr_install_docker                   | Set to true to install docker for lidarr role (defaults to false)\nlidarr_folder                           | lidarr config folder\nlidarr_music_folder                     | where the completed music should be moved to\nlidarr_transmission_downloads_folder    | transmission download folder\nlidarr_sabnzbd_downoads_folder          | sabnzbd download folder\nlidarr_port                             | the port lidarr will listen on\nlidarr_tz                               | lidarr timezone\nlidarr_pid                              | the user id for volume permissions\nlidarr_gid                              | the group id for volume permissions\nradarr_install_docker                   | Set to true to install docker for radarr role (defaults to false)\nradarr_folder                           | radarr config folder\nradarr_movies_folder                    | where the completed moves should be moved to\nradarr_transmission_downloads_folder    | transmission download folder\nradarr_sabnzbd_downoads_folder          | sabnzbd download folder\nradarr_port                             | the port raddarr will listen on\nradarr_tz                               | radarr timezone\nradarr_pid                              | the user id for volume permissions\nradarr_gid                              | the group id for volume permissions\nsabnzbd_folder                          | config folder\nsabnzbd_download_folder                 | sabnzbd download folder\nsabnzbd_port                            | port sabnzbd will listen on\nsabnzbd_tz                              | sabnzbd timezone\nsabnzbd_pid                             | the user id for volume permission\nsabnzbd_gid                             | the group id for volume permission\nsonarr_install_docker                   | Set to true to install docker for sonarr role (defaults to false)\nsonarr_folder                           | sonarr config folder\nsonarr_tv_folder                        | where the completed tv shows will be moved to\nsonarr_tranmissions_downloads_folder    | transmission download folder\nsonarr_sabnzbd_downoads_folder:         | sabznbd downlod folder\nsonarr_port                             | the port where sonarr will listen on\nsonarr_tz                               | sonarr timezone\nsonarr_pid                              | the user id for volume permissions\nsonarr_gid                              | the group id for volume permissions\ntransmission_port                       | port transmission will listen on\ntransmission_folder                     | transmission config folder\ntransmission_downloads_folder           | tranmission download folder\ntransmission_pid                        | the user id for volume permissions\ntransmission_gid                        | the group id for volume permissions\ntransmission_tz                         | transmission timezone\ntransmission_env_file: \"{{ transmission_folder }}/.env\" | the environment file which contains env variables for things like VPN login credentials, see https://github.com/haugene/docker-transmission-openvpn\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompscidr%2Fansible-media-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcompscidr%2Fansible-media-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcompscidr%2Fansible-media-server/lists"}