Zum Hauptinhalt springen

YunoHost architecture

The core of YunoHost is built in Python around the yunohost server, but is composed of four main components:

Moulinette

It is a small "homemade" framework. Its major role is to allow us to build both a web API and a command-line API from the same Python code thanks to a YAML schema which we call the actionmap.

It handles other mechanisms like authentication, internationalization and small technical utilitary functions (e.g. reading/writing JSON).

Moulinette has its own documentation available here.

YunoHost

This piece is the very core of YunoHost. It contains:

SSOwat

This is the single sign-on backend of YunoHost. It is based on Lua scripts that are directly interfaced with NGINX and handle all the "technical" aspects of authentication and route accesses.

SSOwat is configured through /etc/ssowat/conf.json which is generated by YunoHost.

YunoHost-portal

This is the web user portal used to log in and browse installed apps.

YunoHost-admin

It is an optional dependency of YunoHost and corresponds to an interface for the web API created by YunoHost and Moulinette (c.f. the yunohost-api service).

It essentially contains: