Project Information

Cheap home server which is dead simple to use.

Solidbox is a Debian Blend for self-hosting without the need for conventional administration: Services adapt themselves based on how they are used.

Status

Project is currently under heavy development.

Project Information

Communication takes place on the mailing list and on IRC at OFTC.net in channel #tinker (e.g. via matrix).

Code is tracked in git as part of solidbox-team (and temporarily some parts at tinker-team).

Comments or suggestions? Send a message to the list.

Wanna join? Register an account at Salsa and request to join our team.

Your participation is welcome!

Use

System offers both conventional services and semantic web services.

Initially only the conventional service Jabber (XMPP) is active, waiting for an initial request for creating a Jabber account which is treated as coming from the owner of the box.

Based on usage of services and connection of hardware devices, additional conventional services are automatically enabled - including storage (netatalk, scp), addressbook and calendar (radicale), and music playing (MPD + mpd-sima).

When available as package in Debian, the semantic web service Solid is included - automatically active when enough information is gathered for its configuration.

Data gathering and sharing

System distinguishes between several types of data:

owned data is unique data collected from owner activities. It is kept until forever (or until requested deleted by owner).

peer data is unique data copied from other solidboxes or Solid pods. It is cached and occationally attempted refreshed.

consensus data is copied from public sources - e.g. dbpedia. It is cached and occationally attempted refreshed.

reasoned data is computed from owned, peer, and consensus data. It is cached and occationally recomputed.

A system can operate standalone, using only owned, consensus, and reasoned data.

An closed group of confirmed friendly peers can form a network also using select peer data.

When Safenet is operational and packaged for Debian, that can be used as basis for larger networks where Safenet implicitly handles potential imbalances in resource consumption (e.g. one node excessively fetching data without sharing).

Setup/configuration

Initial setup and later (re)configuration of services is done automatically using a set of internal decision making processes.

Continuously, an internal service monitors user-facing services by scanning logfiles for patterns of regular activity - same way an Intrusion Detection System (IDS) scans for irregular activities.

Detected activities are stored in an internal fact database: An RDF triple-store.

When system is idle, an internal service resolves and prioritizes pending needs for action: Reasoning on and SPARQL queries against the RDF triple-store.

Modest actions are directly executed.

Radical actions of highest priority are passed to the system owner for confirmation via a Jabber (XMPP) bot (later extensible to suppert other user interfaces).

Responses from system owner is detected as a regular activity by monitoring service (see above).

Development

System is composed with Boxer. Early drafts are developed as an addon part of the box project with pre-generated images published at https://box.redpill.dk/. Later, Boxer should support generating images on its own, and image building needs of Solidbox all be included in boxer-data.

Composition is expressed in semantic web (when implemented - until then in custom YAML files).

User-facing website is developed on salsa.

See also