Skip to content

Site admin

site-admin is a File Browser application on port 9000 under <site-path>s/admin/. It is part of the basic application set: new Sites include it by default, and the -site-admin selection removes it (Application sets and selection). The operator mounts the Site logo and favicon from the files ConfigMap (admin-logo.svg, admin-favicon.svg) read-only into the branding directory.

The container builds its File Browser configuration at startup (admin/bin/initializer.sh), then starts the server:

Setting Value
Identity trusts the proxy header X-Remote-User (--auth.method=proxy)
Listen and logs binds 0.0.0.0 on the container PORT; logs to stdout; type detection by header disabled (--disableTypeDetectionByHeader=true)
Base URL / root <site-path>s/admin/, root /www/html/
Sign-up, login button disabled
Command execution disabled (--disableExec=true)
External symlinks not followed (--followExternalSymlinks=false)
Share permission disabled (config and seeded user)
Token lifetime 12 hours (hard-coded in the script)
Seeded user administrator, list view mode, password locked, no admin or share permission
File and directory modes 0644 and 0755
Branding external resources disabled; name "Sites File Browser"; files from the mounted branding directory

The proxy restricts this path to Site administrators: admin_auth.lua runs the authentication chain with the admin_groups and admin_users rules, which match the Site's admin users and groups plus the platform hub.administrator_users and hub.administrator_groups (SiteShare.get_admin_users(include_default=True), 10).

Use cases

  • Edit and organise content in a browser, without a WebDAV client or a script.
  • Give Site administrators a UI for uploads, renames, and previews.
  • Branded file browsing: the Site logo and favicon appear in the interface.

Example usage

Open the admin URL in a browser as a Site administrator:

https://<domain>/<space>/<site>/s/admin/

The proxy admits Site administrators and the platform hub.administrator_users and hub.administrator_groups, and no one else. The application is part of the basic set; the -site-admin selection removes it (Application sets and selection).

Request flow

flowchart LR
    B["Browser (Site administrator)"] --> O["site-oauth2"]
    O --> P["site-proxy admin_auth.lua"]
    P --> F["site-admin :9000 (File Browser)"]
    F --> V[("Site content /www/html")]