Add a second MinIO client (pub) initialized with MINIO_PUBLIC_ENDPOINT so presigned audio URLs are signed against the public hostname from the start, rather than signed internally and then rewritten. This avoids AWS4 signature mismatch (SignatureDoesNotMatch 403) that occurred when the signed host was substituted after signing. - storage/minio.go: add PublicEndpoint/PublicUseSSL to MinioConfig; add pub client field; NewMinioClient creates pub client when public endpoint differs; PresignAudio uses pub, PresignChapter keeps internal client - cmd/scraper/main.go: wire MINIO_PUBLIC_ENDPOINT and MINIO_PUBLIC_USE_SSL env vars - docker-compose.yml: expose MINIO_PUBLIC_ENDPOINT and MINIO_PUBLIC_USE_SSL to scraper service - ui/src/lib/server/minio.ts: remove rewriteHost() call from presignAudio
sv
Everything you need to build a Svelte project, powered by sv.
Creating a project
If you're seeing this, you've probably already done this step. Congrats!
# create a new project
npx sv create my-app
To recreate this project with the same configuration:
# recreate this project
npx sv@0.12.4 create --template minimal --types ts --install npm ui
Developing
Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
Building
To create a production version of your app:
npm run build
You can preview the production build with npm run preview.
To deploy your app, you may need to install an adapter for your target environment.