mirror of
https://github.com/YunoHost-Apps/minidlna_ynh.git
synced 2024-09-03 19:36:34 +02:00
Init
This commit is contained in:
commit
f2b6ac3ad1
10 changed files with 241 additions and 0 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
*.swp
|
||||||
|
*~
|
||||||
|
Notes
|
10
README.md
Normal file
10
README.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
Serveur DLNA pour YunoHost
|
||||||
|
==================
|
||||||
|
|
||||||
|
[Yunohost project](https://yunohost.org/#/)
|
||||||
|
|
||||||
|
Serveur DLNA très léger pour partager simplement les fichiers multimédia avec l'ensemble des appareils compatibles sur le réseau local.
|
||||||
|
|
||||||
|
http://minidlna.sourceforge.net/
|
||||||
|
|
||||||
|
Le script installe les paquets *i965-va-driver*, *i965-va-driver*, *libavcodec56*, *libavformat56*, *libavresample2*, *libavutil54*, *libexif12* *libflac8* *libgsm1* *libid3tag0* *libmp3lame0* *libogg0* *libopenjpeg5 *libopus0* *liborc-0.4-0* *libschroedinger-1.0-0* *libspeex1* *libtheora0* *libva1* *libvdpau1* *libvorbis0a* *libvorbisenc2* *libx264-142* *libxvidcore4* *va-driver-all* *vdpau-va-driver*.
|
2
conf/90-inotify_minidlna.conf
Normal file
2
conf/90-inotify_minidlna.conf
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
# Increase inotify max watchs per user for local minidlna
|
||||||
|
fs.inotify.max_user_watches = 65536
|
1
conf/minidlna.list
Normal file
1
conf/minidlna.list
Normal file
|
@ -0,0 +1 @@
|
||||||
|
deb http://http.debian.net/debian __CODENAME__-backports main
|
28
manifest.json
Normal file
28
manifest.json
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"name": "MiniDLNA",
|
||||||
|
"id": "minidlna",
|
||||||
|
"description": {
|
||||||
|
"en": "Light DLNA server to share media files over the LAN",
|
||||||
|
"fr": "Serveur DLNA léger pour partager les fichiers multimédia sur le réseau local"
|
||||||
|
},
|
||||||
|
"url": "http://minidlna.sourceforge.net/",
|
||||||
|
"licence": "free",
|
||||||
|
"maintainer": {
|
||||||
|
"name": "Maniack Crudelis",
|
||||||
|
"email": "maniackc_dev@crudelis.fr"
|
||||||
|
},
|
||||||
|
"multi_instance": "false",
|
||||||
|
"arguments": {
|
||||||
|
"install" : [
|
||||||
|
{
|
||||||
|
"name": "version",
|
||||||
|
"ask": {
|
||||||
|
"en": "Select the minidlna version to install",
|
||||||
|
"fr": "Choix de la version de minidlna à installer"
|
||||||
|
},
|
||||||
|
"choices": ["A. Version of the Debian repositories (recommended)", "B. Latest version available for Debian"],
|
||||||
|
"default": "A. Version of the Debian repositories (recommended)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
20
scripts/backup
Normal file
20
scripts/backup
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Récupère les infos de l'application.
|
||||||
|
app=minidlna
|
||||||
|
version=$(sudo yunohost app setting $app version)
|
||||||
|
port=$(sudo yunohost app setting $app port)
|
||||||
|
|
||||||
|
|
||||||
|
# The parameter $1 is the backup directory location
|
||||||
|
# which will be compressed afterward
|
||||||
|
backup_dir=$1/apps/$app
|
||||||
|
sudo mkdir -p "$backup_dir"
|
||||||
|
|
||||||
|
# Copie des fichiers spécifiques à l'application
|
||||||
|
if [ $version = "B" ]
|
||||||
|
then
|
||||||
|
sudo cp -a /etc/apt/sources.list.d/minidlna.list $backup_dir/
|
||||||
|
fi
|
||||||
|
sudo cp -a /etc/sysctl.d/90-inotify_minidlna.conf $backup_dir/
|
||||||
|
sudo cp -a /etc/minidlna.conf $backup_dir/
|
59
scripts/install
Normal file
59
scripts/install
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Renseigne les variables à partir des arguments.
|
||||||
|
version=$1
|
||||||
|
app=minidlna
|
||||||
|
|
||||||
|
# Cherche un port libre.
|
||||||
|
port=48200
|
||||||
|
sudo yunohost app checkport $port
|
||||||
|
while [[ ! $? -eq 0 ]]; do
|
||||||
|
port=$((port+1))
|
||||||
|
sudo yunohost app checkport $port
|
||||||
|
done
|
||||||
|
|
||||||
|
# Ouvre les ports dans le firewall
|
||||||
|
sudo yunohost firewall allow --no-upnp TCP $port > /dev/null 2>&1
|
||||||
|
sudo yunohost firewall allow --no-upnp UDP 1900 > /dev/null 2>&1 # Découverte SSDP pour UPNP.
|
||||||
|
|
||||||
|
# Enregistre les infos dans la config YunoHost
|
||||||
|
sudo yunohost app setting $app version -v ${version:0:1}
|
||||||
|
sudo yunohost app setting $app port -v $port
|
||||||
|
|
||||||
|
# Création du dossier yunohost.multimedia
|
||||||
|
wget https://github.com/maniackcrudelis/yunohost.multimedia/archive/master.zip
|
||||||
|
unzip master.zip
|
||||||
|
sudo ./yunohost.multimedia-master/script/ynh_media_build.sh
|
||||||
|
|
||||||
|
# Installation du paquet minidlna et ses dépendances
|
||||||
|
if [ ${version:0:1} = "B" ]
|
||||||
|
then # Installation de la version minidlna disponible dans backport. (En cas de problème avec la version actuelle des dépots)
|
||||||
|
codename=$(lsb_release -a 2>/dev/null | grep Codename | cut -f 2)
|
||||||
|
sudo sed -i "s@__CODENAME__@$codename@g" ../conf/minidlna.list
|
||||||
|
sudo cp -a ../conf/minidlna.list /etc/apt/sources.list.d/
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get -t $codename-backports -y install minidlna
|
||||||
|
else # Installation de la version minidlna des dépots courants.
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get -y install minidlna
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Augmentation du nombre maximum de fichiers surveillés par inotify.
|
||||||
|
sudo cp -a ../conf/90-inotify_minidlna.conf /etc/sysctl.d/
|
||||||
|
# Et rechargement de la config du noyau.
|
||||||
|
sudo sysctl --system
|
||||||
|
|
||||||
|
# Ajoute le service au monitoring de Yunohost.
|
||||||
|
sudo yunohost service add minidlna --log "/var/log/minidlna.log"
|
||||||
|
|
||||||
|
# Modifie la configuration de minidlna
|
||||||
|
sudo sed -i 's@^#*media_dir=.*@media_dir=/home/yunohost.multimedia/share@' /etc/minidlna.conf
|
||||||
|
sudo sed -i "s/^#*port=.*/port=$port/" /etc/minidlna.conf
|
||||||
|
sudo sed -i "s/^#*friendly_name=.*/friendly_name=Yunohost DLNA/" /etc/minidlna.conf
|
||||||
|
sudo sed -i "s/^#*root_container=.*/root_container=./" /etc/minidlna.conf
|
||||||
|
|
||||||
|
# Redémarre minidlna pour prendre en compte la nouvelle configuration
|
||||||
|
sudo service minidlna restart
|
||||||
|
|
||||||
|
# Régénère la configuration de SSOwat
|
||||||
|
sudo yunohost app ssowatconf
|
31
scripts/remove
Executable file
31
scripts/remove
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Récupère les infos de l'application.
|
||||||
|
app=minidlna
|
||||||
|
version=$(sudo yunohost app setting $app version)
|
||||||
|
port=$(sudo yunohost app setting $app port)
|
||||||
|
|
||||||
|
# Ferme les ports dans le firewall
|
||||||
|
sudo yunohost firewall disallow TCP $port > /dev/null 2>&1
|
||||||
|
sudo yunohost firewall disallow UDP 1900 > /dev/null 2>&1 # Découverte SSDP pour UPNP.
|
||||||
|
|
||||||
|
# Suppression du paquet minidlna
|
||||||
|
sudo apt-get -y purge minidlna
|
||||||
|
if [ $version = "B" ]
|
||||||
|
then
|
||||||
|
sudo rm /etc/apt/sources.list.d/minidlna.list
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Suppression du paramètre inotify pour minidlna.
|
||||||
|
sudo rm /etc/sysctl.d/90-inotify_minidlna.conf
|
||||||
|
# Et rechargement de la config du noyau.
|
||||||
|
sudo sysctl --system
|
||||||
|
|
||||||
|
# Retire le service du monitoring de Yunohost.
|
||||||
|
sudo yunohost service remove minidlna
|
||||||
|
|
||||||
|
# Suppression des log
|
||||||
|
sudo rm -r /var/log/minidlna.log
|
||||||
|
|
||||||
|
# Régénère la configuration de SSOwat
|
||||||
|
sudo yunohost app ssowatconf
|
43
scripts/restore
Normal file
43
scripts/restore
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Récupère les infos de l'application.
|
||||||
|
app=minidlna
|
||||||
|
version=$(sudo yunohost app setting $app version)
|
||||||
|
port=$(sudo yunohost app setting $app port)
|
||||||
|
|
||||||
|
# The parameter $1 is the uncompressed restore directory location
|
||||||
|
backup_dir=$1/apps/$app
|
||||||
|
|
||||||
|
# Ouvre les ports dans le firewall
|
||||||
|
sudo yunohost firewall allow --no-upnp TCP $port > /dev/null 2>&1
|
||||||
|
sudo yunohost firewall allow --no-upnp UDP 1900 > /dev/null 2>&1 # Découverte SSDP pour UPNP.
|
||||||
|
|
||||||
|
# Création du dossier yunohost.multimedia
|
||||||
|
wget https://github.com/maniackcrudelis/yunohost.multimedia/archive/master.zip
|
||||||
|
unzip master.zip
|
||||||
|
sudo ./yunohost.multimedia-master/script/ynh_media_build.sh
|
||||||
|
|
||||||
|
# Installation du paquet minidlna et ses dépendances
|
||||||
|
if [ ${version:0:1} = "B" ]
|
||||||
|
then # Installation de la version minidlna disponible dans backport. (En cas de problème avec la version actuelle des dépots)
|
||||||
|
codename=$(lsb_release -a 2>/dev/null | grep Codename | cut -f 2)
|
||||||
|
sudo cp -a $backup_dir/minidlna.list /etc/apt/sources.list.d/
|
||||||
|
sudo sed -i "s@ [a-z]*-backports@ $codename-backports@g" /etc/apt/sources.list.d/minidlna.list
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get -t $codename-backports -y install minidlna
|
||||||
|
else # Installation de la version minidlna des dépots courants.
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get -y install minidlna
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copie des fichiers spécifiques à l'application
|
||||||
|
sudo cp -a $backup_dir/90-inotify_minidlna.conf /etc/sysctl.d/
|
||||||
|
sudo sysctl --system
|
||||||
|
|
||||||
|
sudo cp -a $backup_dir/minidlna.conf /etc/
|
||||||
|
sudo service minidlna restart
|
||||||
|
|
||||||
|
# Ajoute le service au monitoring de Yunohost.
|
||||||
|
sudo yunohost service add minidlna --log "/var/log/minidlna.log"
|
||||||
|
|
||||||
|
sudo yunohost app ssowatconf
|
44
scripts/upgrade
Normal file
44
scripts/upgrade
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Récupère les infos de l'application.
|
||||||
|
app=minidlna
|
||||||
|
version=$(sudo yunohost app setting $app version)
|
||||||
|
port=$(sudo yunohost app setting $app port)
|
||||||
|
|
||||||
|
# Mise à jour du dossier yunohost.multimedia
|
||||||
|
wget https://github.com/maniackcrudelis/yunohost.multimedia/archive/master.zip
|
||||||
|
unzip master.zip
|
||||||
|
sudo ./yunohost.multimedia-master/script/ynh_media_build.sh
|
||||||
|
|
||||||
|
# Mise à jour éventuelle du paquet minidlna
|
||||||
|
if [ $version = "B" ]
|
||||||
|
then # Installation de la version minidlna disponible dans backport. (En cas de problème avec la version actuelle des dépots)
|
||||||
|
codename=$(lsb_release -a 2>/dev/null | grep Codename | cut -f 2)
|
||||||
|
sudo sed -i "s@__CODENAME__@$codename@g" ../conf/minidlna.list
|
||||||
|
sudo cp -a ../conf/minidlna.list /etc/apt/sources.list.d/
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get -t $codename-backports -y install minidlna
|
||||||
|
else # Installation de la version minidlna des dépots courants.
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get -y install minidlna
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Augmentation du nombre maximum de fichiers surveillés par inotify.
|
||||||
|
sudo cp -a ../conf/90-inotify_minidlna.conf /etc/sysctl.d/
|
||||||
|
# Et rechargement de la config du noyau.
|
||||||
|
sudo sysctl --system
|
||||||
|
|
||||||
|
# Ajoute le service au monitoring de Yunohost.
|
||||||
|
sudo yunohost service add minidlna --log "/var/log/minidlna.log"
|
||||||
|
|
||||||
|
# Modifie la configuration de minidlna
|
||||||
|
sudo sed -i 's@^#*media_dir=.*@media_dir=/home/yunohost.multimedia/share@' /etc/minidlna.conf
|
||||||
|
sudo sed -i "s/^#*port=.*/port=$port/" /etc/minidlna.conf
|
||||||
|
sudo sed -i "s/^#*friendly_name=.*/friendly_name=Yunohost DLNA/" /etc/minidlna.conf
|
||||||
|
sudo sed -i "s/^#*root_container=.*/root_container=./" /etc/minidlna.conf
|
||||||
|
|
||||||
|
# Redémarre minidlna pour prendre en compte la nouvelle configuration
|
||||||
|
sudo service minidlna restart
|
||||||
|
|
||||||
|
# Régénère la configuration de SSOwat
|
||||||
|
sudo yunohost app ssowatconf
|
Loading…
Add table
Reference in a new issue