code: function createSchema() {
      return joi.object().keys({
          host: joi
              .string()
              .label('Webserver host'),
          port: joi
              .number()
              .integer()
              .min(1)
              .max(65535)
              .label('Webserver port number'),
          cors: joi
              .boolean()
              .label('Enable CORS'),
          ui: joi
              .boolean()
              .label('Enable sandbox UI'),
          silent: joi
              .boolean()
              .label('Enable silent mode'),
          level: joi
              .string()
              .lowercase()
              .valid('silly', 'debug', 'verbose', 'info', 'warn', 'error')
              .label('Logging level'),
          engine: joi
              .string()
              .lowercase()
              .valid('phantomjs', 'slimerjs')
              .label('Default engine'),
          timeout: joi
              .number()
              .integer()
              .min(1)
              .label('Timeout'),
          options: joi
              .object()
              .default({})
              .label('Engine default options'),
          command: joi
              .string()
              .label('Command to run screenshot capturing'),
          storage: joi
              .string()
              .label('Storage path'),
          cache: joi
              .number()
              .integer()
              .label('Cache life time'),
          cleanupStartup: joi
              .boolean()
              .label('Cleanup storage at startup'),
          cleanupRuntime: joi
              .boolean()
              .label('Cleanup storage after sending image'),
          compress: joi
              .boolean()
              .label('Compress screenshots'),
          whitelist: joi
              .array()
              .default([])
              .label('List of allowed sites (RegExps)')
      });
  }
docs: /* Functions to work with application configuration