Feat: add minidlna to nas

This commit is contained in:
Bertrand Benjamin 2022-06-05 09:05:48 +02:00
parent 5b3faafcb1
commit 61d0d56c42
8 changed files with 190 additions and 5 deletions

View File

@ -41,6 +41,10 @@
- docker - docker
- pihole - pihole
- role: minidlna
tags:
- minidlna
tasks: tasks:
- name: Include user - name: Include user
include_role: include_role:

View File

@ -0,0 +1,14 @@
---
# defaults file for minidlna
minidlna_network_interface: eth0
minidlna_network_port: 8200
minidlna_friendly_name: Ansible DLNA server
minidlna_media_dir: /var/lib/minidlna
minidlna_db_dir: /var/cache/minidlna
minidlna_log_dir: /var/cache/minidlna
minidlna_root_container: "."
minidlna_inotify: "yes"

View File

@ -0,0 +1,6 @@
---
# handlers file for minidlna
- name: restart minidlna
service:
name: minidlna
state: restart

View File

@ -0,0 +1,6 @@
---
- name: Debian - Install minidlna
apt:
name:
- minidlna
state: present

View File

@ -0,0 +1,20 @@
---
# tasks file for nut
- name: Install os-specific packages
include_tasks: "{{ ansible_os_family | lower }}.yml"
- name: Copy minidlna.conf
template:
src: minidlna.j2.conf
dest: /etc/minidlna.conf
owner: root
group: root
mode: 0644
notify: restart minidlna
- name: start and enable minidlna
service:
name: minidlna
enabled: yes
state: started

View File

@ -0,0 +1,132 @@
# This is the configuration file for the MiniDLNA daemon, a DLNA/UPnP-AV media
# server.
#
# Unless otherwise noted, the commented out options show their default value.
#
# On Debian, you can also refer to the minidlna.conf(5) man page for
# documentation about this file.
# Specify the user name or uid to run as (root by default).
# On Debian system command line option (from /etc/default/minidlna) overrides this.
#user=minidlna
# Path to the directory you want scanned for media files.
#
# This option can be specified more than once if you want multiple directories
# scanned.
#
# If you want to restrict a media_dir to a specific content type, you can
# prepend the directory name with a letter representing the type (A, P or V),
# followed by a comma, as so:
# * "A" for audio (eg. media_dir=A,/var/lib/minidlna/music)
# * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)
# * "V" for video (eg. media_dir=V,/var/lib/minidlna/videos)
# * "PV" for pictures and video (eg. media_dir=PV,/var/lib/minidlna/digital_camera)
media_dir={{ minidlna_media_dir }}
# Set this to merge all media_dir base contents into the root container
# (The default is no.)
#merge_media_dirs=no
# Path to the directory that should hold the database and album art cache.
db_dir={{ minidlna_db_dir }}
# Path to the directory that should hold the log file.
log_dir={{ minidlna_log_dir }}
# Type and minimum level of importance of messages to be logged.
#
# The types are "artwork", "database", "general", "http", "inotify",
# "metadata", "scanner", "ssdp" and "tivo".
#
# The levels are "off", "fatal", "error", "warn", "info" or "debug".
# "off" turns of logging entirely, "fatal" is the highest level of importance
# and "debug" the lowest.
#
# The types are comma-separated, followed by an equal sign ("="), followed by a
# level that applies to the preceding types. This can be repeated, separating
# each of these constructs with a comma.
#
# The default is to log all types of messages at the "warn" level.
#log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn
# Use a different container as the root of the directory tree presented to
# clients. The possible values are:
# * "." - standard container
# * "B" - "Browse Directory"
# * "M" - "Music"
# * "P" - "Pictures"
# * "V" - "Video"
# * Or, you can specify the ObjectID of your desired root container
# (eg. 1$F for Music/Playlists)
# If you specify "B" and the client device is audio-only then "Music/Folders"
# will be used as root.
root_container={{ minidlna_root_container }}
# Network interface(s) to bind to (e.g. eth0), comma delimited.
# This option can be specified more than once.
network_interface={{ minidlna_network_interface }}
# Port number for HTTP traffic (descriptions, SOAP, media transfer).
# This option is mandatory (or it must be specified on the command-line using
# "-p").
port={{ minidlna_network_port }}
# URL presented to clients (e.g. http://example.com:80).
#presentation_url=/
# Name that the DLNA server presents to clients.
# Defaults to "hostname: username".
friendly_name={{ minidlna_friendly_name }}
# Serial number the server reports to clients.
# Defaults to the MAC address of nework interface.
#serial=
# Model name the server reports to clients.
#model_name=Windows Media Connect compatible (MiniDLNA)
# Model number the server reports to clients.
# Defaults to the version number of minidlna.
#model_number=
# Automatic discovery of new files in the media_dir directory.
inotify={{ minidlna_inotify }}
# List of file names to look for when searching for album art.
# Names should be delimited with a forward slash ("/").
# This option can be specified more than once.
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg
album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg
album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
# Strictly adhere to DLNA standards.
# This allows server-side downscaling of very large JPEG images, which may
# decrease JPEG serving performance on (at least) Sony DLNA products.
#strict_dlna=no
# Support for streaming .jpg and .mp3 files to a TiVo supporting HMO.
#enable_tivo=no
# Which method to use for registering in TiVo: 'bonjour' (default) or
# legacy 'beacon'
#tivo_discovery=bonjour
# SSDP notify interval, in seconds.
#notify_interval=895
# Path to the MiniSSDPd socket, for MiniSSDPd support.
#minissdpdsocket=/run/minissdpd.sock
# Always set SortCriteria to this value, regardless of the SortCriteria
# passed by the client
# e.g. force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title
#force_sort_criteria=
# maximum number of simultaneous connections
# note: many clients open several simultaneous connections while streaming
#max_connections=50
# set this to yes to allow symlinks that point outside user-defined media_dirs.
#wide_links=no

View File

@ -1,11 +1,6 @@
--- ---
collectd_network_server: 192.168.2.240
collectd_network_port: 25826
ssh_publickey: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB7aeBuq7TC8bRATkXa3QY4icPSz9apd2ZSVfnMZD+ta waha@Combava-2022-03-23" ssh_publickey: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB7aeBuq7TC8bRATkXa3QY4icPSz9apd2ZSVfnMZD+ta waha@Combava-2022-03-23"
#ansible_become_pass: "{{ lookup('passwordstore', 'home/nas/admin')}}"
nfs_exports: nfs_exports:
- src: '/mnt/DocNas/Benjamin' - src: '/mnt/DocNas/Benjamin'
@ -32,3 +27,7 @@ samba_exports:
public: 'yes' public: 'yes'
writable: 'yes' writable: 'yes'
path: "/mnt/DocNas/Margot" path: "/mnt/DocNas/Margot"
collectd_network_server: 192.168.2.240
collectd_network_port: 25826

View File

@ -17,3 +17,7 @@ upss:
- name: eaton650 - name: eaton650
driver: usbhid-ups driver: usbhid-ups
port: auto port: auto
# minidlna
minidlna_friendly_name: "Nas dlna"
minidlna_media_dir: /mnt/DocNas/Commun/musique/