So what i usually do is charge it at night before i sleep then put it on silent and leave it on. I was wondering if it should be off or should i at least restart it every so often?
Or is what i am doing fine?

Personally, I find that mine begins to get a bit flaky with some things after about 4-5 days without a reboot (non-rooted phone, running Home++ with a few widgets). Nothing tragic or critical, just a little bit wonky in some areas.

I normally try to reboot every 3-4 days, and this keeps things running nice and smoothly.