- Buy a domain name
- Set up a free cloudflare account
- Set up portainer to manage your docker-compose files (they call them stacks)
- Set up cloudflare dyndns service to regularly update your WAN ip for your domain name
- Set up cloudflare zero trust for authentication
- Set up Nginx proxy manager to route traffic to your NUC by IP and port
Should take you less than a day to get all of that working