Configuration Guide for small Nodes

This guide aims to provide a collection of settings for nodes installed with limited resources. They are actively used on a small (family) node running on a RaspberryPi 4B (8GB ram). But other restricted environments, e.g. a small VPS or shared hosting fall into targeted hardware range.

The result of this configuration is a limitation of the feature set that Friendica offers in exchange for a lighter footprint on the limited resources (e.g. less storage space/database size).

Activate the fast lane worker. This will keep one worker process dealing only with the delivery of content. After all we want to share postings with contacts in a social network, so this should not suffer from other tasks the worker has to perform.

Limit public access

If non-logged in users have less access to potentially resource hungry parts of Friendica those resources are free for logged in users. These resource hungry parts include Community pages for visitors (None), Disallow public access to addons listed in the apps menu., Only local search.

Discovery

Discovering potential contacts is great, but will use resources. So

  • set Discover followers/followings from contacts to None and just to be sure deactivate Discover contacts from other servers.
  • Also Only update contacts/servers with local data should limit the data-waste filling up the database.

Remote content

Delete it automatically, as long as it is not protected by the users of the node. The settings for this are

  • Lifespan of remote items and also
  • limit the Maximum age of items in the search table.
  • The Lifespan of raw conversation data is kept for 90 days by default, but the description claims it is save to delete it after 14 days so, take the minimum save value.
  • Deactivate the Cache contact avatars option.

Don't forget to select Clean database and Periodically optimize tables. The optimization will actually free the space the table is reserving on the storage (else the database will fill up the reserved space before claiming more).

Relays

Relay server are great to get content into your node, especially on small nodes (likely those with limited resources). Fill the global community page and have nice channel content based on them. But those postings will also eat the resources of the server quickly. So…

  • set the Relay scope to tags and define some tags your server should import. Also “Allow user tags” so that the user can set tags to follow from the relay. However
  • set the Lifespan of unclaimed items to 1 (or another low value) so that these posting will get deleted quickly again

Display of content

Limit the amount of postings and comments that are shown on one page. A value of 20 is working for the RasPi.

Deferred worker tasks

Sometimes a post delivery task performed by the background worker fails and is deferred to a later time to try again. With the Worker defer limit the number of re-tries can be defined.

  • system → fetch_parents = false this will prevent Friendica to fetch missing parent posts
  • system → optimize_all_tables = true this will optimizes all tables instead of only tables like workerqueue or the cache, so when things in the database are deleted, more space is freed.

In addition to the mentioned settings admins can set for their server users can limit the scope of content they collect from their contacts; which in turn reduces the amount of postings that have to be stored in the database. The Followed content scope settings can be found in the personal profile settings → Social Media → General Social Media Settings. The most limited option is to only conversations my follows started.

  • Last modified: 2024-09-30 20:27