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:
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")]