Console Compatibility Notes
SILO Console is Silo’s build of the MinIO Console. This page records where the two are interchangeable and where they differ.
pgsty/silo-console continues the upstream minio/console history from its final commit, feff71e4 (2026-04-16); the rebrand begins at 50797deb (2026-08-04). The upstream repository is no longer published — github.com/minio/console now returns 404, where minio/mc was merely archived — so the source lineage survives only in this fork. The Go module path still resolves, because the module proxy continues to serve the versions it already cached. Fork releases to date: v2.0.0, v2.1.0, v2.1.1, v2.2.0, and v2.2.1.
Principles
The fork follows the same rule as the rest of Silo: the shipped artifact and its channels are renamed; the interfaces other software depends on are not.
- Renamed — the artifact on disk (
silo-console), the product identity in the interface and in--version, the distribution channels, and the signing keys. - Unchanged — the Go module path
github.com/minio/console, everyCONSOLE_*environment variable (includingCONSOLE_MINIO_SERVERandCONSOLE_MINIO_REGION), the REST API shapes the web application calls, and the packaging identifiersminio-console.service,console-user, and/etc/default/console, so an in-place package upgrade keeps working. - Severed — automatic self-update, telemetry, analytics, beacons, external scripts and fonts, and call-home. A release catalog is contacted only when one is explicitly configured, through
SILO_RELEASE_SERVICE_HOSTwithRELEASE_SERVICE_HOSTretained as a fallback. - Preserved — upstream copyright and the AGPL-3.0 license. Runtime output credits both MinIO, Inc. and PGSTY.
SILO Console is not a generic S3 browser. Its administrative features need the MinIO-compatible administration APIs that Silo implements in addition to the S3 API.
What changed
1. The full administration console is retained
This is the largest functional difference, and it runs opposite to the usual direction of a fork. Upstream reduced its community console to an object browser. SILO Console keeps the complete administrative interface: dashboards, health, logs, diagnostics, and speed tests; bucket, object, lifecycle, replication, notification, and tier management; users, groups, service accounts, policies, identity providers, and KMS setup; and server configuration.
2. The dashboard targets Metrics V3
Dashboard widgets query the MinIO Metrics V3 catalog, the metric set current deployments actually scrape, with guards for its zero-value and per-node export semantics so a panel distinguishes a real zero from missing data. The mapping is recorded in docs/metrics-v3.md.
3. A smaller, quieter payload
The embedded frontend went from roughly 10 MB to under 3 MB, rebuilt reproducibly byte for byte and enforced by a release gate. There is no telemetry of any kind, and no external network dependency in the page itself.
4. Bilingual interface
The interface, help content, and documentation links are available in English and Chinese behind a per-page toggle, with no added runtime dependencies.
5. For developers: the module graph
The Go module path stays github.com/minio/console as a compatibility
interface, but maintained Console source directly imports and requires
github.com/pgsty/silo-pkg/v3 v3.13.2. The package is not selected through an
upstream-path replacement. minio-go is the explicit exception and resolves to
the verified upstream version.
The maintained graph has one replacement, selecting the released pgsty/mc
source while retaining its historical module path:
Go does not inherit replacements from dependency modules, so a SILO server that
embeds Console must copy that one mc selection. The release-gating graph is the
coordinated PGSTY stack: SILO, SILO Console, pgsty/mc, and silo-pkg.
The project also probes builds with upstream MinIO and upstream mc on a
best-effort basis. Those jobs are compatibility signals, not dependency floors
or release gates: an upstream-only failure is investigated and documented, but
does not require downgrading silo-pkg or duplicating its APIs. A small
github.com/minio/pkg/v3 residue may still appear transitively through legacy
dependencies such as minio/colorjson; maintained Console behavior comes from
silo-pkg.
Since Console v2.3.0 (2026-09-01) the module requires github.com/pgsty/silo-pkg/v3 directly, because silo-pkg v3.13.0 moved to that module path. A server that still selects silo-pkg through replace github.com/minio/pkg/v3 => … must migrate its imports before adopting this Console line. The Silo server embeds Console commit 43f8447fd: the last commit of the v2.3.0 line before the module-path migration, which carries the v2.3.0 security fixes.
Migration
An existing MinIO Console deployment upgrades in place. The service unit, service account, and configuration file keep their names, and every CONSOLE_* variable is read unchanged, so the usual path is to install the silo-console package over the old one and restart.
Two behaviors change on first start and are worth expecting:
silo-consolewill not update itself. Roll out new versions through packages, images, or your orchestrator.- Any workflow that relied on the console reaching MinIO-operated services — the update feed, licensing, or telemetry — no longer has anything to reach.
See also
- Silo server compatibility — the server this console administers
- MCLI client compatibility — the command-line client
- Console release notes and
CHANGELOG.md