README.md

September 3, 2026 · View on GitHub

SILO logo

SILO Console

Web administration console for SILO object storage
Keep the interface. Own the objects.

Website · Documentation · Download · Release Notes · Compatibility · Security

Website Latest release Go version License

Important

SILO Console is an independent, community-maintained continuation of the former MinIO Console codebase, published by Pigsty for SILO. It is not affiliated with, endorsed by, or sponsored by MinIO, Inc. The MinIO name is used only to identify the upstream project and compatibility lineage.

Overview

SILO Console is the browser-based administration interface for SILO. It combines a React and TypeScript web application with a Go backend that connects to a SILO or compatible object storage server.

The Console provides:

  • dashboards, health information, logs, diagnostics, and speed tests;
  • bucket, object, lifecycle, replication, notification, and tier management;
  • users, groups, service accounts, policies, identity providers, and KMS setup;
  • server configuration and day-to-day administrative workflows.

SILO Console sign-in page

Note

SILO Console is not a generic S3 browser. Its administrative features require the MinIO-compatible administration APIs implemented by SILO in addition to the S3 API.

Highlights

The full administration console

Upstream reduced its community console to an object browser. This project keeps the complete administrative interface described above — not only object browsing, but identity, policy, tiering, replication, and observability management.

SILO Console object browser

Metrics V3 dashboard

The dashboard is built on MinIO Metrics V3, the metric set current deployments actually scrape. All widget queries target the V3 catalog, with guards for its zero-value and per-node export semantics, so panels distinguish a real zero from missing data. See docs/metrics-v3.md for the mapping.

SILO Console metrics dashboard

A refreshed interface

The sign-in page, theme system, and console chrome were reworked to current frontend practice — one design language across matched light and dark themes, consistent spacing and motion, and accessible focus states.

Small, clean, and quiet

The embedded payload went from roughly 10 MB to under 3 MB, reproducible byte for byte and enforced by a release gate. There is no telemetry — no analytics, no beacons, no external scripts or fonts, and no call-home. Automatic self-update is disabled, and a release catalog is contacted only when one is explicitly configured.

Bilingual

The entire interface, including help content and documentation links, is available in English and Chinese behind a per-page toggle, with no added runtime dependencies.

Find the Right Resource

Looking forCanonical location
Project overview and navigationSilo Website
Console binaries, packages, and checksumsGitHub Releases
Configuration referenceEnvironment variables · systemd setup · FAQ
Release notes for this consoleConsole release notes · CHANGELOG.md
Differences from the upstream MinIO ConsoleConsole compatibility notes
Metrics V3 dashboard mappingdocs/metrics-v3.md
Development setup and frontend workflowDEVELOPMENT.md · CONTRIBUTING.md
Project news and security advisoriesBlog · release and security notes
Bug reports and feature discussionsGitHub Issues
Vulnerability reportingSECURITY.md · Security Policy
License, attribution, and trademark informationLICENSE · NOTICE · CREDITS · portal license, attribution, and trademark pages
RepositoryDescription
pgsty/siloSilo object storage server — the S3-compatible MinIO fork this console administers
pgsty/silo-consoleThis repository — the admin web console for the Silo server
pgsty/mcThe Silo command-line client, shipped as mcli with the mc command name
pgsty/silo-pkgShared Go packages maintained for the Silo forks
pgsty/pigstyPigsty — the PostgreSQL distribution that ships Silo as its object storage

Status and Compatibility

The public project and release name is silo-console. Compatibility-sensitive names are retained where changing them would break existing integrations:

SurfaceCurrent contract
Repositorypgsty/silo-console
Release binarysilo-console
Development build./console
Go modulegithub.com/minio/console
Server endpointCONSOLE_MINIO_SERVER
Server regionCONSOLE_MINIO_REGION

The retained Go module, import paths, environment variables, API fields, and protocol identifiers are compatibility interfaces, not product branding. Any future rename of those interfaces will require aliases and a migration period.

Standalone Console directly requires github.com/pgsty/silo-pkg/v3 v3.13.2 and resolves github.com/minio/minio-go/v7 upstream. The maintained mc release keeps the compatibility module path github.com/minio/mc, but its source lives in pgsty/mc under a calendar tag that is not a Go semantic version. Console therefore carries a single maintained replacement, and an embedding server must copy it because Go ignores replacements declared by dependency modules:

replace (
	github.com/minio/mc => github.com/pgsty/mc v0.0.0-20260903063637-a2ef95c035d9
)

The block above is generated from go.mod (go run ./hack/replacements update) and verified on every build (go run ./hack/replacements check), so it always names the exact mc source release this Console commit builds with. The shared package is an ordinary direct requirement and needs no downstream replacement:

Module graphStatus
The single maintained replacement aboveSupported; downstream-embedder-compat builds a minimal embedder from the published block and verifies pgsty/silo-pkg v3.13.2 is inherited directly
No mc replacementBest-effort upstream compatibility signal, tested by the non-blocking upstream-pkg-compat job; it is neither the released SILO CLI behavior nor a dependency floor
The retired three-replacement graphUnsupported: do not replace github.com/minio/pkg/v3 with silo-pkg v3.13.0 or later, whose declared module path is github.com/pgsty/silo-pkg/v3

This is the coordinated own-module-path line introduced by silo-pkg v3.13.0. Console imports github.com/pgsty/silo-pkg/v3 directly, while upstream dependencies that still use github.com/minio/pkg/v3 may coexist as a distinct module. Compatibility with unmodified upstream MinIO and mc is maintained on a best-effort basis and never overrides the SILO dependency graph. See docs/Embedding.md.

The complete, versioned list of differences from the upstream MinIO Console — restored features, removed features, and known gaps — is maintained in the compatibility notes.

Downloads and Release Artifacts

Versioned binaries, packages, checksums, and source archives are published on GitHub Releases.

ArtifactLocation
Sourcegithub.com/pgsty/silo-console
Standalone binariesGitHub Releases, for Linux (amd64, arm64, armv6), macOS (amd64, arm64), and Windows (amd64)
Linux packagesDEB, RPM, and APK for amd64, arm64, and armv6; packages retain the minio-console.service compatibility unit and /etc/default/console environment file
Checksumssilo-console_<version>_checksums.txt (SHA-256) alongside each release

Automatic self-update remains disabled until signed release artifacts and a tested rollback path are available; upgrade explicitly through a pinned binary or package version.

Quick Start

Install the Go version declared in go.mod, then build the standalone Console server:

git clone https://github.com/pgsty/silo-console.git
cd silo-console
make console

Point it at a running SILO server and start the Console:

export CONSOLE_MINIO_SERVER=http://127.0.0.1:9000
./console server

Open http://127.0.0.1:9090 and sign in with a user from the configured server. For production, use TLS, configure stable random values for CONSOLE_PBKDF_PASSPHRASE and CONSOLE_PBKDF_SALT, and grant users only the permissions they need. Do not reuse the server root credentials for routine administration.

If the server uses a region other than us-east-1, set the compatibility variable as well:

export CONSOLE_MINIO_REGION=your-region

See the environment variable reference, systemd setup, and FAQ for additional configuration.

Frontend Development

The repository includes the generated frontend bundle used by the Go server. When changing the web application, rebuild it with:

make assets

The required Node.js version is recorded in .nvmrc. See DEVELOPMENT.md for the frontend development server and embedded-server compatibility workflow.

Maintenance Scope

SILO Console follows the conservative maintenance model of the SILO server. The active line focuses on:

  • compatibility with the maintained SILO server;
  • applicable security and dependency updates;
  • focused fixes for reproducible defects;
  • release engineering, tests, documentation, and operational continuity.

Maintenance is best effort. No response time, remediation schedule, support window, commercial support, or SLA is guaranteed. Pin versions, review changes, keep a rollback path, and test upgrades before production use.

Background

The upstream MinIO Console was reduced to an object browser and its community maintenance ended. Pigsty maintains this continuation because SILO needs a complete, reproducible administration console rather than depending on an archived upstream line. The broader upstream changes and the fork maintenance record are documented in these essays:

EssaySubject
MinIO Is DeadChanges to the upstream project and distribution model
MinIO Is Dead, Who Takes Over?Alternatives considered
MinIO Is Dead, Long Live MinIOEstablishing the server and client release pipeline
Two months into maintaining a MinIO forkInitial security and maintenance work

Security and Contributing

Report security issues privately as described in SECURITY.md. For ordinary defects and feature work, open an issue or follow CONTRIBUTING.md. Useful contributions include security and dependency updates, compatibility fixes, tests, release automation, documentation, and accessibility improvements.

License, Attribution, and Trademarks

SILO Console is free software distributed under the GNU Affero General Public License v3.0 or later. See NOTICE and CREDITS for notices and third-party license information.

This repository contains code derived from the former MinIO Console and carried forward through the Alevsk/console and georgmangold/console community maintenance lines. Copyright in inherited code remains with MinIO, Inc. and the respective contributors; SILO-specific modifications remain copyright their respective authors. Existing copyright, license, and attribution notices must be kept intact.

MinIO® is a registered trademark of MinIO, Inc. SILO and SILO Console are independent community projects and are not affiliated with, endorsed by, or sponsored by MinIO, Inc. Amazon S3 is a trademark of Amazon.com, Inc. or its affiliates; references to S3 describe protocol compatibility only. All other trademarks are the property of their respective owners.