commit 2b74b04098f17a9088ea1665dfbe4de1dc84d984 Author: deon Date: Mon Apr 8 05:05:38 2024 +0000 Add Dependancies diff --git a/Dependancies.md b/Dependancies.md new file mode 100644 index 0000000..0fc0f6a --- /dev/null +++ b/Dependancies.md @@ -0,0 +1,43 @@ +## Architecture + +```mermaid +flowchart LR; + BROWSER(Web Browser) -.-> NGINX; + FTN_MAILER-IN(FTN Mailer - INBOUND) -.-> HAPROXY; + + subgraph CLRGHOUZ + CLRGHOUZ-WEB ---> CLRGHOUZ-QUEUE(Queue Runner); + CLRGHOUZ-SCHED(Scheduler) ---> CLRGHOUZ-QUEUE; + end + + subgraph FRONTEND + HAPROXY -.-> CLRGHOUZ-WEB; + NGINX -.-> CLRGHOUZ-WEB(Front end); + end + + subgraph DATABASE + CLRGHOUZ-WEB --- DB[(PostgreSQL)]; + end + + subgraph STORE + CLRGHOUZ-WEB --- MINIO[(Minio)]; + end + + CLRGHOUZ-SCHED --- DB; + CLRGHOUZ-QUEUE --- DB; + CLRGHOUZ-QUEUE --- MINIO; + CLRGHOUZ-QUEUE -.-> FTN_MAILER-OUT(FTN Mailer - OUTBOUND); + +``` + +## System Dependencies + +Clearing houz (clrghouz) uses the following additional components, during the day to day life of being an FTN mailer. + +* minio - is used to store incoming files, that are received via FTN mailer sessions (with an accompanying TIC file). Files sent onward to other systems, are sent from minio +* postgresql - is used to store incoming mail, that is received via FTN mailer sessions, as well as the overall configuration of nodes, zones, domains and the web interface +* docker - to run all the necessary containers that make up clrghouz +* haproxy - to front all your TCP connections (optional) +* nginx - to front your HTTP connection to the website (optional) + +These components, in addition to the the clrghouz image, can run on the same host, or be run across multiple hosts - with the only requirement being IP (v4 or v6) configured and the hosts can communicate with other on appropriate ports. \ No newline at end of file