Skip to content

Administration Console ​

Scope and status ​

The console is a separate AdminJS application for catalogue review and authorised support operations. It is not the mobile application or a public catalogue website. Infrastructure coordinates, staff email addresses, secrets and public origins are deliberately omitted from these guides. Operators obtain them from the restricted deployment inventory.

Public HTTPS access was activated and checked on 14 October 2026: the login returned success, anonymous dashboard access redirected to login, and the mobile API health check remained healthy. The CTO confirmed browser access. This verifies that deployment path, not every security or legal requirement.

The console originally used a private HTTPS gateway and a local SSH tunnel. The public browser route now removes that requirement for authorised team members. The private gateway is a separate fallback; historical gateway PID/health pressure is not considered resolved merely because public access works.

Architecture ​

text
Staff browser
  -> Public HTTPS ingress (Caddy)
     -> Private console listener (AdminJS / Express)
        -> PostgreSQL: restricted reader capabilities
        -> PostgreSQL: separate media publisher capabilities
        -> Private media proposal directory
        -> Catalogue image directory on approved publication

Mobile application
  -> Existing public mobile API
     -> Business tables, collection permissions and scanner services

The public ingress terminates TLS and proxies the console. The console and PostgreSQL do not acquire public listening ports for this feature. Existing mobile API routing must remain unchanged. Server-side console requests use PostgreSQL capabilities; exposing the console does not require globally opening CORS on the mobile API.

Staff identities and sessions live in the admin_console schema. Mobile identities remain in business tables. This is logical separation on the existing database server, not a claim that staff use a physically separate database or VPS.

Guides ​

  • Data and features: catalogue fields, gallery, assets, Benchmark, support and themes.
  • Security and accounts: roles, password handling, sessions, SQL boundaries and deferred MFA.
  • Operations: installation, backups, migrations, public activation, reload, rollback and troubleshooting.

Delivery history ​

The delivered scope includes the initial catalogue console, read-only rarity Benchmark, scan quota support, SUPER_ADMIN staff controls, mobile account support, scan statistics, personal light/dark themes and complete catalogue metadata. The self-service password release adds Mon compte, a restricted own-account SQL capability and session-version invalidation.

Catalogue metadata is implemented generically for every catalogue card returned by the console, not only the record used for the demonstration. Missing upstream fields remain visibly absent instead of being fabricated.

Decision ledger ​

DecisionConsequence
Separate staff authenticationA mobile account cannot log into the console
Restricted PostgreSQL capabilitiesGeneric table editing is not exposed as an administration feature
Marketing proposes media; administrators publishAn upload is not automatically a public replacement
Read-only BenchmarkReference classifications are not silently applied to production cards
Explicit operator migrationsStarting the console never automatically migrates the database
Existing Caddy ingressNo second web server or certificate manager is required
Public native authentication for nowCTO deferred Authelia/MFA; this remains a documented security limitation
Caddy control interface remains disabledFile-based reload uses a supported signal, not an exposed control API
Personal theme preferenceIt is browser-local and independent of the mobile theme

Ownership and boundaries ​

The domain-account owner manages the DNS record. The technical operator validates DNS, backs up configuration, configures the ingress and console origin, deploys reviewed images and performs health checks. Staff accounts are created explicitly; DNS activation does not grant anyone a role.

Approval for one migration or console restart is not blanket approval to restore databases, rotate every account, change firewall policies, update packages, restart business workers or delete assets. Backups and deployment evidence belong in restricted operator storage, never in Git.