QUESTPIE
Operate in Production

Storage

File storage with Flydrive — S3, local filesystem, and upload configuration.

QUESTPIE uses Flydrive for file storage. Supports S3, local filesystem, and other backends.

Configuration

questpie.config.ts
export default runtimeConfig({
	storage: {
		basePath: "/api",
	},
});

Upload Fields

Define upload fields on collections:

avatar: f.upload({
  to: "assets",
  mimeTypes: ["image/*"],
  maxSize: 5_000_000,
}),

Storage Backends

Local (Development)

Files stored on local filesystem. Default for development.

S3 (Production)

export default runtimeConfig({
	storage: {
		basePath: "/api",
		driver: "s3",
		s3: {
			bucket: process.env.S3_BUCKET,
			region: process.env.S3_REGION,
			accessKeyId: process.env.S3_ACCESS_KEY,
			secretAccessKey: process.env.S3_SECRET_KEY,
		},
	},
});

Client Upload

// Upload a file
const asset = await client.collections.assets.upload(file, {
	onProgress: (progress) => console.log(`${progress}%`),
});
  • Media — Admin media management
  • Fields — Upload field type

On this page