Storage Backends

PicFast supports 6 storage backends. Each is configured via the admin panel under Storage Strategies. You can create multiple strategies and assign them to different user groups.

Local

Store files on the local filesystem. Simplest option — good for single-server deployments and development.

{
  "type": "local",
  "root": "/data/uploads",
  "url": "https://pics.example.com/uploads"
}

S3-compatible

AWS S3, MinIO, Cloudflare R2, and any S3-compatible service.

{
  "type": "s3",
  "endpoint": "https://s3.us-east-1.amazonaws.com",
  "region": "us-east-1",
  "bucket": "my-picfast",
  "access_key": "AKIAIOSFODNN7EXAMPLE",
  "secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "url": "https://my-picfast.s3.us-east-1.amazonaws.com"
}

Alibaba OSS

{
  "type": "oss",
  "endpoint": "oss-cn-hangzhou.aliyuncs.com",
  "bucket": "my-picfast",
  "access_key": "your-access-key",
  "secret_key": "your-secret-key",
  "url": "https://my-picfast.oss-cn-hangzhou.aliyuncs.com"
}

Tencent COS

{
  "type": "cos",
  "bucket_url": "https://my-picfast.cos.ap-guangzhou.myqcloud.com",
  "secret_id": "your-secret-id",
  "secret_key": "your-secret-key",
  "url": "https://my-picfast.cos.ap-guangzhou.myqcloud.com"
}

Qiniu Kodo

{
  "type": "kodo",
  "access_key": "your-access-key",
  "secret_key": "your-secret-key",
  "bucket": "my-picfast",
  "domain": "https://pics.example.com",
  "zone": "zone0"
}

WebDAV

Connect to any WebDAV-compatible storage (Nextcloud, ownCloud, etc.).

{
  "type": "webdav",
  "endpoint": "https://dav.example.com",
  "username": "user",
  "password": "password",
  "url": "https://dav.example.com/pics"
}

Switching backends

Images already stored in one backend stay there. When you change the default strategy for a group, new uploads go to the new backend. Existing images continue to be served from their original locations — no migration needed.