Existem sistemas prontos para isso que facilitam e muito o trabalho. Tu pode ter o proprio "dropbox" ou até uma netflix caseira. Eu estou usando o TrueNAS Scale como servidor local. Com ele é possível de forma bem facil instalar dezenas de apps opensource como se instalasse um aplicativo no celular. Além disso ele possibilita instalar ou rodar qualquer container (e até tem healmechart).
Para compartilhar com o mundo primeiro deve pensar em segurança. Depois se seu IP for fixo, basta liberar as portas no roteador e isso com pesquisa rapida você aprende.
Caso isso não seja possível a Cloudflare tem um recurso de tunel e tem aplicativos que você usa para criar esse tunel e apontar para um dns teu (seja comprado ou duckdns)