# PGSTY SILO Documentation

> pgsty/silo 20261015 Documentation

---

LLMS index: [llms.txt](/llms.txt)

---

> **Current Console:** [v2.4.1](/blog/release/console-2.4.1/), with mcli 20260916 and pkg v3.14.1. See the [component matrix](/compatibility/versions/) and [password-policy migration](/compatibility/password-permissions/).

<p>Components release independently; see the <a href="/compatibility/versions/">component matrix</a> for published versions and development source.</p>
<div class="td-callout td-callout--warning" role="note">
  <div class="td-callout__title"><i class="td-callout__icon fa-solid fa-triangle-exclamation" aria-hidden="true"></i><span class="td-callout__label">Warning</span></div>
  <div class="td-callout__body">
<p><strong>SILO is a MinIO fork maintained by the Pigsty community.</strong> It is not affiliated with, endorsed by, or sponsored by MinIO, Inc. “MinIO” is a trademark of MinIO, Inc., used here only to identify the upstream project. See <a href="/about/attribution/">Attribution</a> for source and licensing details.</p>
  </div>
</div><p>SILO gives existing MinIO deployments an open release and security-maintenance path while preserving the S3 API, configuration, and operational contracts that make migration practical. This site covers installation, migration, administration, development, releases, and compatibility boundaries.</p>
<h2 id="quickstart">Quickstart<a class="td-heading-self-link" href="#quickstart" aria-label="Link to this heading"></a>
</h2>
**Docker**

The commands below pin the current SILO server release. Example credentials are suitable only for a local evaluation.

<h3 id="quickstart-start">Start SILO<a class="td-heading-self-link" href="#quickstart-start" aria-label="Link to this heading"></a>
</h3>
<div class="td-code td-code--untitled" id="td-code-7e884e68-fence-0" data-td-code data-td-code-auto-id
     data-td-language="shell" data-td-line-count="7">
  <div class="td-code__viewport" id="td-code-7e884e68-fence-0-viewport" data-td-code-viewport><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">docker run -d --name silo <span class="se">\
</span></span></span><span class="line"><span class="cl">  -p 9000:9000 -p 9001:9001 <span class="se">\
</span></span></span><span class="line"><span class="cl">  -e <span class="nv">MINIO_ROOT_USER</span><span class="o">=</span>silo-admin <span class="se">\
</span></span></span><span class="line"><span class="cl">  -e <span class="nv">MINIO_ROOT_PASSWORD</span><span class="o">=</span>replace-with-a-strong-secret <span class="se">\
</span></span></span><span class="line"><span class="cl">  -v silo-data:/data <span class="se">\
</span></span></span><span class="line"><span class="cl">  docker.io/pgsty/silo:RELEASE.2026-09-16T00-00-00Z <span class="se">\
</span></span></span><span class="line"><span class="cl">  server /data --console-address :9001</span></span></code></pre></div></div>
</div>
<h3 id="quickstart-check">Check readiness<a class="td-heading-self-link" href="#quickstart-check" aria-label="Link to this heading"></a>
</h3>
<div class="td-code td-code--untitled" id="td-code-7e884e68-fence-1" data-td-code data-td-code-auto-id
     data-td-language="shell" data-td-line-count="1">
  <div class="td-code__viewport" id="td-code-7e884e68-fence-1-viewport" data-td-code-viewport><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">docker <span class="nb">exec</span> silo silo healthcheck ready</span></span></code></pre></div></div>
</div>
<p>Exit code <code>0</code> means the local server is ready. The probe is built into every SILO binary and does not require a second client inside the container.</p>
<h3 id="quickstart-console">Open the Console<a class="td-heading-self-link" href="#quickstart-console" aria-label="Link to this heading"></a>
</h3>
<p>Visit <a href="http://127.0.0.1:9001">http://127.0.0.1:9001</a> and sign in with the credentials supplied above. Before production use, enable TLS, choose unique credentials, pin a tested image tag or digest, and test backup restoration.</p>


See the [container deployment guide](/operations/deployments/baremetal-deploy-minio-as-a-container/) for persistent host paths, service management, and production considerations.

**Linux packages**

Use [Download & Install](/download/#server) to select the RPM, DEB, APK, or standalone archive for your architecture. Published release assets include SHA-256 checksums and build-provenance attestations.

Native packages install the server as `/usr/bin/silo`; the service keeps the established `MINIO_*` environment-variable contract. Review the [binary and package compatibility notes](/compatibility/binary/) before replacing an existing `minio` package.

**Existing MinIO**

Read the [migration guide](/compatibility/migration/) before changing images or binaries. Preserve the data volumes and configuration, stop every node running the old binary, and then start every node on the same pinned SILO release. Do not perform a mixed-binary rolling migration, and never use `docker compose down -v` on data you intend to keep.

**Kubernetes**

The archived MinIO Operator `v7.1.1` can run a SILO Tenant when its image is overridden to `docker.io/pgsty/silo` with a tested tag or digest. Follow the [Tenant Helm guide](/operations/deployments/k8s-deploy-minio-tenant-helm-on-kubernetes/) and treat that Operator version as a frozen compatibility baseline, not an actively maintained dependency.
