Skip to content

Quickstart

Get from zero to browsing your S3 storage in under a minute. Sairo runs as a single Docker container with no external dependencies.

Docker

Docker Engine 20.10+ installed and running. Get Docker if you don’t have it.

S3 Credentials

An S3-compatible endpoint URL, access key, and secret key. Works with AWS S3, MinIO, Cloudflare R2, Wasabi, Backblaze B2, Ceph, and more.

Choose your preferred method:

The fastest way to get started. One command, one container:

Start Sairo
docker run -d --name sairo -p 8000:8000 \
-e S3_ENDPOINT=https://your-s3-endpoint.com \
-e S3_ACCESS_KEY=your-access-key \
-e S3_SECRET_KEY=your-secret-key \
-e ADMIN_PASS=choose-a-strong-password \
-e JWT_SECRET=$(openssl rand -hex 32) \
-v sairo-data:/data \
stephenjr002/sairo:latest

Replace the placeholder values with your actual S3 credentials.

Navigate to http://localhost:8000 in your browser.

Sign in with the default admin credentials:

FieldValue
Usernameadmin
PasswordThe ADMIN_PASS value you set above

Once logged in, explore these features:

  1. Browse a bucket

    Click any bucket in the sidebar. Navigate through prefixes like a file system — virtualized tables handle even 100K+ objects smoothly.

  2. Search everything with /

    Press / anywhere in the UI to open instant search. Sairo indexes all object keys using SQLite FTS5, so results come back in milliseconds.

  3. Preview files inline

    Click on any supported file to see a rich preview without downloading:

    File TypePreview
    Images (PNG, JPG, SVG, GIF)Full visual preview
    PDFEmbedded PDF viewer
    CSV / TSVSortable data table
    JSONSyntax-highlighted tree view
    Parquet / ORC / AvroSchema inspector
    Code filesSyntax-highlighted source
  4. Generate a share link

    Right-click any object and select Share. Create password-protected download links with expiration and download limits — no S3 knowledge required for recipients.

Sairo is a self-contained stack with no external dependencies:

  • Directory/ (container root)
    • Directoryapp/
      • main.py — FastAPI backend
      • Directorystatic/ — React 18 SPA (built at image time)
    • Directorydata/ — SQLite databases (one per bucket, WAL mode)