General
Configuration
Storage Configuration
Configure storage bucket names and settings.
The storage configuration file (config/storage.config.ts) contains settings for storage buckets used for file uploads.
Configuration File
config/storage.config.ts
import { env } from '@/lib/env';
export const storageConfig = {
bucketNames: {
images: env.NEXT_PUBLIC_IMAGES_BUCKET_NAME ?? ''
}
} satisfies StorageConfig;Configuration Options
Bucket Names
The bucketNames object defines the names of storage buckets for different file types:
images: Bucket name for image uploads- Read from
NEXT_PUBLIC_IMAGES_BUCKET_NAMEenvironment variable - Falls back to empty string if not set
- Read from
Use Cases
Add More Buckets
To add additional buckets for different file types:
config/storage.config.ts
import { env } from '@/lib/env';
export const storageConfig = {
bucketNames: {
images: env.NEXT_PUBLIC_IMAGES_BUCKET_NAME ?? '',
documents: env.NEXT_PUBLIC_DOCUMENTS_BUCKET_NAME ?? '',
videos: env.NEXT_PUBLIC_VIDEOS_BUCKET_NAME ?? '',
avatars: env.NEXT_PUBLIC_AVATARS_BUCKET_NAME ?? 'avatars'
}
} satisfies StorageConfig;Use Default Bucket Names
To use default bucket names instead of environment variables:
config/storage.config.ts
export const storageConfig = {
bucketNames: {
images: 'images',
documents: 'documents',
avatars: 'avatars'
}
} satisfies StorageConfig;Type Definitions
The configuration uses TypeScript types for type safety:
config/storage.config.ts
export type StorageConfig = {
bucketNames: {
images: string;
};
};Using the Configuration
Import and use the configuration in your code:
lib/storage/buckets.ts
import { storageConfig } from '@/config/storage.config';
export function getImagesBucket() {
return storageConfig.bucketNames.images;
}lib/storage/upload.ts
import { storageConfig } from '@/config/storage.config';
export async function uploadImage(file: File) {
const bucketName = storageConfig.bucketNames.images;
// Upload to bucket...
}Environment Variables
Set the bucket name in your .env file:
.env
NEXT_PUBLIC_IMAGES_BUCKET_NAME=my-images-bucketNext Steps
For more information on storage, see: