First thing you need to know is regarding resignation/leaving dates and your bonus. You can't make an informed decision until you know that.
Check your contract. That should spell out the exact rules around your bonus scheme. If it doesn't ask HR, but there is a risk your questions could get back to your boss and reveal more about your intentions before you want.
For bonus points take a look at current job openings and try to figure out the going market rate.
Then you have several options:
- Stay in your current job at your current salary (i.e. knowing you are underpaid)
- Ask for a raise to get you to stay at current job. (You will need to handle this carefully to avoid seeming like you are making threats to leave/ultimatum etc. as you don't want to end up staying but with a broken relationship with your boss/company.)
- Accept the new job with a delayed start date (if they are willing) to preserve your bonus.
- Accept the new job ASAP but ask the new company to cover the value of your lost bonus (depending on the job, how much the bonus is and how much they like you they may be willing)
I would suggest coming up with a plan something like the following:
- Finding out the earliest time you can leave preserving your bonus
- Then asking the new company if they can wait or match the bonus
- Then figure out what the minimum raise (or other benefits) your current job would have to offer to get you to stay.
- Then have a quiet conversation with your boss. Along the lines of "I've had this offer (basic details but not who) and this is the market rate (assuming its higher). I really like it here and want to stay, but I can't ignore this. Is there anything you can do?"
This means you know where you stand and can reassess before moving on to the next step.
"I think it's unlikely the other company will agree to pay the full bonus amount as a signing bonus."
It might be unlikely but if the alternative is rejecting their offer give them the option.
"Should I just drop the external offer and be happy with the bonus?"
I can't answer that for you. No one can other than you (and significant other, if any).
I don't know the difference in salary, the bonus, how much that means to you, how much you like your current job, how good the new job looks to be.