Ich gehe recht in der Annahme, dass du den Server in deinem eigenen Haus hinter deinem eigenen Router mit der per Werbung annoncierten Pseudofirewall betreibst, wie es Menschen mit wenig Erfahrung in der Regel tun sollten? Oder bist du wie der 13-jährige Halbstarke, der sich Papas Autoschlüssel geschnappt hat und nun mit dem 7er BMW und Vollgas in der 30er-Zone über Bande die parkenden Autos in Schrott verwandelt?
Mit Blick auf das zuvor geschriebene ist mein Ratschlag, die einzelnen Dienste innerhalb einer (virtuellen) Testumgebung einzurichten, die vom Internet getrennt ist. Dann kannst du dich in Ruhe darauf konzentrieren, nicht nur die Applikationen selbst in den Griff zu bekommen, sondern auch die jeweilige Absicherung gegen Angriffe aus dem Internet ordentlich aufzubauen.
Wenn dein Server vom Start weg aus dem Internet erreichbar ist, brauchst du nur einmal nicht aufpassen (z.B. schlechtes root-Passwort, versehentlich Datenbank für Externe geöffnet, zu viele Berechtigungen für Apache/PHP-Prozesse kombiniert mit exploitbarer Defaultkonfiguration) und es ist nicht mehr dein Server.
Speziell im IPv4-Bereich ist es für viele automatisiert arbeitende Systeme, die den ganzen Tag nichts anderes machen als leicht zu öffnende Systeme aufzufinden und aufzumachen, sehr einfach, da es eben nur ca. 4 Mrd. IP-Adressen gibt und die in gut bekannten Tranchen in der Welt verteilt sind.
Wenn du tiefer ins Detail gehst, bitte denke auch daran, dass du am besten immer nur eine Frage pro Thema stellst. Das hier war etwas generelleres, also grundsätzlich nicht verkehrt. Es bietet sich jedoch nicht an, hier dann detaillierte Folgefragen zu NextCloud, Jitsi und VPN zu behandeln.