Perspective V Docs

Object Storage Stack Guide

RustFS is the only supported object-storage baseline in this runtime.

RustFS is the only supported object-storage baseline in this runtime.

Source Of Truth

  • Active Swarm: swarm/stacks/services/rustfs/rustfs.yml (service)

  • Active launcher: swarm/scripts/services/service.{sh,bat}

  • Compose: runtime/stacks/infrastructure/object-storage/rustfs/docker-compose.rustfs.yml

  • VPS env: runtime/environments/vps/infrastructure/object-storage/rustfs/.env

  • VPS placeholder: runtime/environments/vps/infrastructure/object-storage/rustfs/rustfs.env

  • Dev template: runtime/environments/dev/infrastructure/object-storage/rustfs/rustfs.dev.env

  • Launcher: runtime/scripts/infrastructure/rustfs.{sh,bat}

Dependencies

  • External Docker networks: proxy, object-storage
  • Host directories:
    • /var/lib/rustfs/data
    • /var/lib/rustfs/logs

Required Variables

  • RUSTFS_ROOT_USER
  • RUSTFS_ROOT_PASSWORD
  • RUSTFS_ACCESS_KEY
  • RUSTFS_SECRET_KEY
  • RUSTFS_REGION
  • RUSTFS_CONSOLE_HOST
  • RUSTFS_API_HOST
  • RUSTFS_DATA_DIR
  • RUSTFS_LOGS_DIR

Deploy

docker network create proxy || true
docker network create object-storage || true

sudo mkdir -p /var/lib/rustfs/data /var/lib/rustfs/logs
sudo chown -R 10001:10001 /var/lib/rustfs/data /var/lib/rustfs/logs
sudo chmod 750 /var/lib/rustfs/data /var/lib/rustfs/logs

./runtime/scripts/infrastructure/rustfs.sh up

Raw compose command:

docker compose --env-file runtime/environments/vps/infrastructure/object-storage/rustfs/.env -f runtime/stacks/infrastructure/object-storage/rustfs/docker-compose.rustfs.yml up -d

Validate

./runtime/scripts/infrastructure/rustfs.sh ps
curl -Ik https://rustfs.perspective-v.com
curl -Ik https://rustfs-api.perspective-v.com

App Integration

  • Attach app containers to the external object-storage network.
  • Use the internal endpoint http://rustfs:9000.
  • Keep buckets private and serve files through the application layer or signed URLs.

TLS Fallback

If first certificate issuance fails because of strict SNI, temporarily set sniStrict=false, issue the certificates, then restore sniStrict=true.

On this page