It is hard to say exactly what the problem is without seeing any stack traces, but here are some ideas.
Go into the node browser and navigate this path: /app:company_home/st:sites/cm:surf-config. You should see a child called cm:components. That's where the dashboard configs live. You might be able to compare what you see there with a known good site and be able to piece together what's broken.
However, because you can still get to the documentLibrary folder (and presumably any other containers that might also exist, like calendar, data-lists, etc.) I would be tempted to simply create a new site with a new name, then just move the documentLibrary (and other containers) into the new site folder so that you can get back in business.
You could then delete the broken site, purge it from the trashcan, and recreate it using the exact same name. At that point you can move the documentLibrary (and other) folders back into the site folder and you'll be good as new.
If you decide to do this, pay attention to your site groups. They may get whacked when you delete the site. If you have a bunch of different users/groups invited you'll want to save those off before you delete the site.
This sounds like a pain, but it might be easier/less dangerous than mucking around with the surf config.
Again, upon digging in to the exceptions or the node browser you might be able to determine the underlying cause which could have an easier fix than the one proposed here.