Web console
TinyS3 ships a management console — React, TypeScript and Vite, served by the server at /console/. Sign in with any credential the server knows (the root credential from the config, or an IAM user's access key).
The console talks to the S3, IAM and admin APIs directly from your browser using the credentials you signed in with; nothing is proxied.
Screens
| Screen | What it does |
|---|---|
| Dashboard | Buckets/objects/uptime, live request-rate and throughput charts, heap gauge, erasure-health donut, healing stats & manual scan |
| Object Browser | Buckets rail, folders, parallel uploads with per-file progress and total speed, object details (preview, versions with restore, tags, permissions/lock, presigned share links), bucket configuration (versioning, encryption, SSE-C, website, logging, lifecycle, object lock, access, CORS, policy, tags, notifications, replication — local and remote/ARN targets with DR resync — and quota) |
| Data Transfer | One-off copy jobs between servers and continuous sync mirrors, with live progress |
| Metrics | Requests, upload/download throughput charts, status breakdown, disk I/O, top operations, failed logins, latency by operation |
| Identity & Access | Users (with access-key management), groups, roles, policies with a JSON editor |
| Settings | Connection info |
Production build
The console is compiled into the jar only when the shipping artifact is built — jib* / publish* Gradle tasks, or explicitly with -PbuildConsole. A plain ./gradlew build never runs npm.
Development
The console runs standalone against a local server during development — see Console development.