diff --git a/README.md b/README.md index 6233a88..6f129e9 100644 --- a/README.md +++ b/README.md @@ -1,68 +1,47 @@ -# Universal Media Server (ums) YunoHost + +# Universal Media Server for YunoHost [![Integration level](https://dash.yunohost.org/integration/ums.svg)](https://dash.yunohost.org/appci/app/ums) ![](https://ci-apps.yunohost.org/ci/badges/ums.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/ums.maintain.svg) -[![Install ums with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=ums) - -Official website : [![https://www.universalmediaserver.com/](https://raw.githubusercontent.com/UniversalMediaServer/UniversalMediaServer/master/src/main/resources/images/logo.png)](https://www.universalmediaserver.com/) +[![Install Universal Media Server with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=ums) *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install ums quickly and simply on a YunoHost server. +> *This package allows you to install Universal Media Server quickly and simply on a YunoHost server. If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -Universal Media Server is a free DLNA, UPnP and HTTP/S Media Server supporting all major operating systems, with versions for Windows, Linux and macOS. -The program streams or transcodes many different media formats with little or no configuration. -It is powered by FFmpeg, MediaInfo, OpenSubtitles, Crowdin, MEncoder, tsMuxeR, AviSynth, VLC and more, which combine to offer support for a wide range of media formats. -It was originally based on PS3 Media Server by shagrath, and started by SubJunk, an official developer of PMS, in order to ensure greater stability and file-compatibility. +A DLNA, UPnP and HTTP(S) Media Server + +**Shipped version:** 10.9.0 -Upstream source code may be found [here](https://github.com/UniversalMediaServer/UniversalMediaServer) -**Shipped version:** 10.8.2 ## Screenshots -![](https://www.universalmediaserver.com/assets/img/web-interface.gif) +![](./doc/screenshots/screenshot.gif) -## Configuration +## Disclaimers / important information + +### Configuration Once installed, UMS will create config file in `/home/ums/.config/UMS/` All settings are pretty well documented directly in the files. The default setting will use the shared multimedia directory by default (located into `/home/yunohost.multimedia/share`), you may change this setting in `/home/ums/.config/UMS/UMS.conf` with the setting "folders" - - -## Documentation - - * The [wiki](https://github.com/UniversalMediaServer/UniversalMediaServer/wiki) described main settings - * The [forum](https://www.universalmediaserver.com/forum/) has also a lot of info - - -## YunoHost specific features - -#### Multi-user support - -For now, the app support single instance only. -As there is no user management, LDAP is not requested. - - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/ums.svg)](https://ci-apps.yunohost.org/ci/apps/ums/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/ums.svg)](https://ci-apps-arm.yunohost.org/ci/apps/ums/) - -## Limitations +### Limitations - No multi-instance - work only on its own subdomain (ums.mydomain.tld, not on mydomain.tld/ums) - No user management - Not tested that much - -## Other infos +### Other infos If you can't find the server on a renderer, you may try the following trouble shooting : - Wait a little bit : the first start up will intialized the database and if you have a lot of media, this may take a while @@ -71,18 +50,18 @@ If you can't find the server on a renderer, you may try the following trouble sh - check on which network interface the server is annoucing : You may find the network and address used in `/home/ums/.config/UMS/debug.log` or `/var/log/ums/ums.log`. Search for a line like `Using address /192.168.0.54 found on network interface: name:enp0s3 (enp0s3)` The subnet to be used should be the same as your renderer (ie : if your TV is on 192.168.0.X and ums on 192.168.1.X, this will not work) -## Links +On small device (Raspberry for example), transco may be requiring too much power : try some alternate transcoder. - * Report a bug: https://github.com/YunoHost-Apps/ums_ynh/issues - * App website: [https://www.universalmediaserver.com](https://www.universalmediaserver.com/) - * Upstream app repository: [https://www.universalmediaserver.com/](https://www.universalmediaserver.com/) - * YunoHost website: https://yunohost.org/ +## Documentation and resources ---- +* Official app website: www.universalmediaserver.com +* Official admin documentation: https://github.com/UniversalMediaServer/UniversalMediaServer/wiki +* Upstream app code repository: https://github.com/UniversalMediaServer +* YunoHost documentation for this app: https://yunohost.org/app_ums +* Report a bug: https://github.com/YunoHost-Apps/ums_ynh/issues ## Developer info -**Only if you want to use a testing branch for coding, instead of merging directly into master.** Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/ums_ynh/tree/testing). To try the testing branch, please proceed like that. @@ -91,3 +70,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/ums_ynh/tree/testing or sudo yunohost app upgrade ums -u https://github.com/YunoHost-Apps/ums_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index b92d91e..898c595 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,63 +1,42 @@ -# Universal Media Server (ums) pour YunoHost - +# Universal Media Server pour YunoHost [![Niveau d'intégration](https://dash.yunohost.org/integration/ums.svg)](https://dash.yunohost.org/appci/app/ums) ![](https://ci-apps.yunohost.org/ci/badges/ums.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/ums.maintain.svg) -[![Installer ums avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=ums) +[![Installer Universal Media Server avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=ums) -Site Web officiel : [![https://www.universalmediaserver.com/](https://raw.githubusercontent.com/UniversalMediaServer/UniversalMediaServer/master/src/main/resources/images/logo.png)](https://www.universalmediaserver.com/) +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -*[Read this readme in english.](./README.md)* - -> *Ce package vous permet d'installer ums rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* +> *Ce package vous permet d'installer Universal Media Server rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* ## Vue d'ensemble -Universal Media Server est un serveur DLNA, UPnp et HTTP/S libre supportant tous les grands systèmes d'exploitation, avec une version pour Windows, Linux et MacOS -Le programme stream ou transcode beaucoup de formats différents avec peu ou pas de configuration. -Il utilise by FFmpeg, MediaInfo, OpenSubtitles, Crowdin, MEncoder, tsMuxeR, AviSynth, VLC et d'autres, qiu'il combine pour permettre d'exploiter une grande variété de format. -Il était originellement basé sur PS3 Media Server de shagrath, et a été lancé par SubJunk, un développeur officiel de PMS, pour assurer la plus grande stabilité et compatiblité. -Le code du programme peut être consulté [ici]](https://github.com/UniversalMediaServer/UniversalMediaServer) +Un Serveur Multimedia DLNA, UPnP et HTTP(S) + +**Version incluse :** 10.9.0 + -**Version incluse :** 10.8.2 ## Captures d'écran -![](https://www.universalmediaserver.com/assets/img/web-interface.gif) +![](./doc/screenshots/screenshot.gif) -## Configuration +## Avertissements / informations importantes + +### Configuration Une fois installé, tous les réglages peuvent etre trouver dans `/ums/.config/UMS/` Les réglages sont plutot bien documentés, vous pouvez les changer directement dans le fichier. Le réglage par défaut utilisera le répertoire multimedia partagé (situé dans `/home/yunohost.multimedia/share`). Vous pouvez changer ce réglage dans le fichier `/home/ums/.config/UMS/UMS.conf` sur le réglage "folders". -## Documentation - - * Le [wiki](https://github.com/UniversalMediaServer/UniversalMediaServer/wiki) décrit les principaux réglages. - * Le [forum](https://www.universalmediaserver.com/forum/) a également énormément d'info. - -## Caractéristiques spécifiques YunoHost - -#### Support multi-utilisateur - -Pour l'instant, l'application supporte uniquement un mode mono-instance. -Et comme elle ne gère pas d'utilisateur, il n'y a bien entendu pas de LDAP. - - - -#### Architectures supportées - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/ums.svg)](https://ci-apps.yunohost.org/ci/apps/ums/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/ums.svg)](https://ci-apps-arm.yunohost.org/ci/apps/ums/) - -## Limitations +### Limitations - pas de multiinstance - fonctionne uniquement en sous-domaine (ums.mydomain.tld, et non mydomain.tld/ums) - pas de gestion d'utilisateur - Pas énormément testée -## Other infos +### Other infos Si vous ne trouvez pas le serveur sur vos renderer, vous pouvez essayer les trucs suivants: - Attendez un petit peu : lors du premier démarrage, UMS va indexer tous vos médias et ceci peut prendre un certain temps si vous en avez beaucoup @@ -65,20 +44,18 @@ Si vous ne trouvez pas le serveur sur vos renderer, vous pouvez essayer les truc - Vérifiez bien que le service ums tourne dans l'interface d'administration de yunohost - Vérifiez sur quel interface réseau ums s'annonce. Vous pouvez trouver l'adresse utilisée et le réseau dans `/home/ums/.config/UMS/debug.log` ou `/var/log/ums/ums.log`. Cherchez une ligne ressemblant à `Using address /192.168.0.54 found on network interface: name:enp0s3 (enp0s3)`. Le sous-réseau utilisé doit être le même que le renderer (ie : si votre TV est sur 192.168.0.X et ums sur 192.168.1.X, cela ne marchera pas) -Sur de petits appareils (par exemple une raspberry, la transco peut demander trop de puissance, n'hésiter par à utiliser des transcodeur alternatifs. +Sur de petits appareils (par exemple un raspberry), la transco peut demander trop de puissance, n'hésiter par à utiliser des transcodeur alternatifs. -## Liens +## Documentations et ressources - * Signaler un bug : https://github.com/YunoHost-Apps/ums_ynh/issues - * Site de l'application : [https://www.universalmediaserver.com](https://www.universalmediaserver.com/) - * Dépôt de l'application principale :[ https://www.universalmediaserver.com/](https://www.universalmediaserver.com/) - * Site web YunoHost : https://yunohost.org/ - ---- +* Site officiel de l'app : www.universalmediaserver.com +* Documentation officielle de l'admin : https://github.com/UniversalMediaServer/UniversalMediaServer/wiki +* Dépôt de code officiel de l'app : https://github.com/UniversalMediaServer +* Documentation YunoHost pour cette app : https://yunohost.org/app_ums +* Signaler un bug : https://github.com/YunoHost-Apps/ums_ynh/issues ## Informations pour les développeurs -**Seulement si vous voulez utiliser une branche de test pour le codage, au lieu de fusionner directement dans la banche principale.** Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/ums_ynh/tree/testing). Pour essayer la branche testing, procédez comme suit. @@ -87,3 +64,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/ums_ynh/tree/testing ou sudo yunohost app upgrade ums -u https://github.com/YunoHost-Apps/ums_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/check_process b/check_process index 18ed801..778158a 100644 --- a/check_process +++ b/check_process @@ -13,7 +13,7 @@ setup_private=1 setup_public=1 upgrade=1 - upgrade=1 from_commit=19ab5f111f2e82b831cde897442366cbff245112 + upgrade=1 from_commit=f139d772db4a6180bd6f95f476cffcff8f561f3e backup_restore=1 multi_instance=0 port_already_use=1 diff --git a/conf/app.src.default b/conf/app.src.default index 5832ac6..9e41bbb 100644 --- a/conf/app.src.default +++ b/conf/app.src.default @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/UniversalMediaServer/UniversalMediaServer/releases/download/10.8.2/UMS-10.8.2-__MACH__.tgz -SOURCE_SUM=__SHA256_SUM__ +SOURCE_URL=https://github.com/UniversalMediaServer/UniversalMediaServer/releases/download/__UPSTREAM_VERSION__/UMS-__UPSTREAM_VERSION__-__MACH__.tgz +SOURCE_SUM=__SHA256__ SOURCE_FORMAT=tgz SOURCE_SUM_PRG=sha256sum SOURCE_EXTRACT=false diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..c9d7398 --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,24 @@ +### Configuration + +Once installed, UMS will create config file in `/home/ums/.config/UMS/` + +All settings are pretty well documented directly in the files. +The default setting will use the shared multimedia directory by default (located into `/home/yunohost.multimedia/share`), you may change this setting in `/home/ums/.config/UMS/UMS.conf` with the setting "folders" + +### Limitations + + - No multi-instance + - work only on its own subdomain (ums.mydomain.tld, not on mydomain.tld/ums) + - No user management + - Not tested that much + +### Other infos + +If you can't find the server on a renderer, you may try the following trouble shooting : +- Wait a little bit : the first start up will intialized the database and if you have a lot of media, this may take a while +- Wait a little more : the server will broadcast an ALIVE message every 30 sec, so it may take this long for a renderer to find it +- check if the service ums is running in the yunohost admin +- check on which network interface the server is annoucing : You may find the network and address used in `/home/ums/.config/UMS/debug.log` or `/var/log/ums/ums.log`. Search for a line like `Using address /192.168.0.54 found on network interface: name:enp0s3 (enp0s3)` +The subnet to be used should be the same as your renderer (ie : if your TV is on 192.168.0.X and ums on 192.168.1.X, this will not work) + +On small device (Raspberry for example), transco may be requiring too much power : try some alternate transcoder. diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md new file mode 100644 index 0000000..3c91f7d --- /dev/null +++ b/doc/DISCLAIMER_fr.md @@ -0,0 +1,22 @@ +### Configuration + +Une fois installé, tous les réglages peuvent etre trouver dans `/ums/.config/UMS/` +Les réglages sont plutot bien documentés, vous pouvez les changer directement dans le fichier. +Le réglage par défaut utilisera le répertoire multimedia partagé (situé dans `/home/yunohost.multimedia/share`). Vous pouvez changer ce réglage dans le fichier `/home/ums/.config/UMS/UMS.conf` sur le réglage "folders". + +### Limitations + + - pas de multiinstance + - fonctionne uniquement en sous-domaine (ums.mydomain.tld, et non mydomain.tld/ums) + - pas de gestion d'utilisateur + - Pas énormément testée + +### Other infos + +Si vous ne trouvez pas le serveur sur vos renderer, vous pouvez essayer les trucs suivants: +- Attendez un petit peu : lors du premier démarrage, UMS va indexer tous vos médias et ceci peut prendre un certain temps si vous en avez beaucoup +- Attendez encore un peu : le serveur s'annonce par un message ALIVE toutes les 30 sec, donc cela peut prendre tout ce temps avant qu'un renderer ne le trouve +- Vérifiez bien que le service ums tourne dans l'interface d'administration de yunohost +- Vérifiez sur quel interface réseau ums s'annonce. Vous pouvez trouver l'adresse utilisée et le réseau dans `/home/ums/.config/UMS/debug.log` ou `/var/log/ums/ums.log`. Cherchez une ligne ressemblant à `Using address /192.168.0.54 found on network interface: name:enp0s3 (enp0s3)`. Le sous-réseau utilisé doit être le même que le renderer (ie : si votre TV est sur 192.168.0.X et ums sur 192.168.1.X, cela ne marchera pas) + +Sur de petits appareils (par exemple un raspberry), la transco peut demander trop de puissance, n'hésiter par à utiliser des transcodeur alternatifs. diff --git a/doc/screenshots/screenshot.gif b/doc/screenshots/screenshot.gif new file mode 100644 index 0000000..4bdbd88 Binary files /dev/null and b/doc/screenshots/screenshot.gif differ diff --git a/manifest.json b/manifest.json index 440b404..774348b 100644 --- a/manifest.json +++ b/manifest.json @@ -6,8 +6,15 @@ "en": "A DLNA, UPnP and HTTP(S) Media Server", "fr": "Un Serveur Multimedia DLNA, UPnP et HTTP(S)" }, - "version": "10.8.2~ynh1", + "version": "10.9.0~ynh1", "url": "www.universalmediaserver.com", + "upstream": { + "version": "10.9.0", + "license": "GPL-2.0-or-later", + "website": "www.universalmediaserver.com", + "admindoc": "https://github.com/UniversalMediaServer/UniversalMediaServer/wiki", + "code": "https://github.com/UniversalMediaServer" + }, "license": "GPL-3.0-or-later", "maintainer": { "name": "Krakinou", diff --git a/scripts/_common.sh b/scripts/_common.sh index ee7cd14..00ce8eb 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -7,25 +7,25 @@ # dependencies used by the app pkg_dependencies="mediainfo dcraw p7zip" -MACH=`uname -m` -case "$MACH" in - "armv6l" ) MACH="armel" - SHA256=8a9dae0e39193967774630ab709b47ecb5377dbe2ba2bb0c2adc670845f72fdd +mach=`uname -m` +case "$mach" in + "armv6l" ) mach="armel" + sha256=ba056681a3f96afd700ad57d280cb56ab20c6f288fa2b3f89ac6c95d83f11651 #for some reason, jre is not in the tarball pkg_dependencies="$pkg_dependencies openjdk-8-jre" ;; "armv7l" ) if [ $(dpkg --print-architecture) = "armhf" ]; then - MACH="armhf" - SHA256=7d1f35fc490aa047f44bb7f06bb35c5b0c5b891704704c419230c81485f34228 + mach="armhf" + sha256=dc7a4e8108707c4b7a4206954591dfb9aa6891f713e9f34c43c259b3a239c0f4 pkg_dependencies="$pkg_dependencies openjdk-8-jre" else - MACH="armel" - SHA256=8a9dae0e39193967774630ab709b47ecb5377dbe2ba2bb0c2adc670845f72fdd + mach="armel" + sha256=ba056681a3f96afd700ad57d280cb56ab20c6f288fa2b3f89ac6c95d83f11651 pkg_dependencies="$pkg_dependencies openjdk-8-jre" fi ;; - "armv8l" ) MACH="arm64" - SHA256=775f817cc635ceffbfe9e346e0bb54b2dc98a3ccdc0141c50c65e557585fd50b ;; - "x86_64" ) MACH="x86_64" - SHA256=5ed7d3d74cab76d7949f582f1258716913f68fe148c815c6d5fdb5ed089608ef ;; - * ) MACH="x86" - SHA256=b23fa9dd7e2ccfe015f0a5f93cb710bb79fd62b4ccd9477e3e88359fb918ff33 ;; + "armv8l" ) mach="arm64" + sha256=dcba4970ab2c29aa994199a083db51ec0dee43581df4cf56503cbcf4592ba19c ;; + "x86_64" ) mach="x86_64" + sha256=58dda5dec6d37ad3a352060948ec5164439df066fdb54cbdc80a17c450877f84 ;; + * ) mach="x86" + sha256=5b0d0b5854db2c3f7dffbff9c017b7c1b7a23567852800a4ffb05fb7ae7b3e62 ;; esac diff --git a/scripts/install b/scripts/install index 784a78e..70096b5 100755 --- a/scripts/install +++ b/scripts/install @@ -29,11 +29,12 @@ path_url=/ is_public=$YNH_APP_ARG_IS_PUBLIC server_name=$YNH_APP_ARG_SERVER_NAME interface=$YNH_APP_ARG_INTERFACE +#upstream_version=$YNH_APP_MANIFEST_VERSION +upstream_version=$(ynh_app_upstream_version) app=$YNH_APP_INSTANCE_NAME - #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= @@ -105,9 +106,7 @@ ynh_script_progression --message="Setting up source files..." --weight=12 # Download, check integrity, uncompress and patch the source from app.src # Create an app.src for the correct compiled version of UMS # match string are fulfilled in _common.sh -cp ../conf/app.src.default ../conf/app.src -ynh_replace_string --match_string="__MACH__" --replace_string="$MACH" --target_file="../conf/app.src" -ynh_replace_string --match_string="__SHA256_SUM__" --replace_string="$SHA256" --target_file="../conf/app.src" +ynh_add_config --template="../conf/app.src.default" --destination="../conf/app.src" ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src diff --git a/scripts/upgrade b/scripts/upgrade index 6c94751..867f1ef 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -21,6 +21,7 @@ path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) port_web=$(ynh_app_setting_get --app=$app --key=port_web) port_rend=$(ynh_app_setting_get --app=$app --key=port_rend) +upstream_version=$(ynh_app_upstream_version) #================================================= # CHECK VERSION @@ -72,9 +73,7 @@ then ynh_script_progression --message="Upgrading source files..." --weight=5 # Download, check integrity, uncompress and patch the source from app.src - cp ../conf/app.src.default ../conf/app.src - ynh_replace_string --match_string="__MACH__" --replace_string="$MACH" --target_file="../conf/app.src" - ynh_replace_string --match_string="__SHA256_SUM__" --replace_string="$SHA256" --target_file="../conf/app.src" + ynh_add_config --template="../conf/app.src.default" --destination="../conf/app.src" ynh_setup_source --dest_dir="$final_path" tar xfvz $final_path/app.tgz --strip-component=1 --directory=$final_path/ ynh_secure_remove $final_path/app.tgz