diff --git a/docker-compose.dev.yaml b/docker-compose.dev.yaml index 12d5cc6..6073316 100644 --- a/docker-compose.dev.yaml +++ b/docker-compose.dev.yaml @@ -11,5 +11,19 @@ services: volumes: - famapp-db-data:/var/lib/postgresql/data + minio: + image: minio/minio:latest + command: server /data --console-address ":9001" + restart: unless-stopped + environment: + MINIO_ROOT_USER: famapp + MINIO_ROOT_PASSWORD: changeme + ports: + - "9000:9000" + - "9001:9001" + volumes: + - famapp-minio-data:/data + volumes: famapp-db-data: + famapp-minio-data: diff --git a/src/app/api/uploads/route.ts b/src/app/api/uploads/route.ts index 7dac32f..af70b57 100644 --- a/src/app/api/uploads/route.ts +++ b/src/app/api/uploads/route.ts @@ -4,8 +4,13 @@ import { getCurrentSession } from "@/lib/session"; import { ensureBucket, minioClient, MINIO_BUCKET } from "@/lib/minio"; export const runtime = "nodejs"; +export const maxDuration = 60; -const MAX_FILE_SIZE = 5 * 1024 * 1024; +export const config = { + api: { bodyParser: { sizeLimit: "100mb" } }, +}; + +const MAX_FILE_SIZE = 100 * 1024 * 1024; export async function POST(request: Request) { let session: Awaited>; @@ -49,8 +54,15 @@ export async function POST(request: Request) { "Content-Type": file.type, }); } catch (err) { + const msg = err instanceof Error ? err.message : String(err); console.error("Upload failed", err); - return NextResponse.json({ error: "Upload service unavailable" }, { status: 503 }); + return NextResponse.json( + { + error: "Upload service unavailable", + detail: process.env.NODE_ENV !== "production" ? msg : undefined, + }, + { status: 503 }, + ); } return NextResponse.json({ url: `/api/uploads/${key}` }); diff --git a/src/app/garden/containers/new/page.tsx b/src/app/garden/containers/new/page.tsx index c5ecfe3..996a2ca 100644 --- a/src/app/garden/containers/new/page.tsx +++ b/src/app/garden/containers/new/page.tsx @@ -14,7 +14,23 @@ export default function NewContainerPage() { return (
-

New container

+
+ + + + + +

New container

+
{isOpen && results.length > 0 && ( -
    +
      {results.map((s) => (