Installs sabnzbd
, sonarr
, radarr
, bazarr
and nzbhydra2
as docker containers managed by systemd.
- Docker
- docker-compose
- Systemd
- (none, so far)
- Template docker-compose file environment
- Create volume paths for docker containers
- Setup systemd unit file
- Start/Restart systemd service
Variable | Type | Mandatory? | Default | Description |
---|---|---|---|---|
usenet_sabnzbd_version | text | no | latest | sabnzbd's Docker image version |
usenet_sonarr_version | text | no | latest | sonarr's Docker image version |
usenet_radarr_version | text | no | latest | radarr's Docker image version |
usenet_bazarr_version | text | no | latest | bazarr's Docker image version |
usenet_nzbhydra2_version | text | no | latest | nzbhydra2's Docker image version |
usenet_docker_working_directory | absolute path | no | /opt/usenet/docker | Docker working directory |
usenet_sabnzbd_config_volume_directory | absolute path | no | /srv/usenet/sabnzbd/config | Location where sabnzbd's config will be stored |
usenet_sonarr_config_volume_directory | absolute path | no | /srv/usenet/sonarr/config | Location where sonarr's config will be stored |
usenet_radarr_config_volume_directory | absolute path | no | /srv/usenet/radarr/config | Location where radarr's config will be stored |
usenet_bazarr_config_volume_directory | absolute path | no | /srv/usenet/bazarr/config | Location where bazarr's config will be stored |
usenet_nzbhydra2_config_volume_directory | absolute path | no | /srv/usenet/nzbhydra2/movies | Location where nzbhydra2's config will be stored |
usenet_downloads_volume_directory | absolute path | no | /srv/usenet/sabnzbd/downloads | Location where downloads will be stored |
usenet_incomplete_downloads_volume_directory | absolute path | no | /srv/usenet/sabnzbd/incomplete-downloads | Location where incomplete downloads will be stored |
usenet_tv_volume_directory | absolute path | no | /srv/usenet/tv | Location where tv will be stored |
usenet_movies_volume_directory | absolute path | no | /srv/usenet/movies | Location where movies will be stored |
usenet_sabnzbd_network_interface | network address | no | 0.0.0.0 | Bound network interface for sabnzbd's web-interface |
usenet_sabnzbd_http_port | network port | no | 8080 | Network port for sabnzbd's http web-interface |
usenet_sabnzbd_https_port | network port | no | 9090 | Network port for sabnzbd's https web-interface |
usenet_sonarr_network_interface | network address | no | 0.0.0.0 | Bound network interface for sonarr's web-interface |
usenet_sonarr_http_port | network port | no | 8989 | Network port for sonarr's http web-interface |
usenet_radarr_network_interface | network address | no | 0.0.0.0 | Bound network interface for radarr's web-interface |
usenet_radarr_http_port | network port | no | 7878 | Network port for radarr's http web-interface |
usenet_bazarr_network_interface | network address | no | 0.0.0.0 | Bound network interface for bazarr's web-interface |
usenet_bazarr_http_port | network port | no | 6767 | Network port for bazarr's http web-interface |
usenet_nzbhydra2_network_interface | network address | no | 0.0.0.0 | Bound network interface for nzbhydra2's web-interface |
usenet_nzbhydra2_http_port | network port | no | 5076 | Network port for nzbhydra2's http web-interface |
usenet_user_id | user id | no | 666 | User id the services are running with |
usenet_group_id | group id | no | 666 | Group id the services are running with |
usenet_use_vpn | boolean | no | false | Specifies if sabnzbd and nzbhydra2 are using a vpn container connection |
usenet_vpn_container_name | text | yes, if usenet_use_vpn is true |
The name of the used container which provides the vpn connection |
- name: install-usenet
src: https://github.com/borisskert/ansible_usenet.git
scm: git
- hosts: servers
roles:
- role: install-usenet
usenet_sabnzbd_version: version-3.1.1
usenet_sonarr_version: version-2.0.0.5344
usenet_radarr_version: version-3.0.0.4127
usenet_bazarr_version: version-v0.9.0.6
usenet_nzbhydra2_version: version-v3.5.1
usenet_sabnzbd_network_interface: 0.0.0.0
usenet_sabnzbd_http_port: 8080
usenet_sabnzbd_https_port: 9090
usenet_sonarr_network_interface: 0.0.0.0
usenet_sonarr_http_port: 8989
usenet_radarr_network_interface: 0.0.0.0
usenet_radarr_http_port: 7878
usenet_bazarr_network_interface: 0.0.0.0
usenet_bazarr_http_port: 6767
usenet_nzbhydra2_network_interface: 0.0.0.0
usenet_nzbhydra2_http_port: 5076
usenet_sabnzbd_config_volume_directory: /srv/usenet/config/sabnzbd
usenet_sonarr_config_volume_directory: /srv/usenet/config/sonarr
usenet_radarr_config_volume_directory: /srv/usenet/config/radarr
usenet_bazarr_config_volume_directory: /srv/usenet/config/bazarr
usenet_nzbhydra2_config_volume_directory: /srv/usenet/config/nzbhydra2
usenet_downloads_volume_directory: /srv/usenet/downloads
usenet_incomplete_downloads_volume_directory: /srv/usenet/incomplete-downloads
usenet_tv_volume_directory: /srv/usenet/tv
usenet_movies_volume_directory: /srv/usenet/movies
usenet_user_id: 666
usenet_group_id: 666
Requirements:
molecule test --scenario-name docker-default && molecule test --scenario-name docker-all-parameters && molecule test -s docker-with-vpn && molecule test -s docker-with-and-all-parameters
molecule test --scenario-name vagrant-default && molecule test --scenario-name vagrant-all-parameters
I recommend to use pyenv for local testing. Within the Github Actions pipeline I use my own molecule Docker image.
MIT