My process for project identification has been:
- Be annoyed at ads/payment structure/whatever in some app or service
- Search https://alternativeto.net/ for alternatives to the thing I'm annoyed with (filtering by Open Source and my devices)
- Try out 1-2 of the top alternatives
- Settle on what service I want to run
- Install, route the subdomain, etc. if necessary (otherwise just access via my tailnet)
As for how to deploy, docker / podman are great! With podman I'd recommend looking into their systemd integrations too. Incus is a neat LXC option too, meant more for longer term services (less micro service focused, good and bad).
Hope this helps!