1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/jellyfin_ynh.git synced 2024-09-03 19:26:29 +02:00

Merge pull request #162 from YunoHost-Apps/testing

This commit is contained in:
Salamandar 2024-07-26 13:41:51 +02:00 committed by GitHub
commit 19946c0359
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 164 additions and 211 deletions

View file

@ -5,4 +5,5 @@
- [Irakurri README euskaraz](README_eu.md) - [Irakurri README euskaraz](README_eu.md)
- [Lire le README en français](README_fr.md) - [Lire le README en français](README_fr.md)
- [Le o README en galego](README_gl.md) - [Le o README en galego](README_gl.md)
- [Baca README dalam bahasa bahasa Indonesia](README_id.md)
- [阅读中文(简体)的 README](README_zh_Hans.md) - [阅读中文(简体)的 README](README_zh_Hans.md)

View file

@ -19,7 +19,7 @@ It shall NOT be edited by hand.
Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included. Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included.
**Shipped version:** 10.9.7~ynh2 **Shipped version:** 10.9.8~ynh1
**Demo:** <https://demo.jellyfin.org/stable/web/index.html> **Demo:** <https://demo.jellyfin.org/stable/web/index.html>

View file

@ -19,7 +19,7 @@ No se debe editar a mano.
Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included. Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included.
**Versión actual:** 10.9.7~ynh2 **Versión actual:** 10.9.8~ynh1
**Demo:** <https://demo.jellyfin.org/stable/web/index.html> **Demo:** <https://demo.jellyfin.org/stable/web/index.html>

View file

@ -19,7 +19,7 @@ EZ editatu eskuz.
Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included. Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included.
**Paketatutako bertsioa:** 10.9.7~ynh2 **Paketatutako bertsioa:** 10.9.8~ynh1
**Demoa:** <https://demo.jellyfin.org/stable/web/index.html> **Demoa:** <https://demo.jellyfin.org/stable/web/index.html>

View file

@ -19,7 +19,7 @@ Il NE doit PAS être modifié à la main.
Jellyfin vous permet de collecter, gérer et diffuser vos médias. Exécutez le serveur Jellyfin sur votre système et accédez au principal système de divertissement à logiciel libre. Jellyfin vous permet de collecter, gérer et diffuser vos médias. Exécutez le serveur Jellyfin sur votre système et accédez au principal système de divertissement à logiciel libre.
**Version incluse:** 10.9.7~ynh2 **Version incluse:** 10.9.8~ynh1
**Démo:** <https://demo.jellyfin.org/stable/web/index.html> **Démo:** <https://demo.jellyfin.org/stable/web/index.html>

View file

@ -19,7 +19,7 @@ NON debe editarse manualmente.
Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included. Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included.
**Versión proporcionada:** 10.9.7~ynh2 **Versión proporcionada:** 10.9.8~ynh1
**Demo:** <https://demo.jellyfin.org/stable/web/index.html> **Demo:** <https://demo.jellyfin.org/stable/web/index.html>

51
README_id.md Normal file
View file

@ -0,0 +1,51 @@
<!--
N.B.: README ini dibuat secara otomatis oleh <https://github.com/YunoHost/apps/tree/master/tools/readme_generator>
Ini TIDAK boleh diedit dengan tangan.
-->
# Jellyfin untuk YunoHost
[![Tingkat integrasi](https://dash.yunohost.org/integration/jellyfin.svg)](https://ci-apps.yunohost.org/ci/apps/jellyfin/) ![Status kerja](https://ci-apps.yunohost.org/ci/badges/jellyfin.status.svg) ![Status pemeliharaan](https://ci-apps.yunohost.org/ci/badges/jellyfin.maintain.svg)
[![Pasang Jellyfin dengan YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=jellyfin)
*[Baca README ini dengan bahasa yang lain.](./ALL_README.md)*
> *Paket ini memperbolehkan Anda untuk memasang Jellyfin secara cepat dan mudah pada server YunoHost.*
> *Bila Anda tidak mempunyai YunoHost, silakan berkonsultasi dengan [panduan](https://yunohost.org/install) untuk mempelajari bagaimana untuk memasangnya.*
## Ringkasan
Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included.
**Versi terkirim:** 10.9.8~ynh1
**Demo:** <https://demo.jellyfin.org/stable/web/index.html>
## Tangkapan Layar
![Tangkapan Layar pada Jellyfin](./doc/screenshots/jellyfin-1.jpg)
![Tangkapan Layar pada Jellyfin](./doc/screenshots/jellyfin-2.jpg)
## Dokumentasi dan sumber daya
- Website aplikasi resmi: <https://jellyfin.org>
- Dokumentasi pengguna resmi: <https://jellyfin.org/docs/>
- Repositori kode aplikasi hulu: <https://github.com/jellyfin/jellyfin>
- Gudang YunoHost: <https://apps.yunohost.org/app/jellyfin>
- Laporkan bug: <https://github.com/YunoHost-Apps/jellyfin_ynh/issues>
## Info developer
Silakan kirim pull request ke [`testing` branch](https://github.com/YunoHost-Apps/jellyfin_ynh/tree/testing).
Untuk mencoba branch `testing`, silakan dilanjutkan seperti:
```bash
sudo yunohost app install https://github.com/YunoHost-Apps/jellyfin_ynh/tree/testing --debug
atau
sudo yunohost app upgrade jellyfin -u https://github.com/YunoHost-Apps/jellyfin_ynh/tree/testing --debug
```
**Info lebih lanjut mengenai pemaketan aplikasi:** <https://yunohost.org/packaging_apps>

View file

@ -19,7 +19,7 @@
Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included. Jellyfin enables you to collect, manage, and stream your media. Run the Jellyfin server on your system and gain access to the leading free-software entertainment system, bells and whistles included.
**分发版本:** 10.9.7~ynh2 **分发版本:** 10.9.8~ynh1
**演示:** <https://demo.jellyfin.org/stable/web/index.html> **演示:** <https://demo.jellyfin.org/stable/web/index.html>

View file

@ -7,7 +7,7 @@ name = "Jellyfin"
description.en = "Media System that manage and stream your media" description.en = "Media System that manage and stream your media"
description.fr = "Système multimédia qui gère et diffuse vos médias" description.fr = "Système multimédia qui gère et diffuse vos médias"
version = "10.9.7~ynh2" version = "10.9.8~ynh1"
maintainers = ["tituspijean"] maintainers = ["tituspijean"]
@ -62,24 +62,24 @@ ram.runtime = "100M"
[resources] [resources]
[resources.sources.server_bullseye] [resources.sources.server_bullseye]
armhf.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.7/armhf/jellyfin-server_10.9.7+deb11_armhf.deb" armhf.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.8/armhf/jellyfin-server_10.9.8+deb11_armhf.deb"
armhf.sha256 = "a05083388d32f8de32b9860a41d59d42fc6a976e1f19f44465105cac9e6809b5" armhf.sha256 = "e3f058a5cb0bff207799564c2f3e0db20172ee9a34da17f9acd1e46095ca192b"
arm64.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.7/arm64/jellyfin-server_10.9.7+deb11_arm64.deb" arm64.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.8/arm64/jellyfin-server_10.9.8+deb11_arm64.deb"
arm64.sha256 = "09e21c2ef81e15fddb905ec90082b275c13c1a996be2a0defe0256feede89537" arm64.sha256 = "333fc7b830dae31bf97325cf0afe616e7cd56de1fa7a9ef0b72abff9b758e474"
amd64.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.7/amd64/jellyfin-server_10.9.7+deb11_amd64.deb" amd64.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.8/amd64/jellyfin-server_10.9.8+deb11_amd64.deb"
amd64.sha256 = "55f7f18ee2812aa55e4c5956c954310fd3b37c99d89e1f1dde14b2c5cce2c62c" amd64.sha256 = "7bcb0532b84758c6b9663c46205d4126865496fba2c25eea091923e125d1fbf0"
format = "whatever" format = "whatever"
extract = false extract = false
rename = "jellyfin-server.deb" rename = "jellyfin-server.deb"
[resources.sources.server_bookworm] [resources.sources.server_bookworm]
armhf.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.7/armhf/jellyfin-server_10.9.7+deb12_armhf.deb" armhf.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.8/armhf/jellyfin-server_10.9.8+deb12_armhf.deb"
armhf.sha256 = "c5f0cd1a685c31276204b85bda20f6739945f3c4c27212ef116fd91364a3afef" armhf.sha256 = "965d13aa96b35a72d21cb3cdd961ae469b7b9f19bb5415c34b24426300068b04"
arm64.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.7/arm64/jellyfin-server_10.9.7+deb12_arm64.deb" arm64.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.8/arm64/jellyfin-server_10.9.8+deb12_arm64.deb"
arm64.sha256 = "f096803d494fe6b60faeb787a11a6e4a3576c13eee46db393f40767d156d0568" arm64.sha256 = "96978fbf0289732004e88b626ecead0cf6c2261b523f72c3997dc26f707dc4bd"
amd64.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.7/amd64/jellyfin-server_10.9.7+deb12_amd64.deb" amd64.url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.8/amd64/jellyfin-server_10.9.8+deb12_amd64.deb"
amd64.sha256 = "fcd2486ce67ab6eba639e06865cc17945a785b698f34e0e9b102807413d727c1" amd64.sha256 = "76a6efb43dffc3cd7b704076822d8c2e607453a0122db6c8451bdb03318f075e"
format = "whatever" format = "whatever"
extract = false extract = false
@ -87,16 +87,16 @@ ram.runtime = "100M"
[resources.sources.web_bullseye] [resources.sources.web_bullseye]
url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.7/amd64/jellyfin-web_10.9.7+deb11_all.deb" url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.8/amd64/jellyfin-web_10.9.8+deb11_all.deb"
sha256 = "3ce87029296d88cbb63a8d114c4b45a2999f4b79fac6ca2fce41be7fe406ba09" sha256 = "62daa8c2f2bedcc19dba508aad3b1fd52568ed1edcbc3a09071be83f48820a78"
format = "whatever" format = "whatever"
extract = false extract = false
rename = "jellyfin-web.deb" rename = "jellyfin-web.deb"
[resources.sources.web_bookworm] [resources.sources.web_bookworm]
url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.7/amd64/jellyfin-web_10.9.7+deb12_all.deb" url = "https://repo.jellyfin.org/files/server/debian/stable/v10.9.8/amd64/jellyfin-web_10.9.8+deb12_all.deb"
sha256 = "f203d9a031ee1c781a7cb71f2fee3f998d59d0c94dfdfb6033e5b2d83b3d2007" sha256 = "30dc942102ac4d546bea65cd523723f661b082be684518b7ad9ca771235aac7f"
format = "whatever" format = "whatever"
extract = false extract = false
@ -104,11 +104,11 @@ ram.runtime = "100M"
[resources.sources.ffmpeg_bullseye] [resources.sources.ffmpeg_bullseye]
armhf.url = "https://repo.jellyfin.org/files/ffmpeg/debian/latest-6.x/armhf/jellyfin-ffmpeg6_6.0.1-7-bullseye_armhf.deb" armhf.url = "https://repo.jellyfin.org/files/ffmpeg/debian/6.x/6.0.1-7/armhf/jellyfin-ffmpeg6_6.0.1-7-bullseye_armhf.deb"
armhf.sha256 = "4940083aa8bf6f04df7fbd3c5740f96b8b1d41ae2aeef8aba25eed7fbc72dd57" armhf.sha256 = "4940083aa8bf6f04df7fbd3c5740f96b8b1d41ae2aeef8aba25eed7fbc72dd57"
arm64.url = "https://repo.jellyfin.org/files/ffmpeg/debian/latest-6.x/arm64/jellyfin-ffmpeg6_6.0.1-7-bullseye_arm64.deb" arm64.url = "https://repo.jellyfin.org/files/ffmpeg/debian/6.x/6.0.1-7/arm64/jellyfin-ffmpeg6_6.0.1-7-bullseye_arm64.deb"
arm64.sha256 = "106311dfc45cfa69f9588772b9c0327e1558fd5186f6b4ce6d1f615ad09893bb" arm64.sha256 = "106311dfc45cfa69f9588772b9c0327e1558fd5186f6b4ce6d1f615ad09893bb"
amd64.url = "https://repo.jellyfin.org/files/ffmpeg/debian/latest-6.x/amd64/jellyfin-ffmpeg6_6.0.1-7-bullseye_amd64.deb" amd64.url = "https://repo.jellyfin.org/files/ffmpeg/debian/6.x/6.0.1-7/amd64/jellyfin-ffmpeg6_6.0.1-7-bullseye_amd64.deb"
amd64.sha256 = "ee50c84a501c530e179088cf3f6d9048fe446e186d93f726a2073b860a313c5c" amd64.sha256 = "ee50c84a501c530e179088cf3f6d9048fe446e186d93f726a2073b860a313c5c"
format = "whatever" format = "whatever"
@ -116,11 +116,11 @@ ram.runtime = "100M"
rename = "jellyfin-ffmpeg6.deb" rename = "jellyfin-ffmpeg6.deb"
[resources.sources.ffmpeg_bookworm] [resources.sources.ffmpeg_bookworm]
armhf.url = "https://repo.jellyfin.org/files/ffmpeg/debian/latest-6.x/armhf/jellyfin-ffmpeg6_6.0.1-7-bookworm_armhf.deb" armhf.url = "https://repo.jellyfin.org/files/ffmpeg/debian/6.x/6.0.1-7/armhf/jellyfin-ffmpeg6_6.0.1-7-bookworm_armhf.deb"
armhf.sha256 = "03d8a5512c7406e77359475da729157fc653dc5203f2399b59c71c6f59ca10f3" armhf.sha256 = "03d8a5512c7406e77359475da729157fc653dc5203f2399b59c71c6f59ca10f3"
arm64.url = "https://repo.jellyfin.org/files/ffmpeg/debian/latest-6.x/arm64/jellyfin-ffmpeg6_6.0.1-7-bookworm_arm64.deb" arm64.url = "https://repo.jellyfin.org/files/ffmpeg/debian/6.x/6.0.1-7/arm64/jellyfin-ffmpeg6_6.0.1-7-bookworm_arm64.deb"
arm64.sha256 = "6c21dfdd931c576fcd5c095d4aae2cf92d4720beba6c73404f3d56220213c2a4" arm64.sha256 = "6c21dfdd931c576fcd5c095d4aae2cf92d4720beba6c73404f3d56220213c2a4"
amd64.url = "https://repo.jellyfin.org/files/ffmpeg/debian/latest-6.x/amd64/jellyfin-ffmpeg6_6.0.1-7-bookworm_amd64.deb" amd64.url = "https://repo.jellyfin.org/files/ffmpeg/debian/6.x/6.0.1-7/amd64/jellyfin-ffmpeg6_6.0.1-7-bookworm_amd64.deb"
amd64.sha256 = "0773fda9111e03394e088790eabc99dbb0291d107a4950bdcbfafd94c5d0652e" amd64.sha256 = "0773fda9111e03394e088790eabc99dbb0291d107a4950bdcbfafd94c5d0652e"
format = "whatever" format = "whatever"

View file

@ -6,7 +6,7 @@
debian=$(lsb_release --codename --short) debian=$(lsb_release --codename --short)
debian_number=$(lsb_release --release --short) debian_number=$(lsb_release --release --short)
pkg_version="10.9.7" pkg_version="10.9.8"
version=$(echo "$pkg_version" | cut -d '-' -f 1) version=$(echo "$pkg_version" | cut -d '-' -f 1)
ffmpeg_pkg_version="6.0.1-7" ffmpeg_pkg_version="6.0.1-7"
@ -30,6 +30,11 @@ cache_path="/var/cache/$app"
#================================================= #=================================================
install_jellyfin_packages() { install_jellyfin_packages() {
# Get version numbers from manifest UNUSED because update_version.py uses the hard-coded variables
# pkg_version="$(ynh_app_upstream_version)"
# ffmpeg_url="$(ynh_read_manifest --manifest_key="resources.sources.ffmpeg_${debian}.${YNH_ARCH}.url")"
# ffmpeg_pkg_version="$(echo "$ffmpeg_url" | sed "s/.*\/jellyfin-ffmpeg[0-9]*_\([0-9.-]*\)-${debian}_${YNH_ARCH}.deb/\1/")"
# Create the temporary directory # Create the temporary directory
tempdir="$(mktemp -d)" tempdir="$(mktemp -d)"

View file

@ -1,7 +1,5 @@
#!/bin/bash #!/bin/bash
#=================================================
# GENERIC START
#================================================= #=================================================
# IMPORT GENERIC HELPERS # IMPORT GENERIC HELPERS
#================================================= #=================================================
@ -24,23 +22,13 @@ ynh_backup --src_path="$config_path"
ynh_backup --src_path="/etc/default/jellyfin" --not_mandatory ynh_backup --src_path="/etc/default/jellyfin" --not_mandatory
#================================================= #=================================================
# BACKUP THE NGINX CONFIGURATION # SYSTEM CONFIGURATION
#================================================= #=================================================
ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
#=================================================
# SPECIFIC BACKUP
#=================================================
# BACKUP LOGROTATE
#=================================================
ynh_backup --src_path="/etc/logrotate.d/$app" ynh_backup --src_path="/etc/logrotate.d/$app"
#=================================================
# BACKUP SYSTEMD
#=================================================
ynh_backup --src_path="/etc/systemd/system/jellyfin.service.d" --not_mandatory ynh_backup --src_path="/etc/systemd/system/jellyfin.service.d" --not_mandatory
#================================================= #=================================================

View file

@ -1,7 +1,5 @@
#!/bin/bash #!/bin/bash
#=================================================
# GENERIC STARTING
#================================================= #=================================================
# IMPORT GENERIC HELPERS # IMPORT GENERIC HELPERS
#================================================= #=================================================
@ -9,14 +7,12 @@
source _common.sh source _common.sh
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#=================================================
# STANDARD MODIFICATIONS
#================================================= #=================================================
# STOP SYSTEMD SERVICE # STOP SYSTEMD SERVICE
#================================================= #=================================================
ynh_script_progression --message="Stopping a systemd service..." --weight=2 ynh_script_progression --message="Stopping $app's systemd service..." --weight=2
ynh_systemd_action --service_name=$app --action="stop" --log_path="systemd" --timeout=15 ynh_systemd_action --service_name="$app" --action="stop" --log_path="systemd" --timeout=15
#================================================= #=================================================
# MODIFY URL IN NGINX CONF # MODIFY URL IN NGINX CONF
@ -25,15 +21,12 @@ ynh_script_progression --message="Updating NGINX web server configuration..." --
ynh_change_url_nginx_config ynh_change_url_nginx_config
#=================================================
# SPECIFIC MODIFICATIONS
#================================================= #=================================================
# BASE URL # BASE URL
#================================================= #=================================================
# Change the path in system.xml config file # Change the path in system.xml config file
if [ $change_path -eq 1 ] if [ $change_path -eq 1 ]; then
then
# If somehow <BaseUrl /> was not replaced during install # If somehow <BaseUrl /> was not replaced during install
if grep -q "<BaseUrl />" "$config_path/network.xml"; then if grep -q "<BaseUrl />" "$config_path/network.xml"; then
ynh_replace_string --match_string="<BaseUrl />" --replace_string="<BaseUrl>$new_path</BaseUrl>" --target_file="$config_path/network.xml" ynh_replace_string --match_string="<BaseUrl />" --replace_string="<BaseUrl>$new_path</BaseUrl>" --target_file="$config_path/network.xml"
@ -42,14 +35,12 @@ then
fi fi
fi fi
#=================================================
# GENERIC FINALISATION
#================================================= #=================================================
# START SYSTEMD SERVICE # START SYSTEMD SERVICE
#================================================= #=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=2 ynh_script_progression --message="Starting $app's systemd service..." --weight=2
ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --timeout=15 ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd" --timeout=15
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT

View file

@ -1,7 +1,5 @@
#!/bin/bash #!/bin/bash
#=================================================
# GENERIC START
#================================================= #=================================================
# IMPORT GENERIC HELPERS # IMPORT GENERIC HELPERS
#================================================= #=================================================
@ -19,13 +17,26 @@ fi
ynh_app_setting_set --app="$app" --key=config_path --value="$config_path" ynh_app_setting_set --app="$app" --key=config_path --value="$config_path"
#================================================= #=================================================
# STANDARD MODIFICATIONS # SYSTEM CONFIGURATION
#=================================================ç
ynh_script_progression --message="Configuring the dedicated system user..." --weight=1
if getent group render && ! id -Gn "$app" | grep -qw "\brender\b" >/dev/null; then
# Add user to render group
adduser "$app" render
fi
#================================================= #=================================================
# OPEN PORTS # OPEN PORTS
#================================================= #=================================================
ynh_script_progression --message="Checking whether to open ports..." --weight=1 ynh_script_progression --message="Checking whether to open ports..." --weight=1
configure_jellyfin_discovery_ports install configure_jellyfin_discovery_ports install
ports_args=()
if [[ "${opened_ports:-__NOTHING__}" != "__NOTHING__" ]]; then
ports_args=( "--needs_exposed_ports" "${opened_ports[@]}" )
fi
#================================================= #=================================================
# INSTALL PACKAGES # INSTALL PACKAGES
#================================================= #=================================================
@ -33,20 +44,6 @@ ynh_script_progression --message="Installing packages..." --weight=1
install_jellyfin_packages install_jellyfin_packages
#=================================================
# SYSTEM CONFIGURATION
#=================================================ç
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
if getent group render && ! id -Gn "$app" | grep -qw "\brender\b" >/dev/null; then
# Add user to render group
adduser "$app" render
fi
ynh_add_nginx_config
#=================================================
# SPECIFIC SETUP
#================================================= #=================================================
# ADD A CONFIGURATION # ADD A CONFIGURATION
#================================================= #=================================================
@ -87,42 +84,29 @@ ynh_script_progression --message="Adding multimedia directories..." --weight=2
# Build YunoHost multimedia directories # Build YunoHost multimedia directories
ynh_multimedia_build_main_dir ynh_multimedia_build_main_dir
# Allow Jellyfin to write into these directories # Allow Jellyfin to write into these directories
ynh_multimedia_addaccess "$app" ynh_multimedia_addaccess "$app"
#================================================= #=================================================
# GENERIC FINALIZATION # SYSTEM CONFIGURATION
#================================================= #=================================================
# SETUP LOGROTATE ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
#=================================================
ynh_script_progression --message="Configuring log rotation..." --weight=1 # Create a dedicated NGINX config using the conf/nginx.conf template
ynh_add_nginx_config
ynh_add_config --template="systemd.service" --destination="/etc/systemd/system/jellyfin.service.d/baseurl.service.conf"
systemctl daemon-reload
yunohost service add "$app" --description="Jellyfin media center" "${ports_args[@]}"
# Use logrotate to manage application logfile(s) # Use logrotate to manage application logfile(s)
ynh_use_logrotate ynh_use_logrotate
#=================================================
# INTEGRATE SERVICE IN YUNOHOST
#=================================================
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
ports_args=()
if [[ "${opened_ports:-__NOTHING__}" != "__NOTHING__" ]]; then
ports_args+=('--needs_exposed_ports')
ports_args+=(${opened_ports})
fi
yunohost service add "$app" --description="Jellyfin media center" ${ports_args[@]}
#=================================================
# EDIT SYSTEMD ENVIRONMENT VARIABLE FOR AUTO-DISCOVERY
#=================================================
ynh_add_config --template="systemd.service" --destination="/etc/systemd/system/jellyfin.service.d/baseurl.service.conf"
systemctl daemon-reload
#================================================= #=================================================
# START SYSTEMD SERVICE # START SYSTEMD SERVICE
#================================================= #=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=1 ynh_script_progression --message="Starting $app's systemd service..." --weight=1
# Start a systemd service # Start a systemd service
ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd" --timeout=15 ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd" --timeout=15

View file

@ -1,7 +1,5 @@
#!/bin/bash #!/bin/bash
#=================================================
# GENERIC START
#================================================= #=================================================
# IMPORT GENERIC HELPERS # IMPORT GENERIC HELPERS
#================================================= #=================================================
@ -9,24 +7,16 @@
source _common.sh source _common.sh
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#=================================================
# STANDARD REMOVE
#=================================================
# REMOVE SERVICE INTEGRATION IN YUNOHOST
#=================================================
# Remove the service from the list of services known by YunoHost (added from `yunohost service add`)
if ynh_exec_warn_less yunohost service status $app >/dev/null
then
ynh_script_progression --message="Removing $app service integration..." --weight=3
yunohost service remove "$app"
fi
#================================================= #=================================================
# REMOVE SYSTEM CONFIGURATIONS # REMOVE SYSTEM CONFIGURATIONS
#================================================= #=================================================
ynh_script_progression --message="Removing system configurations related to $app..." --weight=1 ynh_script_progression --message="Removing system configurations related to $app..." --weight=1
# Remove the service from the list of services known by YunoHost (added from `yunohost service add`)
if ynh_exec_warn_less yunohost service status "$app" >/dev/null; then
yunohost service remove "$app"
fi
ynh_remove_logrotate ynh_remove_logrotate
ynh_remove_nginx_config ynh_remove_nginx_config
@ -41,11 +31,10 @@ ynh_remove_app_dependencies
#================================================= #=================================================
# CLOSE A PORT # CLOSE A PORT
#================================================= #=================================================
ynh_script_progression --message="Checking whether to open ports..." --weight=1 ynh_script_progression --message="Closing ports..." --weight=1
configure_jellyfin_discovery_ports remove configure_jellyfin_discovery_ports remove
#=================================================
# SPECIFIC REMOVE
#================================================= #=================================================
# REMOVE VARIOUS FILES # REMOVE VARIOUS FILES
#================================================= #=================================================

View file

@ -1,7 +1,5 @@
#!/bin/bash #!/bin/bash
#=================================================
# GENERIC START
#================================================= #=================================================
# IMPORT GENERIC HELPERS # IMPORT GENERIC HELPERS
#================================================= #=================================================
@ -10,8 +8,6 @@
source ../settings/scripts/_common.sh source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#=================================================
# STANDARD RESTORATION STEPS
#================================================= #=================================================
# RECREATE THE DEDICATED USER # RECREATE THE DEDICATED USER
#================================================= #=================================================
@ -29,6 +25,11 @@ fi
ynh_script_progression --message="Checking whether to open ports..." --weight=1 ynh_script_progression --message="Checking whether to open ports..." --weight=1
configure_jellyfin_discovery_ports install configure_jellyfin_discovery_ports install
ports_args=()
if [[ "${opened_ports:-__NOTHING__}" != "__NOTHING__" ]]; then
ports_args=( "--needs_exposed_ports" "${opened_ports[@]}" )
fi
#================================================= #=================================================
# RESTORE THE APP MAIN DIR # RESTORE THE APP MAIN DIR
#================================================= #=================================================
@ -45,21 +46,14 @@ ynh_script_progression --message="Reinstalling packages..." --weight=7
install_jellyfin_packages install_jellyfin_packages
#=================================================
# RESTORE THE NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Restoring the NGINX web server configuration..."
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
#================================================= #=================================================
# RESTORE USER RIGHTS # RESTORE USER RIGHTS
#================================================= #=================================================
ynh_script_progression --message="Restoring user rights..." ynh_script_progression --message="Restoring user rights..."
# Restore permissions on app files # Restore permissions on app files
chown -R $app: $data_path chown -R "$app:" "$data_path"
chown -R $app: $config_path chown -R "$app:" "$config_path"
#================================================= #=================================================
# YUNOHOST MULTIMEDIA INTEGRATION # YUNOHOST MULTIMEDIA INTEGRATION
@ -68,52 +62,29 @@ ynh_script_progression --message="Adding multimedia directories..." --weight=2
# Build YunoHost multimedia directories # Build YunoHost multimedia directories
ynh_multimedia_build_main_dir ynh_multimedia_build_main_dir
# Allow Jellyfin to write into these directories # Allow Jellyfin to write into these directories
ynh_multimedia_addaccess $app ynh_multimedia_addaccess "$app"
#================================================= #=================================================
# RESTORE SYSTEMD # RESTORE SYSTEM CONFIGURATIONS
#================================================= #=================================================
ynh_script_progression --message="Restoring the systemd configuration..." --weight=1 ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_restore_file --origin_path="/etc/systemd/system/jellyfin.service.d" --not_mandatory ynh_restore_file --origin_path="/etc/systemd/system/jellyfin.service.d" --not_mandatory
systemctl enable jellyfin.service --quiet systemctl enable jellyfin.service --quiet
yunohost service add "$app" --description="Jellyfin media center" "${ports_args[@]}"
#=================================================
# RESTORE THE LOGROTATE CONFIGURATION
#=================================================
ynh_script_progression --message="Restoring the logrotate configuration..." --weight=1
ynh_restore_file --origin_path="/etc/logrotate.d/$app" ynh_restore_file --origin_path="/etc/logrotate.d/$app"
#================================================= #=================================================
# INTEGRATE SERVICE IN YUNOHOST # RELOAD NGINX AND PHP-FPM OR THE APP SERVICE
#================================================= #=================================================
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 ynh_script_progression --message="Reloading NGINX web server and $app's service..." --weight=1
ports_args=() ynh_systemd_action --service_name="$app" --action="restart" --log_path="systemd" --timeout=15
if [[ "${opened_ports:-__NOTHING__}" = "__NOTHING__" ]]; then
ports_args+=('--open-ports')
ports_args+=(${ports})
fi
yunohost service add "$app" --description="Jellyfin media center" "${ports_args[@]}"
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=1
ynh_systemd_action --service_name=$app --action="restart" --log_path="systemd" --timeout=15
#=================================================
# GENERIC FINALIZATION
#=================================================
# RELOAD NGINX AND PHP-FPM
#=================================================
ynh_script_progression --message="Reloading NGINX web server..." --weight=1
ynh_systemd_action --service_name=nginx --action=reload ynh_systemd_action --service_name=nginx --action=reload

View file

@ -36,7 +36,8 @@ class JellyfinDistro:
return f"{JELLYFIN_REPO}/files/server/debian/stable/v{version}/amd64/jellyfin-web_{version}+deb{self.debian_number}_all.deb" return f"{JELLYFIN_REPO}/files/server/debian/stable/v{version}/amd64/jellyfin-web_{version}+deb{self.debian_number}_all.deb"
def ffmpeg_url(self, version: str, arch: str) -> str: def ffmpeg_url(self, version: str, arch: str) -> str:
return f"{JELLYFIN_REPO}/files/ffmpeg/debian/latest-6.x/{arch}/jellyfin-ffmpeg6_{version}-{self.debian_name}_{arch}.deb" major = version.split(".")[0]
return f"{JELLYFIN_REPO}/files/ffmpeg/debian/{major}.x/{version}/{arch}/jellyfin-ffmpeg6_{version}-{self.debian_name}_{arch}.deb"
def ldap_url(self, version: str) -> str: def ldap_url(self, version: str) -> str:
return f"{JELLYFIN_REPO}/files/plugin/ldap-authentication/ldap-authentication_{version}.zip" return f"{JELLYFIN_REPO}/files/plugin/ldap-authentication/ldap-authentication_{version}.zip"

View file

@ -1,7 +1,5 @@
#!/bin/bash #!/bin/bash
#=================================================
# GENERIC START
#================================================= #=================================================
# IMPORT GENERIC HELPERS # IMPORT GENERIC HELPERS
#================================================= #=================================================
@ -9,19 +7,10 @@
source _common.sh source _common.sh
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#=================================================
# CHECK VERSION
#=================================================
ynh_script_progression --message="Checking version..."
upgrade_type=$(ynh_check_app_version_changed)
#=================================================
# STANDARD UPGRADE STEPS
#================================================= #=================================================
# STOP SYSTEMD SERVICE # STOP SYSTEMD SERVICE
#================================================= #=================================================
ynh_script_progression --message="Stopping a systemd service..." --weight=1 ynh_script_progression --message="Stopping $app's systemd service..." --weight=1
ynh_systemd_action --service_name="$app" --action="stop" --log_path="systemd" --timeout=15 ynh_systemd_action --service_name="$app" --action="stop" --log_path="systemd" --timeout=15
@ -61,6 +50,11 @@ fi
ynh_script_progression --message="Checking whether to open ports..." --weight=1 ynh_script_progression --message="Checking whether to open ports..." --weight=1
configure_jellyfin_discovery_ports install configure_jellyfin_discovery_ports install
ports_args=()
if [[ "${opened_ports:-__NOTHING__}" != "__NOTHING__" ]]; then
ports_args=( "--needs_exposed_ports" "${opened_ports[@]}" )
fi
#================================================= #=================================================
# UPGRADE PACKAGES # UPGRADE PACKAGES
#================================================= #=================================================
@ -74,16 +68,6 @@ done
install_jellyfin_packages install_jellyfin_packages
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=1
# Create a dedicated NGINX config
ynh_add_nginx_config
#=================================================
# SPECIFIC UPGRADE
#================================================= #=================================================
# UPDATE A CONFIG FILE # UPDATE A CONFIG FILE
#================================================= #=================================================
@ -141,8 +125,8 @@ ynh_add_config --template="LDAP-Auth.xml" --destination="/var/lib/jellyfin/plugi
#================================================= #=================================================
# Set permissions on app files # Set permissions on app files
chown -R $app: $data_path chown -R "$app:" "$data_path"
chown -R $app: $config_path chown -R "$app:" "$config_path"
#================================================= #=================================================
# YUNOHOST MULTIMEDIA INTEGRATION # YUNOHOST MULTIMEDIA INTEGRATION
@ -151,44 +135,32 @@ ynh_script_progression --message="Adding multimedia directories..." --weight=2
# Build YunoHost multimedia directories # Build YunoHost multimedia directories
ynh_multimedia_build_main_dir ynh_multimedia_build_main_dir
# Allow Jellyfin to write into these directories # Allow Jellyfin to write into these directories
ynh_multimedia_addaccess $app ynh_multimedia_addaccess "$app"
#================================================= #=================================================
# GENERIC FINALIZATION # REAPPLY SYSTEM CONFIGURATIONS
#================================================= #=================================================
# SETUP LOGROTATE ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1
#=================================================
ynh_script_progression --message="Upgrading logrotate configuration..." --weight=1 # Create a dedicated NGINX config
ynh_add_nginx_config
ynh_add_config --template="systemd.service" --destination="/etc/systemd/system/jellyfin.service.d/baseurl.service.conf"
systemctl daemon-reload
# Use logrotate to manage app-specific logfile(s) # Use logrotate to manage app-specific logfile(s)
ynh_use_logrotate ynh_use_logrotate
#=================================================
# INTEGRATE SERVICE IN YUNOHOST
#=================================================
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
ports_args=()
if [[ "${opened_ports:-__NOTHING__}" = "__NOTHING__" ]]; then
ports_args+=('--open-ports')
ports_args+=(${ports})
fi
yunohost service add "$app" --description="Jellyfin media center" "${ports_args[@]}" yunohost service add "$app" --description="Jellyfin media center" "${ports_args[@]}"
#=================================================
# EDIT SYSTEMD ENVIRONMENT VARIABLE FOR AUTO-DISCOVERY
#=================================================
ynh_add_config --template="systemd.service" --destination="/etc/systemd/system/jellyfin.service.d/baseurl.service.conf"
systemctl daemon-reload
#================================================= #=================================================
# START SYSTEMD SERVICE # START SYSTEMD SERVICE
#================================================= #=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=1 ynh_script_progression --message="Starting $app's systemd service..." --weight=1
ynh_systemd_action --service_name=$app --action="restart" --log_path="systemd" --timeout=15 ynh_systemd_action --service_name="$app" --action="restart" --log_path="systemd" --timeout=15
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT