# app/silo

> 独立 Silo Docker APP 配置模板，提供单节点 S3 对象存储与控制台。

---

LLMS 索引： [llms.txt](/llms.txt)

---

`app/silo` 配置模板在单节点上部署 Silo Docker Compose 应用，替代原 `app/minio`。使用方法见 [**Silo 应用说明**](/docs/app/silo/)。

配套的 [`app/silo/`](https://github.com/pgsty/pigsty/tree/main/app/silo) 与 [`conf/app/silo.yml`](https://github.com/pgsty/pigsty/blob/main/conf/app/silo.yml) 已在主仓库公开，应使用同一源码版本的文件。

## 配置概览

- 配置名称：`app/silo`
- 节点数量：单节点
- 应用镜像：`docker.io/pgsty/silo:latest`
- 持久目录：`/data/silo`
- S3 API：宿主机 `9000`，门户 `sss.pigsty`
- 控制台：宿主机 `9001`，门户 `silo.pigsty`

```bash
./configure -c app/silo
vi pigsty.yml              # 修改口令、域名与数据目录
./deploy.yml
./docker.yml -l silo
./app.yml -l silo
```

## 配置内容

开发版源文件：`conf/app/silo.yml`。

```yaml
---
#==============================================================#
# File      :   silo.yml
# Desc      :   Pigsty config for running the standalone Silo APP
# Ctime     :   2026-08-29
# Mtime     :   2026-08-29
# Docs      :   https://silo.pgsty.com
# License   :   Apache-2.0 @ https://pigsty.io/docs/about/license/
# Copyright :   2018-2026  Ruohang Feng / Vonng (rh@vonng.com)
#==============================================================#

# Silo: S3-Interface Libre Object Storage
# https://silo.pgsty.com
# https://github.com/pgsty/silo
#
# This is an application-scoped Docker Compose deployment. Pigsty's native
# MINIO module also deploys Silo and is preferred for shared backup storage,
# provisioning, monitoring, TLS, and multi-node clusters.
#
# Usage:
#   curl -fsSL https://repo.pigsty.io/get | bash; cd ~/pigsty
#   ./configure -c app/silo
#   vi pigsty.yml                 # change credentials, domains, and data path
#   ./deploy.yml
#   ./docker.yml
#   ./app.yml

all:
  children:

    silo:
      hosts: { 10.10.10.10: {} }
      vars:
        app: silo
        apps:
          silo:
            file:
              - { path: /data/silo ,state: directory ,mode: 0755 }
            conf:
              SILO_IMAGE: docker.io/pgsty/silo:latest
              SILO_ROOT_USER: siloadmin
              SILO_ROOT_PASSWORD: S3User.Silo       # CHANGE ME
              SILO_DATA: /data/silo
              SILO_PORT: 9000
              SILO_CONSOLE_PORT: 9001
              SILO_BROWSER_REDIRECT_URL: ''         # e.g. https://silo.pigsty

    infra: { hosts: { 10.10.10.10: { infra_seq: 1 } } }
    etcd:  { hosts: { 10.10.10.10: { etcd_seq: 1 } }, vars: { etcd_cluster: etcd } }

  vars:
    version: v4.5.0
    admin_ip: 10.10.10.10
    region: default
    node_tune: oltp
    docker_enabled: true

    infra_portal:
      home: { domain: i.pigsty }
      silo: { domain: sss.pigsty ,endpoint: "10.10.10.10:9000" }
      silo-console: { domain: silo.pigsty ,endpoint: "10.10.10.10:9001" ,websocket: true }

    repo_enabled: false
    node_repo_modules: node,infra

    grafana_admin_password: pigsty
    grafana_view_password: DBUser.Viewer
    pg_admin_password: DBUser.DBA
    pg_monitor_password: DBUser.Monitor
    pg_replication_password: DBUser.Replicator
    patroni_password: Patroni.API
    haproxy_admin_password: pigsty
    minio_secret_key: S3User.MinIO
    etcd_root_password: Etcd.Root

...
```

## 配置解读

模板定义 `silo` 应用组，并在同一主机部署 INFRA 与 ETCD；没有配置 PostgreSQL 集群，也不会创建由原生 MINIO 模块管理的对象存储集群。

`apps.silo.file` 创建数据目录，`apps.silo.conf` 写入镜像、口令与端口。默认根用户为 `siloadmin`，口令为 `S3User.Silo`，部署前必须修改。通过控制台门户访问时，将 `SILO_BROWSER_REDIRECT_URL` 设置为完整外部 URL。

这份模板适合应用专用的单节点对象存储。需要共享备份存储、TLS、自动创建用户与存储桶、监控或多节点高可用时，使用 [**MINIO 模块**](/docs/minio/) 与 [`demo/minio`](/docs/conf/minio/) 或 [`ha/trio`](/docs/conf/trio/) 模板。
