There are several services, or modules, that make up the Skynet Portal stack. Portal operators can define which modules they want to run with the
PORTAL_MODULESenvironment variable. Skyd and the webportal are mandatory and always run, while all other services are optional and can be enabled with their corresponding flag.
'a': Accounts (https://github.com/SkynetLabs/skynet-accounts)
'b': Blocker (https://github.com/SkynetLabs/blocker)
'p': Pinner (https://github.com/SkynetLabs/pinner)
'm': MongoDB (when 'a' (i.e. Accounts) are used, this is included automatically)
's': Malware Scanner (https://github.com/SkynetLabs/malware-scanner)
'u': Abuse Scanner (https://github.com/SkynetLabs/abuse-scanner)
The skynet-webportal service is what makes skyd publically accessible to the web. One of the core responsibilities of the webportal is managing an NGINX server that proxies requests to the corresponding service.
Module Flag: a
Mongo is a mongoDB cluster that runs on the portal. When running a multi-server portal, mongo is used to help maintain data consistency across servers. For individual servers, it supports accounts, the blocker, and the scanner services.
Module Flag: m
The blocker service is an abstraction on top of the skyd blocklist. It helps sync the blocklist across servers in a portal cluster as well as being a single source of truth for blocklist requests from outside as well as blocklist request from the scanner services.
Module Flag: b
Module Flag: s
Module Flag: u
Module Flag: j
Module Flag: p