Merge branch 'pytivo-addition' of https://github.com/bcurran3/ansible-nas into bcurran3-pytivo-addition

* 'pytivo-addition' of https://github.com/bcurran3/ansible-nas:
  fixed trailing whitespace
  PyTivo - add to app list
  PyTivo - document ports
  PyTivo docs
  add PyTivo task to run
  PyTivo task
  PyTivo - add variables
This commit is contained in:
David Stephens 2020-05-09 22:46:42 +01:00
commit 4b240af672
6 changed files with 87 additions and 0 deletions

View file

@ -69,6 +69,7 @@ Ansible config and a bunch of Docker containers.
* [Plex](https://www.plex.tv/) - Plex Media Server
* [Portainer](https://portainer.io/) - for managing Docker and running custom images
* [pyLoad](https://pyload.net/) - A download manager with a friendly web-interface
* [PyTivo](http://pytivo.org) - An HMO and GoBack server for TiVos.
* [Radarr](https://radarr.video/) - for organising and downloading movies
* [Serposcope](https://serposcope.serphacker.com/en/) - tracker to monitor website ranking
* [Sickchill](https://sickchill.github.io/) - for managing TV episodes

View file

@ -0,0 +1,27 @@
# PyTivo
Project Homepage:
[https://github.com/lucasnz/pytivo](https://github.com/lucasnz/pytivo)
Docker Homepage:
[https://hub.docker.com/r/pinion/docker-pytivo](https://hub.docker.com/r/pinion/docker-pytivo)
PyTivo is both an HMO and GoBack server. Similar to TiVo Desktop pyTivo
loads many standard video compression codecs and outputs mpeg2 video to
the TiVo. However, pyTivo is able to load MANY more file types than TiVo
Desktop. [http://pytivo.org/](http://pytivo.org/)
## Usage
Set `pytivo_enabled: true` in your `group_vars/all.yml` file. The PyTivo
web interface can be found at http://ansible_nas_host_or_ip:9032.
## Specific Configuration
PyTivo needs to be configured for use. Your ansible-nas media is
available to share via:
* /movies - Where your movies are stored
* /music - Where your music is stored
* /photos - Where your photos are stored
* /podcasts - Where your podcasts are stored
* /tv - Where your TV episodes are stored
Configuration help for PyTivo settings can be found at [Configure_pyTivo](https://pytivo.sourceforge.io/wiki/index.php/Configure_pyTivo).

View file

@ -47,6 +47,8 @@ By default, applications can be found on the ports listed below.
| Plex | 32400 | |
| Portainer | 9000 | |
| pyload | 8000 | |
| PyTivo | 9032 | HTTP |
| PyTivo | 2190 | UDP |
| Radarr | 7878 | |
| Serposcope | 7134 | |
| Sickchill | 8081 | |

View file

@ -96,6 +96,9 @@ ubooquity_enabled: false
# Joomla
joomla_enabled: false
# PyTivo
pytivo_enabled: false
# SEO
serposcope_enabled: false
@ -419,6 +422,19 @@ plex_user_id: "0"
plex_group_id: "0"
plex_port: "32400"
###
### PyTivo
###
pytivo_available_externally: "false"
pytivo_config_directory: "{{ docker_home }}/pytivo/config"
pytivo_movies_directory: "{{ movies_root }}"
pytivo_tv_directory: "{{ tv_root }}"
pytivo_photos_directory: "{{ photos_root }}"
pytivo_music_directory: "{{ music_root }}"
pytivo_podcasts_directory: "{{ podcasts_root }}"
pytivo_user_id: "0"
pytivo_group_id: "0"
###
### Homebridge
###

View file

@ -231,3 +231,7 @@
- import_tasks: tasks/virtual_desktop.yml
when: (virtual_desktop_enabled | default(False))
tags: virtual_desktop
- import_tasks: tasks/pytivo.yml
when: (pytivo_enabled | default(False))
tags: pytivo

37
tasks/pytivo.yml Normal file
View file

@ -0,0 +1,37 @@
---
- name: PyTivo - create config directory
file:
path: "{{ item }}"
state: directory
mode: 0777
with_items:
- "{{ pytivo_config_directory }}"
- name: PyTivo - install Docker container
docker_container:
name: pytivo
image: pinion/docker-pytivo
pull: true
ports:
- "9032:9032"
- "2190:2190/udp"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "{{ pytivo_config_directory }}:/config:rw"
- "{{ pytivo_movies_directory }}:/movies:ro"
- "{{ pytivo_tv_directory }}:/tv:ro"
- "{{ pytivo_photos_directory }}:/photos:ro"
- "{{ pytivo_music_directory }}:/music:ro"
- "{{ pytivo_podcasts_directory }}:/podcasts:ro"
network_mode: "host"
env:
TZ: "{{ ansible_nas_timezone }}"
PUID: "{{ pytivo_user_id }}"
PGID: "{{ pytivo_group_id }}"
restart_policy: unless-stopped
memory: 1g
labels:
traefik.backend: "pytivo"
traefik.frontend.rule: "Host:pytivo.{{ ansible_nas_domain }}"
traefik.enable: "{{ pytivo_available_externally }}"
traefik.port: "9032"