Files
zero-fucks-given/apps/backend/config/drive.ts
T

35 lines
993 B
TypeScript

import env from '#start/env'
import app from '@adonisjs/core/services/app'
import { defineConfig, services } from '@adonisjs/drive'
const driveConfig = defineConfig({
default: env.get('DRIVE_DISK'),
services: {
fs: services.fs({
location: app.makePath('public/uploads'),
serveFiles: true,
routeBasePath: '/uploads',
visibility: 'public',
}),
s3: services.s3({
credentials: {
accessKeyId: env.get('AWS_ACCESS_KEY_ID', 'minioadmin'),
secretAccessKey: env.get('AWS_SECRET_ACCESS_KEY', 'minioadmin'),
},
region: env.get('AWS_REGION', 'us-east-1'),
bucket: env.get('S3_BUCKET', 'crux-drive'),
endpoint: env.get('S3_ENDPOINT'),
forcePathStyle: true,
visibility: 'public',
supportsACL: false,
cdnUrl: env.get('S3_CDN_URL'),
}),
},
})
export default driveConfig
declare module '@adonisjs/drive/types' {
export interface DriveDisks extends InferDriveDisks<typeof driveConfig> {}
}