Add role for epgd
This is an initial draft. Many thanks to minixjr (https://www.vdr-portal.de/forum/index.php?thread/131575-yavdr-ansible/&postID=1313526#post1313526). TODOs: - seperate role(s) for vdr-plugin-epg2vdr and scraper2vdr - configure epg2vdr and scraper2vdr - allow to use a seperate MySQL/MariaDB server instead of a local one
This commit is contained in:
parent
fa25896096
commit
71e772cdca
42
Manual.org
42
Manual.org
@ -291,6 +291,7 @@ The ~yavdr07.yml~ playbook sets up a fully-featured yaVDR installation:
|
||||
- autoinstall-dvbsky-firmware # download and install required firmware files for dvbsky cards
|
||||
- autoinstall-firmware # download and install firmware files for dvb devices
|
||||
#- serial-ir # configure a serial port for "homebrew" ir receivers (e.g. Atric V5)
|
||||
#- epgd # install vdr-epg-daemon (and vdr-plugin-epg2vdr)
|
||||
- kodi
|
||||
- dvd # set up packages and a udev rule to allow kodi and other players
|
||||
# to play and eject optical media
|
||||
@ -328,6 +329,7 @@ For a headless server installation ~yavdr07-headless.yml~ is a good choice
|
||||
- autoinstall-dvbsddevice # install vdr-plugin-dvbsddevice if a matching card is detected
|
||||
- autoinstall-dvbsky-firmware # download and install required firmware files for dvbsky cards
|
||||
- autoinstall-firmware # download and install firmware files for dvb devices
|
||||
#- epgd # install vdr-epg-daemon
|
||||
- wakeup
|
||||
tags:
|
||||
- always
|
||||
@ -513,8 +515,8 @@ install nvidia-396 from ppa:graphics-drivers/ppa
|
||||
- name: install nvidia-396 and other required packages
|
||||
apt:
|
||||
name:
|
||||
-nvidia-396
|
||||
-nvidia-settings
|
||||
- nvidia-396
|
||||
- nvidia-settings
|
||||
state: present
|
||||
install_recommends: no
|
||||
tags:
|
||||
@ -6041,14 +6043,42 @@ This file maps the keys defined in Lircmap.xml to actions within kodi.
|
||||
:ID: 7e7f26cf-073d-4d1c-8f6e-cc69de259aaf
|
||||
:END:
|
||||
#+INCLUDE: "roles/dvd/tasks/main.yml" src yaml
|
||||
|
||||
** vdr-epg-daemon
|
||||
This role installs the vdr-epg-daemon
|
||||
*** defaults
|
||||
#+include: roles/epgd/defaults/main.yml src yaml
|
||||
|
||||
*** tasks
|
||||
#+include: roles/epgd/tasks/main.yml src yml
|
||||
|
||||
*** templates
|
||||
#+include: roles/epgd/templates/etc_mysql_mardiadb.conf.d_99-epgd.cnf.j2 src jinja2
|
||||
#+include: roles/epgd/templates/root_.ssh_mysqlpasswd.j2 src jinja2
|
||||
#+include: roles/epgd/templates/etc_epgd_epgd.conf.j2 src jinja2
|
||||
|
||||
** install-sundtek
|
||||
:PROPERTIES:
|
||||
:ID: de68c6d2-92c7-47c2-9d28-bfa6be00ec3e
|
||||
:END:
|
||||
*** variables
|
||||
:PROPERTIES:
|
||||
:ID: bab04ad5-86b1-4953-a87e-bb6bfa9e5d0c
|
||||
:END:
|
||||
*** dependencies
|
||||
#+BEGIN_SRC yaml :tangle roles/install-sundtek/meta/main.yml :padline no
|
||||
---
|
||||
dependencies:
|
||||
- { role: collect-facts }
|
||||
|
||||
#+END_SRC
|
||||
*** defaults
|
||||
#+BEGIN_SRC yaml :tangle roles/install-sundtek/defaults/main.yml
|
||||
---
|
||||
# file: roles/install-sundtek/defaults/main.yml
|
||||
|
||||
sundtek:
|
||||
install: auto
|
||||
wait_for_devices: true
|
||||
wait_for_network: false
|
||||
#+END_SRC
|
||||
|
||||
*** tasks
|
||||
:PROPERTIES:
|
||||
:ID: f06b2ce3-e6c0-41d7-809a-12d869525a11
|
||||
|
40
roles/epgd/defaults/main.yml
Normal file
40
roles/epgd/defaults/main.yml
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
# file: roles/epgd/defaults/main.yml
|
||||
|
||||
epgd_dbhost: localhost
|
||||
epgd_dbport: 3306
|
||||
epgd_dbname: epg2vdr
|
||||
epgd_dbuser: epg2vdr
|
||||
epgd_dbpass: epg
|
||||
epgd_epgview: eventsview.sql
|
||||
epgd_epgviewweb: eventsviewplain.sql
|
||||
epgd_thetvdbview: thetvdbview.sql
|
||||
epgd_checkinitial: 1
|
||||
epgd_daysinadvance: 8
|
||||
epgd_daystoupdate: 4
|
||||
epgd_updatetime: 12
|
||||
epgd_updatethreshold: 500
|
||||
epgd_xmlstoretofs: 0
|
||||
epgd_getepgimages: 1
|
||||
# EpgImageSize
|
||||
# 0 = 174x130
|
||||
# 1 = 329x245
|
||||
# 2 = 525x400
|
||||
epgd_epgimagesize: 2
|
||||
epgd_maximagesperevent: 1
|
||||
epgd_seriesenabled: 1
|
||||
epgd_seriesport: 2006
|
||||
epgd_seriesstoretofs: 0
|
||||
epgd_seriesurl: www.eplists.de
|
||||
epgd_scrapepg: 1
|
||||
epgd_scrapRecordings: 1
|
||||
#epgd_scrapmoviedbapikey: ""
|
||||
epgd_cachepath: /var/cache/epgd/
|
||||
epgd_epghttpd_port: 9999
|
||||
#epgd_httpproxy: 127.0.0.1:8000
|
||||
epgd_httpproxy_username: ""
|
||||
epgd_httpproxy_password: ""
|
||||
epgd_LogLevel: 1
|
||||
epgd_epgdata_url: http://www.epgdata.com
|
||||
epgd_epgdata_pin: insert-your-pin-here
|
||||
epgd_epgdata_timeout: 180
|
94
roles/epgd/tasks/main.yml
Normal file
94
roles/epgd/tasks/main.yml
Normal file
@ -0,0 +1,94 @@
|
||||
#Installing mariadb, epg-daemon and epg2vdr.
|
||||
#bind-address is set to 0.0.0.0 --> 99-epgd.cnf.
|
||||
#The root SQL password is only stored (NONE), because the epgd-tool
|
||||
#is expecting it. But it is not really used,
|
||||
#because the connection is established via a socket without a password.
|
||||
#Normal users must use sudo if they want to access mysql as root.
|
||||
#TODO:
|
||||
# - Create channelmap if channels.conf is present.
|
||||
# (the script already exists at mld.)
|
||||
# - because skindesigner-logos delivers only svg-logos, logoSuffix svg should be the preset --> vdr-epg-daemon / lib / parameters.c
|
||||
# - customize epgd-tool for mariadb
|
||||
|
||||
|
||||
- name: MariaDB and Plugin | install
|
||||
apt:
|
||||
name: ['mariadb-server', 'mariadb-plugin-epglv', 'python-pymysql']
|
||||
state: present
|
||||
|
||||
- name: copy file | epgd mariadb config
|
||||
template:
|
||||
src: templates/etc_mysql_mariadb.conf.d_99-epgd.cnf.j2
|
||||
dest: /etc/mysql/mariadb.conf.d/99-epgd.cnf
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: create /root/.ssh if it doesn't exist yes
|
||||
file:
|
||||
path: /root/.ssh
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0700
|
||||
|
||||
- name: copy file | mysqlpasswd
|
||||
template:
|
||||
src: templates/root_.ssh_mysqlpasswd.j2
|
||||
dest: /root/.ssh/mysqlpasswd
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0600
|
||||
backup: yes
|
||||
|
||||
- name: Restart mariadb
|
||||
systemd:
|
||||
name: mariadb.service
|
||||
state: restarted
|
||||
enabled: yes
|
||||
masked: no
|
||||
|
||||
- name: Create a new database for epgd
|
||||
mysql_db:
|
||||
name: "{{ epgd_dbname }}"
|
||||
state: present
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
|
||||
- name: Create User for epgd database
|
||||
mysql_user:
|
||||
name: "{{ epgd_dbuser }}"
|
||||
password: "{{ epgd_dbpass }}"
|
||||
host: '%'
|
||||
priv: '{{ epgd_dbname }}.*:ALL'
|
||||
state: present
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
|
||||
- name: Create User for epgd database
|
||||
mysql_user:
|
||||
name: "{{ epgd_dbuser }}"
|
||||
password: "{{ epgd_dbpass }}"
|
||||
host: 'localhost'
|
||||
priv: '{{ epgd_dbname }}.*:ALL'
|
||||
state: present
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
|
||||
- name: create epgd config folder
|
||||
file:
|
||||
path: /etc/epgd
|
||||
state: directory
|
||||
|
||||
- name: epgd config
|
||||
template:
|
||||
src: templates/etc_epgd_epgd.conf.j2
|
||||
dest: /etc/epgd/epgd.conf
|
||||
|
||||
- name: epgd | install
|
||||
apt:
|
||||
name: ['vdr-epg-daemon', 'vdr-plugin-epg2vdr', 'skindesigner-logos']
|
||||
state: present
|
||||
|
||||
#- name: epgd | start
|
||||
#systemd:
|
||||
#name: epgd_service
|
||||
#state: started
|
||||
#enabled: yes
|
||||
#masked: no
|
74
roles/epgd/templates/etc_epgd_epgd.conf.j2
Normal file
74
roles/epgd/templates/etc_epgd_epgd.conf.j2
Normal file
@ -0,0 +1,74 @@
|
||||
{{ ansible_managed | comment }}
|
||||
# ------------------------------------
|
||||
# Configuration of EPG Daemon
|
||||
# ------------------------------------
|
||||
|
||||
DbHost = {{ epgd_dbhost }}
|
||||
DbPort = {{ epgd_dbport }}
|
||||
DbName = {{ epgd_dbname }}
|
||||
DbUser = {{ epgd_dbuser }}
|
||||
DbPass = {{ epgd_dbpass }}
|
||||
|
||||
EpgView = {{ epgd_epgview }}
|
||||
EpgViewWeb = {{ epgd_epgviewweb }}
|
||||
TheTvDBView = {{ epgd_thetvdbview }}
|
||||
|
||||
CheckInitial = {{ epgd_checkinitial }}
|
||||
DaysInAdvance = {{ epgd_daysinadvance }}
|
||||
DaysToUpdate = {{ epgd_daystoupdate }}
|
||||
UpdateTime = {{ epgd_updatetime }}
|
||||
UpdateThreshold = {{ epgd_updatethreshold }}
|
||||
|
||||
XmlStoreToFs = {{ epgd_xmlstoretofs }}
|
||||
|
||||
GetEPGImages = {{ epgd_getepgimages }}
|
||||
# EpgImageSize
|
||||
# 0 = 174x130
|
||||
# 1 = 329x245
|
||||
# 2 = 525x400
|
||||
EpgImageSize = {{ epgd_epgimagesize }}
|
||||
MaxImagesPerEvent = {{ epgd_maximagesperevent }}
|
||||
|
||||
SeriesEnabled = {{ epgd_seriesenabled }}
|
||||
SeriesPort = {{ epgd_seriesport }}
|
||||
SeriesStoreToFs = {{ epgd_seriesstoretofs }}
|
||||
SeriesUrl = {{ epgd_seriesurl }}
|
||||
|
||||
ScrapEpg = {{ epgd_scrapepg }}
|
||||
ScrapRecordings = {{ epgd_scrapRecordings }}
|
||||
{% if epgd_scrapmoviedbapikey is defined %}
|
||||
ScapMovieDbApiKey = {{ epgd_scrapmoviedbapikey }}
|
||||
{% else %}
|
||||
#ScrapMovieDbApiKey =
|
||||
{% endif %}
|
||||
|
||||
{% if epgd_netdevice is defined %}
|
||||
NetDevice = {{ epgd_netdevice }}
|
||||
{% else %}
|
||||
# NetDevice = eth0
|
||||
{% endif %}
|
||||
|
||||
CachePath = {{ epgd_cachepath }}
|
||||
HttpPort = {{ epgd_epghttpd_port }}
|
||||
|
||||
{% if epgd_httpproxy is defined %}
|
||||
HttpProxy = {{ epgd_httpproxy }}
|
||||
UserName = {{ epgd_httpproxy_username }}
|
||||
Password = {{ epgd_httpproxy_password }}
|
||||
{% else %}
|
||||
# HttpProxy = 127.0.0.1:8000
|
||||
# UserName =
|
||||
# Password =
|
||||
{% endif %}
|
||||
|
||||
LogLevel = {{ epgd_LogLevel }}
|
||||
|
||||
# ---------------
|
||||
# epgdata plugin
|
||||
# ---------------
|
||||
|
||||
epgdata.url = {{ epgd_epgdata_url }}
|
||||
epgdata.pin = {{ epgd_epgdata_pin }}
|
||||
|
||||
# Download timeout in seconds (default 180)
|
||||
epgdata.timeout = {{ epgd_epgdata_timeout }}
|
@ -0,0 +1,4 @@
|
||||
{{ ansible_managed | comment }}
|
||||
[mysqld]
|
||||
bind-address = 0.0.0.0
|
||||
|
2
roles/epgd/templates/root_.ssh_mysqlpasswd.j2
Normal file
2
roles/epgd/templates/root_.ssh_mysqlpasswd.j2
Normal file
@ -0,0 +1,2 @@
|
||||
{{ ansible_managed | comment }}
|
||||
PASSWORD=NONE
|
@ -20,6 +20,7 @@
|
||||
- autoinstall-dvbsddevice # install vdr-plugin-dvbsddevice if a matching card is detected
|
||||
- autoinstall-dvbsky-firmware # download and install required firmware files for dvbsky cards
|
||||
- autoinstall-firmware # download and install firmware files for dvb devices
|
||||
#- epgd # install vdr-epg-daemon
|
||||
- wakeup
|
||||
tags:
|
||||
- always
|
||||
|
@ -33,6 +33,7 @@
|
||||
- autoinstall-dvbsky-firmware # download and install required firmware files for dvbsky cards
|
||||
- autoinstall-firmware # download and install firmware files for dvb devices
|
||||
#- serial-ir # configure a serial port for "homebrew" ir receivers (e.g. Atric V5)
|
||||
#- epgd # install vdr-epg-daemon (and vdr-plugin-epg2vdr)
|
||||
- kodi
|
||||
- dvd # set up packages and a udev rule to allow kodi and other players
|
||||
# to play and eject optical media
|
||||
|
Loading…
Reference in New Issue
Block a user