diff --git a/src/freedombone-app-matrix b/src/freedombone-app-matrix
index 60b40cc2..157bbd51 100755
--- a/src/freedombone-app-matrix
+++ b/src/freedombone-app-matrix
@@ -597,6 +597,9 @@ function remove_matrix {
 
     remove_completion_param install_matrix
     sed -i '/matrix/d' $COMPLETION_FILE
+
+    rm /etc/avahi/services/matrix.service
+    systemctl restart avahi-daemon
 }
 
 function install_home_server {
@@ -802,5 +805,22 @@ function install_matrix {
 
     set_completion_param "matrix domain" "$MATRIX_DOMAIN_NAME"
 
+    # Add avahi services
+    echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /etc/avahi/services/matrix.service
+    echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /etc/avahi/services/matrix.service
+    echo '<service-group>' >> /etc/avahi/services/matrix.service
+    echo '  <name replace-wildcards="yes">%h MATRIX</name>' >> /etc/avahi/services/matrix.service
+    echo '  <service>' >> /etc/avahi/services/matrix.service
+    echo '    <type>_matrix._tcp</type>' >> /etc/avahi/services/matrix.service
+    echo "    <port>$MATRIX_HTTP_PORT</port>" >> /etc/avahi/services/matrix.service
+    echo '  </service>' >> /etc/avahi/services/matrix.service
+    echo '  <service>' >> /etc/avahi/services/matrix.service
+    echo '    <type>_matrix._udp</type>' >> /etc/avahi/services/matrix.service
+    echo "    <port>$MATRIX_HTTP_PORT</port>" >> /etc/avahi/services/matrix.service
+    echo '  </service>' >> /etc/avahi/services/matrix.service
+    echo '</service-group>' >> /etc/avahi/services/matrix.service
+
+    systemctl restart avahi-daemon
+
     APP_INSTALLED=1
 }
diff --git a/src/freedombone-app-xmpp b/src/freedombone-app-xmpp
index 8ced2f1a..c7f7887c 100755
--- a/src/freedombone-app-xmpp
+++ b/src/freedombone-app-xmpp
@@ -616,6 +616,10 @@ function remove_xmpp {
     remove_completion_param install_xmpp
     sed -i '/xmpp/d' $COMPLETION_FILE
     sed -i '/prosody/d' $COMPLETION_FILE
+
+    rm /etc/avahi/services/xmpp.service
+    rm /etc/avahi/services/xmpp-server.service
+    systemctl restart avahi-daemon
 }
 
 function xmpp_email_headers {
@@ -1131,6 +1135,23 @@ function install_xmpp {
 
     ${PROJECT_NAME}-pass -u $MY_USERNAME -a xmpp -p "$XMPP_PASSWORD"
 
+    # Add avahi services
+    echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /etc/avahi/services/xmpp.service
+    echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /etc/avahi/services/xmpp.service
+    echo '<service-group>' >> /etc/avahi/services/xmpp.service
+    echo '  <name replace-wildcards="yes">%h XMPP</name>' >> /etc/avahi/services/xmpp.service
+    echo '  <service>' >> /etc/avahi/services/xmpp.service
+    echo '    <type>_xmpp._tcp</type>' >> /etc/avahi/services/xmpp.service
+    echo "    <port>5222</port>" >> /etc/avahi/services/xmpp.service
+    echo '  </service>' >> /etc/avahi/services/xmpp.service
+    echo '  <service>' >> /etc/avahi/services/xmpp.service
+    echo '    <type>_xmpp-server._tcp</type>' >> /etc/avahi/services/xmpp.service
+    echo "    <port>5269</port>" >> /etc/avahi/services/xmpp.service
+    echo '  </service>' >> /etc/avahi/services/xmpp.service
+    echo '</service-group>' >> /etc/avahi/services/xmpp.service
+
+    systemctl restart avahi-daemon
+
     APP_INSTALLED=1
 }
 
diff --git a/src/freedombone-utils-turn b/src/freedombone-utils-turn
index 49b8f5a9..91afbd84 100755
--- a/src/freedombone-utils-turn
+++ b/src/freedombone-utils-turn
@@ -48,6 +48,7 @@ function generate_turn_key {
 
 function remove_turn {
     firewall_remove ${TURN_HTTP_PORT}
+    firewall_remove ${TURN_PORT}
     systemctl stop turn
     systemctl disable turn
     if [ -f /etc/systemd/system/turn.service ]; then
@@ -59,6 +60,7 @@ function remove_turn {
     rm -rf /var/lib/turn
     sed -i "/# TURN Server/,/# End of TURN Server/d" /etc/nginx/sites-available/${DEFAULT_DOMAIN_NAME}
     remove_onion_service turn ${TURN_ONION_PORT}
+    rm /etc/avahi/services/turn.service
     systemctl restart nginx
 }
 
@@ -173,10 +175,26 @@ function install_turn {
     systemctl daemon-reload
     systemctl start turn
 
-    firewall_add turn ${TURN_HTTP_PORT}
+    firewall_add turn ${TURN_PORT}
+    firewall_add turn-http ${TURN_HTTP_PORT}
 
     TURN_ONION_HOSTNAME=$(add_onion_service turn ${TURN_PORT} ${TURN_ONION_PORT})
 
+    echo '<?xml version="1.0" standalone="no"?><!--*-nxml-*-->' > /etc/avahi/services/turn.service
+    echo '<!DOCTYPE service-group SYSTEM "avahi-service.dtd">' >> /etc/avahi/services/turn.service
+    echo '<service-group>' >> /etc/avahi/services/turn.service
+    echo '  <name replace-wildcards="yes">%h TURN</name>' >> /etc/avahi/services/turn.service
+    echo '  <service>' >> /etc/avahi/services/turn.service
+    echo '    <type>_turn._tcp</type>' >> /etc/avahi/services/turn.service
+    echo "    <port>$TURN_PORT</port>" >> /etc/avahi/services/turn.service
+    echo '  </service>' >> /etc/avahi/services/turn.service
+    echo '  <service>' >> /etc/avahi/services/turn.service
+    echo '    <type>_turn._udp</type>' >> /etc/avahi/services/turn.service
+    echo "    <port>$TURN_PORT</port>" >> /etc/avahi/services/turn.service
+    echo '  </service>' >> /etc/avahi/services/turn.service
+    echo '</service-group>' >> /etc/avahi/services/turn.service
+
+    systemctl restart avahi-daemon
     systemctl restart nginx
 }