Files
ThothII/docs/operations/presentation-publishing.md
T

4.1 KiB

Updating the AritmoLab presentation

Last confirmed by the user: 2026-09-20, after deploying commit 5217c574. The user reported both the presentation and presenter console working. This is the static presentation deployment, separate from the ThothII application stack.

Locations

  • Local worktree: /Users/mp/projects/ThothII-presentazione.
  • Source: presentation/deck/ and presentation/presenter/.
  • Git remote: origin, https://git.tylconsulting.it/mptyl/ThothII.git.
  • Publication branch: feat/ai-etl-presentation.
  • Remote checkout: /var/www/aritmolab/presentation.

Presentation:

https://aritmolab.policlinicosandonato.it/presentation/

Presenter console:

https://aritmolab.policlinicosandonato.it/presentation/presenter/

Give these URLs as copyable plain text when providing instructions: the user reported difficulty clicking Markdown links.

Routine update

  1. In the local worktree, review and validate the requested presentation changes, then commit and push the intended files to origin/feat/ai-etl-presentation. Include new images, styles, scripts and presenter files. A remote pull cannot receive changes that remain uncommitted or unpushed. Leave unrelated changes alone.

  2. The user connects to the remote server and runs:

    cd /var/www/aritmolab/presentation
    git branch --show-current
    git status --short
    

    Continue only when the branch is feat/ai-etl-presentation and there are no unexpected local changes. If either differs, inspect before updating; do not reset, discard files or merge the presentation branch into another branch.

    git pull --ff-only origin feat/ai-etl-presentation
    git log -1 --oneline
    
  3. Refresh both browser windows. Static responses advertise Cache-Control: public, max-age=300, so a browser may reuse assets for five minutes. Use a hard refresh if the old version remains visible; bump asset query versions when changing cached JavaScript or CSS.

  4. When network access is available, verify the expected version at both URLs, including screenshots and synchronization of presenter and audience popups. Distinguish a successful Git push from a completed remote deployment.

Changes to slides, notes, images, CSS and JavaScript need no build, application restart or Nginx reload. A reload is necessary only if Nginx configuration changes.

Remote access

The site was reachable from the user's Mac while connected to the VPN. Do not use SSH tunnels for this deployment. A non-interactive direct SSH attempt on 2026-09-20 failed authentication. The user offered an authenticated SSH session inside VS Code, then chose to execute the remote commands personally. The normal workflow is to push locally and provide the remote pull command to the user; do not assume autonomous remote access or ask for passwords in chat.

Nginx routing already configured

The existing /presentation route redirects to /presentation/. The user supplied the original deck alias and subsequently confirmed successful setup of the two additional routes for the console:

URL prefix Filesystem alias
/presentation/ /var/www/aritmolab/presentation/presentation/deck/
/presentation/deck/ /var/www/aritmolab/presentation/presentation/deck/
/presentation/presenter/ /var/www/aritmolab/presentation/presentation/presenter/

These are sibling location ^~ blocks within the site's server block. The specific deck/ route supports the console's relative links to fonts and slide iframes. The configuration filename was not recorded.

The presentation is intentionally public static content, bypassing Django and Authentik. Preserve its existing routing and protections: directory listings off, index index.html, GET/HEAD only, five-minute cache, nosniff, SAMEORIGIN, and noindex, nofollow, noarchive. Do not expose the entire repository or change unrelated application routes.

Only if routing needs diagnosis:

sudo nginx -T 2>/dev/null | grep -n -A 12 -B 3 '/presentation'

Only after an intentional configuration edit:

sudo nginx -t && sudo systemctl reload nginx