Forum OpenACS Development: OpenACS.org runs now containerized

Collapse
Posted by Gustaf Neumann on
Dear all,

OpenACS.org is now running fully containerized.

Please let me know if you notice any problems with the site. OpenACS.org is a long-lived installation that has grown over more than 20 years and includes many legacy packages. During the transition to a containerized setup, special care is required for things like links that point outside the application’s file system tree or other assumptions that do not always carry over cleanly into containers.

If you encounter anything that looks broken, inconsistent, or slower than expected, your feedback would be greatly appreciated.

Thanks for your help in testing and improving the setup!

Collapse
Posted by Gustaf Neumann on

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)  |
      +-------------------------------------------------+