1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-12 19:22:24 +00:00
iiab/roles/nginx
2025-01-26 21:18:30 -05:00
..
defaults Nextcloud tuneup for NGINX 2020-02-15 22:49:27 -05:00
tasks Clean df syntax, for each app's disk usage in iiab.ini 2023-06-10 09:10:47 -04:00
templates nginx/templates/iiab.conf.j2, usb_lib/files/upload/header.php, usb_lib/tasks/install.yml: move app out of local_content and into /library/www/html/ 2025-01-26 21:18:30 -05:00
README.md Doc fixes for Tailscale PRs #3798 & #3800 2024-09-22 19:19:35 -04:00

Transition to NGINX

  1. Initial testing strategy (December 2019 - February 2020) was to move NGINX to port 80, and proxy everything to Apache on port 8090 — creating "Shims" for each IIAB App/Service in Section iii. below.

    Until "Native" NGINX was later implemented for each such IIAB App/Service — allowing each to move up to Section ii. below.

    And progressively later moving each up to Section i. when its Apache support was dropped.

    (Background: IIAB Apps/Services are generally Ansible roles that live in /opt/iiab/iiab/roles)

  2. Without PHP available via FastCGI, any function at all for PHP-based applications validated NGINX.

  3. Current state of IIAB App/Service migrations as of 2021-09-05: (SEE ALSO #2762)

    1. These support "Native" NGINX but NOT Apache

      • Admin Console
      • awstats
      • calibre-web
      • captiveportal
      • gitea
      • IIAB documentation (http://box/info)
      • jupyterhub
      • kiwix
      • kolibri
      • lokole
      • mediawiki
      • moodle
      • munin
      • nextcloud
      • nodered
      • OER2Go/RACHEL modules
      • osm-vector-maps
      • sugarizer
      • usb_lib
      • wordpress
    2. These support "Native" NGINX AND Apache, a.k.a. "dual support" for legacy testing (if suitable "Shims" from Section iii. below are preserved!) Both "Native" NGINX and "Shim" proxying from NGINX to Apache port 8090 cannot be enabled simultaneously for these IIAB Apps/Service:

      • NONE: Apache support is now fully REMOVED as of 2021-08-08 (PR #2850)
    3. These support Apache but NOT "Native" NGINX. They use a "Shim" to proxy_pass from NGINX to Apache on port 8090. See roles/3-base-server/tasks/main.yml#L11 for a list of ~6 IIAB Apps/Services that auto-enable Apache.

      • elgg [deprecated -- consider assisting with a complete overhaul from Elgg 2.x to 4.x ?]
    4. These each run their own web server or non-web / backend services, e.g. off of their own unique port(s) (IIAB home pages link directly to these destinations). In future we'd like mnemonic URL's for all of these: (e.g. http://box/calibre, http://box/archive, http://box/kalite)

      • bluetooth
      • calibre (menu goes directly to port 8080)
      • cups (NGINX redirects http://box/print to port 631, changing URL hostname to localhost when necessary, per PR #2858)
      • internetarchive (menu goes directly to port 4244) [*, PR #2120]
      • kalite (menu goes directly to ports 8006-8008)
      • minetest
      • mosquitto
      • pbx [FreePBX is usable with both NGINX and Apache as of 2021-08-18, thanks to PR #2954]
      • phpmyadmin [*, requires Apache for now, as in Section iii.]
      • samba [*, PR #2923]
      • sshd
      • tailscale
      • transmission
      • vnstat

[*] The 3 above starred roles could use improvement, as of 2021-09-05.