read -rs -p 'Password: '
Turns out the -s is compatible with Alpine (and probably POSIX). This is much easier than stty -noecho and trapping possible breaks from that.
-s
stty -noecho