YunoHost Streams Documentation

Service Classes


Service classes allow you to set limits on system resources by limiting what individual accounts can do, including file storage and top-level post limits. Define custom service classes according to your needs in the .htconfig.php file. For example, create a standard and premium class using the following lines:
// Service classes

App::$config['system']['default_service_class']='standard'; // this is the default service class that is attached to every new account

// configuration for standard service class
App::$config['service_class']['standard'] =
array('photo_upload_limit'=>2097152, // total photo storage limit per channel (here 2MB)
'total_identities' =>1, // number of channels an account can create
'total_items' =>0, // number of top level posts a channel can create (other posts and comments are unaffected)
'total_channels' =>100, // number of connections the user can add (other users can still add this channel, even if the limit is reached)
'attach_upload_limit' =>2097152); // total attachment storage limit per channel (here 2MB)

// configuration for premium service class
App::$config['service_class']['premium'] =
array('photo_upload_limit'=>20000000000, // total photo storage limit per channel (here 20GB)
'total_identities' =>20, // number of channels an account can create
'total_items' =>20000, // number of top level posts a channel can create (other posts and comments are unaffected)
'total_channels' =>2000, // number of connections the user can add (other users can still add this channel, even if the limit is reached)
'attach_upload_limit' =>20000000000); // total attachment storage limit per channel (here 20GB)

To apply a service class to an existing account, use the command line utility from the web root:

util/service_class
list service classes

util/config system default_service_class firstclass
set the default service class to 'firstclass'

util/service_class firstclass
list the services that are part of 'firstclass' service class

util/service_class firstclass photo_upload_limit 10000000
set firstclass total photo disk usage to 10 million bytes

util/service_class --account=5 firstclass
set account id 5 to service class 'firstclass' (with confirmation)

util/service_class --channel=blogchan firstclass
set the account that owns channel 'blogchan' to service class 'firstclass' (with confirmation)

Service class limit options


  • photo_upload_limit - maximum total bytes for photos
  • total_items - maximum total toplevel posts
  • total_identities - maximum number of channels owned by account
  • total_channels - maximum number of connections
  • attach_upload_limit - maximum file upload storage (bytes)
  • access_tokens - maximum number of Guest Access Tokens per channel