This commit restructures the audiobook generation and serving layer to rely exclusively on S3-compatible blob storage, removing the dependency on local filesystem paths. - Bundle `ffmpeg` and `ffprobe` binaries via npm to ensure portability across environments. - Update API routes to stream audio directly from blob storage instead of local disk. - Remove legacy migration endpoints and filesystem-based indexing logic. - Add startup scripts to facilitate the transition from local to remote storage. BREAKING CHANGE: Audiobook functionality is now strictly dependent on S3 configuration. The previous filesystem-based storage method has been removed.
24 lines
725 B
TypeScript
24 lines
725 B
TypeScript
import type { NextConfig } from "next";
|
|
|
|
const nextConfig: NextConfig = {
|
|
turbopack: {
|
|
resolveAlias: {
|
|
canvas: './empty-module.ts',
|
|
},
|
|
},
|
|
serverExternalPackages: ["better-sqlite3"],
|
|
outputFileTracingIncludes: {
|
|
'/api/audiobook(.*)': [
|
|
'node_modules/ffmpeg-static/ffmpeg',
|
|
'node_modules/ffprobe-static/bin/linux/*/ffprobe',
|
|
'node_modules/.pnpm/ffmpeg-static@*/node_modules/ffmpeg-static/ffmpeg',
|
|
'node_modules/.pnpm/ffprobe-static@*/node_modules/ffprobe-static/bin/linux/*/ffprobe',
|
|
],
|
|
'/api/whisper': [
|
|
'node_modules/ffmpeg-static/ffmpeg',
|
|
'node_modules/.pnpm/ffmpeg-static@*/node_modules/ffmpeg-static/ffmpeg',
|
|
],
|
|
},
|
|
};
|
|
|
|
export default nextConfig;
|