pub fn setup() -> AppDataExpand description
ensures required environment variables are present,
initialize a Mailer, Database, and Storage (is Storage plugin was enabled (“plugin_storage” feature enabled))
and wraps them in a AppData struct that is then returned
§Panics
Panics if required environment variables are not present TODO: should we panic here? wouldn’t it be better to return a Result and let the user handle the error?