server {
  listen 80;
  server_name _;

  root /usr/share/nginx/html;
  index index.html;

  # The user-management module is a self-contained SPA built into /_um. Deep links
  # / refreshes under /_um must fall back to the MODULE's own index.html, not the
  # host's. Longest-prefix match wins, so this takes precedence over `location /`.
  # Mirrors the dev SPA-fallback plugin in apps/backoffice/vite.config.mts.
  location /_um/ {
    try_files $uri $uri/ /_um/index.html;
  }

  location / {
    try_files $uri $uri/ /index.html;
  }
}
