Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nginx: update init script to publish services over mdns #23767

Merged
merged 1 commit into from
Nov 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion net/nginx/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk

PKG_NAME:=nginx
PKG_VERSION:=1.26.1
PKG_RELEASE:=2
PKG_RELEASE:=3

PKG_SOURCE:=nginx-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://nginx.org/download/
Expand Down
50 changes: 50 additions & 0 deletions net/nginx/files/nginx.init
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,53 @@ nginx_init() {
logger -t "nginx_init" -p "daemon.info" "using ${CONF} (the test is ok)"
}

add_mdns() {
local cfg="$1"
local port enabled service

config_get enabled "$cfg" enabled
config_get port "$cfg" listen

port=$(echo "$port" | head -n1 | awk '{print $1;}')


if [ "$enabled" != "0" ] && [ "$enabled" != "false" ] && [ -n "$port" ]; then
case "$port" in
"80")
service="http"
;;
"8080")
service="http-alt"
;;
"443")
service="https"
;;
"8443")
service="pcsync-https"
;;
*)
service="custom-http-$port"
;;
esac

procd_add_mdns_service "$service" "tcp" "$port" "daemon=nginx"
mhusaam marked this conversation as resolved.
Show resolved Hide resolved
fi
}

configure_mdns() {
local mdns="$(uci -q get nginx.global.mdns)"

if [ "$mdns" = "1" ] || [ "$mdns" = "true" ]; then
procd_open_data
json_add_object "mdns"

config_load nginx
config_foreach add_mdns server

json_close_object
procd_close_data
fi
}

start_service() {
nginx_init
Expand All @@ -86,6 +133,9 @@ start_service() {
procd_set_param file "${CONF}" "${CONF_DIR}*.crt" "${CONF_DIR}*.key" \
"${CONF_DIR}*.conf" "${CONF_DIR}*.locations"
procd_set_param respawn

configure_mdns

procd_close_instance
}

Expand Down