import { createServerClient } from '@supabase/ssr'; import { cookies } from 'next/headers'; export function createSupabaseServerClient() { const cookieStore = cookies(); return createServerClient( // Prefer the internal Docker URL so server-side calls skip the Caddy edge // (and its rate limiter); fall back to the public URL when unset. process.env.SUPABASE_INTERNAL_URL ?? process.env.NEXT_PUBLIC_SUPABASE_URL!, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!, { cookies: { getAll() { return cookieStore.getAll(); }, setAll(toSet) { try { toSet.forEach(({ name, value, options }) => { cookieStore.set(name, value, options); }); } catch { // Called from a Server Component — middleware will refresh. } }, }, }, ); }