Project Information
Cheap home server which is dead simple to use.
Contents
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.
core system - no features, only a bootable Debian base
- needs refactoring to use mmdebstrab (replacing use of multistrap)
- needs packaging officially for Debian
data store - semantic web triple-store "Oxigraph" (og maybe "Atomic-Data-Server") to hold both collected data and meta-level system configuration
network access control - semantic web service "WebID" to authorize/authenticate using OAUTH with semantic web URIs as credentials
missing: some packaging tracked at 921304
full Solid framework - services for all interoperability standards of Solid
system agents
- missing
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.