Skip to content

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 ​

ScreenWhat it does
DashboardBuckets/objects/uptime, live request-rate and throughput charts, heap gauge, erasure-health donut, healing stats & manual scan
Object BrowserBuckets 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 TransferOne-off copy jobs between servers and continuous sync mirrors, with live progress
MetricsRequests, upload/download throughput charts, status breakdown, disk I/O, top operations, failed logins, latency by operation
Identity & AccessUsers (with access-key management), groups, roles, policies with a JSON editor
SettingsConnection 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.

TinyS3 is AGPLv3 licensed. Cloudflare and Cloudflare Workers are trademarks of Cloudflare, Inc. Amazon S3 and AWS are trademarks of Amazon.com, Inc. or its affiliates. MinIO is a trademark of MinIO, Inc. They are named only to describe compatibility; totis.ai is not affiliated with, endorsed by, or sponsored by any of them.