mirror of
https://github.com/YunoHost-Apps/jellyfin_ynh.git
synced 2024-09-03 19:26:29 +02:00
Improve discovery ports opening
This commit is contained in:
parent
670baa0904
commit
1c706e7109
4 changed files with 96 additions and 57 deletions
|
@ -12,6 +12,9 @@ ffmpeg_pkg_version="4.3.2-1"
|
||||||
|
|
||||||
architecture=$(dpkg --print-architecture)
|
architecture=$(dpkg --print-architecture)
|
||||||
|
|
||||||
|
discovery_service_port=1900
|
||||||
|
discovery_client_port=7359
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# PERSONAL HELPERS
|
# PERSONAL HELPERS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -73,25 +73,27 @@ port=$(ynh_find_port --port=8095)
|
||||||
ynh_app_setting_set --app=$app --key=port --value=$port
|
ynh_app_setting_set --app=$app --key=port --value=$port
|
||||||
|
|
||||||
if [ $discovery -eq 1 ]; then
|
if [ $discovery -eq 1 ]; then
|
||||||
ynh_script_progression --message="Configuring firewall..." --time --weight=1
|
ynh_script_progression --message="Configuring firewall..." --weight=1
|
||||||
|
|
||||||
# Open port 1900 for service auto-discovery
|
# Open port 1900 for service auto-discovery
|
||||||
if ynh_port_available --port=1900; then
|
if ynh_port_available --port=$discovery_service_port; then
|
||||||
ynh_exec_warn_less yunohost firewall allow UDP 1900
|
discovery_service=1
|
||||||
ynh_app_setting_set --app=$app --key=discovery_service --value=1
|
ynh_exec_warn_less yunohost firewall allow UDP $discovery_service_port
|
||||||
else
|
else
|
||||||
ynh_print_warn --message="Port 1900 (for service auto-discovery) is not available. Continuing nonetheless."
|
discovery_service=0
|
||||||
ynh_app_setting_set --app=$app --key=discovery_service --value=0
|
ynh_print_warn --message="Port $discovery_service_port (for service auto-discovery) is not available. Continuing nonetheless."
|
||||||
fi
|
fi
|
||||||
|
ynh_app_setting_set --app=$app --key=discovery_service --value=$discovery_service
|
||||||
|
|
||||||
# Open port 7359 for client auto-discovery
|
# Open port 7359 for client auto-discovery
|
||||||
if ynh_port_available --port=7359; then
|
if ynh_port_available --port=$discovery_client_port; then
|
||||||
ynh_exec_warn_less yunohost firewall allow UDP 7359
|
discovery_client=1
|
||||||
ynh_app_setting_set --app=$app --key=discovery_client --value=1
|
ynh_exec_warn_less yunohost firewall allow UDP $discovery_client_port
|
||||||
else
|
else
|
||||||
ynh_print_warn --message="Port 7359 (for client auto-discovery) is not available. Continuing nonetheless."
|
discovery_client=0
|
||||||
ynh_app_setting_set --app=$app --key=discovery_client --value=0
|
ynh_print_warn --message="Port $discovery_client_port (for client auto-discovery) is not available. Continuing nonetheless."
|
||||||
fi
|
fi
|
||||||
|
ynh_app_setting_set --app=$app --key=discovery_service --value=$discovery_client
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -198,7 +200,17 @@ ynh_use_logrotate
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
|
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
|
||||||
|
|
||||||
|
# Build the ports list
|
||||||
|
needed_ports=()
|
||||||
|
(( $discovery_server == 1 )) && needed_ports+=( "$discovery_server_port" )
|
||||||
|
(( $discovery_client == 1 )) && needed_ports+=( "$discovery_client_port" )
|
||||||
|
|
||||||
|
# Integrate service and require to expose the ports if needed
|
||||||
|
if [ -z ${needed_ports[@]} ]; then
|
||||||
yunohost service add $app --description="Jellyfin media center" --log_type="systemd"
|
yunohost service add $app --description="Jellyfin media center" --log_type="systemd"
|
||||||
|
else
|
||||||
|
yunohost service add $app --description="Jellyfin media center" --log_type="systemd" --needs_exposed_ports=${needed_ports[@]}
|
||||||
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# START SYSTEMD SERVICE
|
# START SYSTEMD SERVICE
|
||||||
|
|
|
@ -56,25 +56,27 @@ fi
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
if [ $discovery -eq 1 ]; then
|
if [ $discovery -eq 1 ]; then
|
||||||
ynh_script_progression --message="Configuring firewall..." --time --weight=1
|
ynh_script_progression --message="Configuring firewall..." --weight=1
|
||||||
|
|
||||||
# Open port 1900 for service auto-discovery
|
# Open port 1900 for service auto-discovery
|
||||||
if ynh_port_available --port=1900; then
|
if ynh_port_available --port=$discovery_service_port; then
|
||||||
ynh_exec_warn_less yunohost firewall allow UDP 1900
|
discovery_service=1
|
||||||
ynh_app_setting_set --app=$app --key=discovery_service --value=1
|
ynh_exec_warn_less yunohost firewall allow UDP $discovery_service_port
|
||||||
else
|
else
|
||||||
ynh_print_warn --message="Port 1900 (for service auto-discovery) is not available. Continuing nonetheless."
|
discovery_service=0
|
||||||
ynh_app_setting_set --app=$app --key=discovery_service --value=0
|
ynh_print_warn --message="Port $discovery_service_port (for service auto-discovery) is not available. Continuing nonetheless."
|
||||||
fi
|
fi
|
||||||
|
ynh_app_setting_set --app=$app --key=discovery_service --value=$discovery_service
|
||||||
|
|
||||||
# Open port 7359 for client auto-discovery
|
# Open port 7359 for client auto-discovery
|
||||||
if ynh_port_available --port=7359; then
|
if ynh_port_available --port=$discovery_client_port; then
|
||||||
ynh_exec_warn_less yunohost firewall allow UDP 7359
|
discovery_client=1
|
||||||
ynh_app_setting_set --app=$app --key=discovery_client --value=1
|
ynh_exec_warn_less yunohost firewall allow UDP $discovery_client_port
|
||||||
else
|
else
|
||||||
ynh_print_warn --message="Port 7359 (for client auto-discovery) is not available. Continuing nonetheless."
|
discovery_client=0
|
||||||
ynh_app_setting_set --app=$app --key=discovery_client --value=0
|
ynh_print_warn --message="Port $discovery_client_port (for client auto-discovery) is not available. Continuing nonetheless."
|
||||||
fi
|
fi
|
||||||
|
ynh_app_setting_set --app=$app --key=discovery_service --value=$discovery_client
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -102,15 +104,6 @@ ynh_script_progression --message="Recreating the dedicated system user..." --wei
|
||||||
# Create the dedicated user (if not existing)
|
# Create the dedicated user (if not existing)
|
||||||
ynh_system_user_create --username=$app
|
ynh_system_user_create --username=$app
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# RESTORE USER RIGHTS
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Restoring user rights..."
|
|
||||||
|
|
||||||
# Restore permissions on app files
|
|
||||||
chown -R $app: $final_path
|
|
||||||
chown -R $app: $config_path
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SPECIFIC RESTORATION
|
# SPECIFIC RESTORATION
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -145,7 +138,26 @@ systemctl enable jellyfin.service --quiet
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
|
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
|
||||||
|
|
||||||
|
# Build the ports list
|
||||||
|
needed_ports=()
|
||||||
|
(( $discovery_server == 1 )) && needed_ports+=( "$discovery_server_port" )
|
||||||
|
(( $discovery_client == 1 )) && needed_ports+=( "$discovery_client_port" )
|
||||||
|
|
||||||
|
# Integrate service and require to expose the ports if needed
|
||||||
|
if [ -z ${needed_ports[@]} ]; then
|
||||||
yunohost service add $app --description="Jellyfin media center" --log_type="systemd"
|
yunohost service add $app --description="Jellyfin media center" --log_type="systemd"
|
||||||
|
else
|
||||||
|
yunohost service add $app --description="Jellyfin media center" --log_type="systemd" --needs_exposed_ports=${needed_ports[@]}
|
||||||
|
fi
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# RESTORE USER RIGHTS
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Restoring user rights..."
|
||||||
|
|
||||||
|
# Restore permissions on app files
|
||||||
|
chown -R $app: $final_path
|
||||||
|
chown -R $app: $config_path
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# START SYSTEMD SERVICE
|
# START SYSTEMD SERVICE
|
||||||
|
|
|
@ -92,25 +92,27 @@ ynh_abort_if_errors
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
if [ $discovery -eq 1 ]; then
|
if [ $discovery -eq 1 ]; then
|
||||||
ynh_script_progression --message="Configuring firewall..." --time --weight=1
|
ynh_script_progression --message="Configuring firewall..." --weight=1
|
||||||
|
|
||||||
# Open port 1900 for service auto-discovery
|
# Open port 1900 for service auto-discovery
|
||||||
if ynh_port_available --port=1900; then
|
if ynh_port_available --port=$discovery_service_port; then
|
||||||
ynh_exec_warn_less yunohost firewall allow UDP 1900
|
discovery_service=1
|
||||||
ynh_app_setting_set --app=$app --key=discovery_service --value=1
|
ynh_exec_warn_less yunohost firewall allow UDP $discovery_service_port
|
||||||
else
|
else
|
||||||
ynh_print_warn --message="Port 1900 (for service auto-discovery) is not available. Continuing nonetheless."
|
discovery_service=0
|
||||||
ynh_app_setting_set --app=$app --key=discovery_service --value=0
|
ynh_print_warn --message="Port $discovery_service_port (for service auto-discovery) is not available. Continuing nonetheless."
|
||||||
fi
|
fi
|
||||||
|
ynh_app_setting_set --app=$app --key=discovery_service --value=$discovery_service
|
||||||
|
|
||||||
# Open port 7359 for client auto-discovery
|
# Open port 7359 for client auto-discovery
|
||||||
if ynh_port_available --port=7359; then
|
if ynh_port_available --port=$discovery_client_port; then
|
||||||
ynh_exec_warn_less yunohost firewall allow UDP 7359
|
discovery_client=1
|
||||||
ynh_app_setting_set --app=$app --key=discovery_client --value=1
|
ynh_exec_warn_less yunohost firewall allow UDP $discovery_client_port
|
||||||
else
|
else
|
||||||
ynh_print_warn --message="Port 7359 (for client auto-discovery) is not available. Continuing nonetheless."
|
discovery_client=0
|
||||||
ynh_app_setting_set --app=$app --key=discovery_client --value=0
|
ynh_print_warn --message="Port $discovery_client_port (for client auto-discovery) is not available. Continuing nonetheless."
|
||||||
fi
|
fi
|
||||||
|
ynh_app_setting_set --app=$app --key=discovery_service --value=$discovery_client
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -229,7 +231,17 @@ ynh_use_logrotate --non-append
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
|
ynh_script_progression --message="Integrating service in YunoHost..." --weight=1
|
||||||
|
|
||||||
|
# Build the ports list
|
||||||
|
needed_ports=()
|
||||||
|
(( $discovery_server == 1 )) && needed_ports+=( "$discovery_server_port" )
|
||||||
|
(( $discovery_client == 1 )) && needed_ports+=( "$discovery_client_port" )
|
||||||
|
|
||||||
|
# Integrate service and require to expose the ports if needed
|
||||||
|
if [ -z ${needed_ports[@]} ]; then
|
||||||
yunohost service add $app --description="Jellyfin media center" --log_type="systemd"
|
yunohost service add $app --description="Jellyfin media center" --log_type="systemd"
|
||||||
|
else
|
||||||
|
yunohost service add $app --description="Jellyfin media center" --log_type="systemd" --needs_exposed_ports=${needed_ports[@]}
|
||||||
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# START SYSTEMD SERVICE
|
# START SYSTEMD SERVICE
|
||||||
|
|
Loading…
Add table
Reference in a new issue