35 lines
993 B
TypeScript
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> {}
|
|
}
|