The only real option is to charge people.
Hosting isn't free. It costs money to run a website. That money needs to come from somewhere. If it doesn't come from advertisers, it must come from users.
There could be a verity options for that. But I like the simple annual subscription. Each and every user pays. Spread out the cost as much as possible. It's only fair.