In essence, the container has all data on the file-system/DB, and all binaries (nsd, mail-delivery, munin node and master) are containerized, interacting via docker compose
+----------------+
| Browser |
| https://openacs.org:443
+--------+-------+
|
Public Internet
| Host:443
v
+------------------------------------------------+
| openacs-org (NaviServer / OpenACS) |
| Internal ports: |
| 8443 HTTPS (mapped from Host:443) |
| 8888 loopback (health, Munin interface) |
+------------------+-----------------------------+
/ \
/ \
HTTP metrics / \ SMTP relay (internal)
/ \
v v
+--------------------------+ +--------------------------+
| munin-node | | mail-relay |
| Port 4949 (internal) | | Postfix on port 25 |
| polled by munin-master | | (internal Docker net) |
+-------------+------------+ +-------------+------------+
^ |
| TCP 4949 (internal) | SMTP to Internet
| v
+-------------+------------+ +--------------------------+
| munin-master | | External mail servers |
| cron → munin-cron | | (MX hosts, SMTP 25/587/…)|
| writes HTML + PNG to | +--------------------------+
| /var/www/openacs/www/ |
| munin-container |
+-------------+------------+
|
| bind mount (on host filesystem)
v
+-------------------------------------------------+
| /var/www/openacs.org/www/munin |
| (served by OpenACS as /munin/ over HTTPS 8443) |
+-------------------------------------------------+