diff --git a/frontend/src/lib/directus/client.ts b/frontend/src/lib/directus/client.ts
index 36264c8..440c34f 100644
--- a/frontend/src/lib/directus/client.ts
+++ b/frontend/src/lib/directus/client.ts
@@ -13,20 +13,29 @@ import {
import type { DirectusSchema } from '../schemas';
import type { DirectusClient, RestClient } from '@directus/sdk';
-// @ts-ignore
+/**
+ * SSR-Safe Directus URL Detection
+ *
+ * When running Server-Side (SSR), the frontend container cannot reach
+ * the public HTTPS URL from inside Docker. It must use the internal
+ * Docker network name 'directus' instead.
+ *
+ * - SSR/Server: http://directus:8055 (internal Docker network)
+ * - Browser/Client: https://spark.jumpstartscaling.com (public URL)
+ */
+const isServer = import.meta.env.SSR || typeof window === 'undefined';
+
+// Public URL for client-side requests
const PUBLIC_URL = import.meta.env.PUBLIC_DIRECTUS_URL || 'https://spark.jumpstartscaling.com';
-// Internal URL (SSR only) - used when running server-side requests
-const INTERNAL_URL = typeof process !== 'undefined' && process.env?.INTERNAL_DIRECTUS_URL
- ? process.env.INTERNAL_DIRECTUS_URL
- : 'https://spark.jumpstartscaling.com';
+// Internal Docker URL for SSR requests
+const INTERNAL_URL = 'http://directus:8055';
-// @ts-ignore
-const DIRECTUS_TOKEN = import.meta.env.DIRECTUS_ADMIN_TOKEN || (typeof process !== 'undefined' && process.env ? process.env.DIRECTUS_ADMIN_TOKEN : '') || 'eufOJ_oKEx_FVyGoz1GxWu6nkSOcgIVS';
+// Select URL based on environment
+const DIRECTUS_URL = isServer ? INTERNAL_URL : PUBLIC_URL;
-// Select URL based on environment (Server vs Client)
-// Always use the public URL to ensure consistent access
-const DIRECTUS_URL = PUBLIC_URL;
+// Admin token for authenticated requests
+const DIRECTUS_TOKEN = import.meta.env.DIRECTUS_ADMIN_TOKEN || '';
/**
* Creates a typed Directus client for the Spark Platform
diff --git a/frontend/src/vite-env.d.ts b/frontend/src/vite-env.d.ts
new file mode 100644
index 0000000..63fe8aa
--- /dev/null
+++ b/frontend/src/vite-env.d.ts
@@ -0,0 +1,39 @@
+///
+///
+
+/**
+ * Spark Platform Environment Variables
+ * These are injected at build/runtime via Astro's import.meta.env
+ */
+interface ImportMetaEnv {
+ /** Public Directus API URL (e.g., https://spark.jumpstartscaling.com) */
+ readonly PUBLIC_DIRECTUS_URL: string;
+
+ /** Admin token for authenticated API requests (optional, for SSR) */
+ readonly DIRECTUS_ADMIN_TOKEN?: string;
+
+ /** Public platform domain for generating URLs */
+ readonly PUBLIC_PLATFORM_DOMAIN?: string;
+
+ /** Preview domain for draft content */
+ readonly PREVIEW_DOMAIN?: string;
+
+ /** True when running on server (SSR mode) */
+ readonly SSR: boolean;
+
+ /** True during development */
+ readonly DEV: boolean;
+
+ /** True for production build */
+ readonly PROD: boolean;
+
+ /** Base URL of the site */
+ readonly BASE_URL: string;
+
+ /** Current mode (development, production, etc.) */
+ readonly MODE: string;
+}
+
+interface ImportMeta {
+ readonly env: ImportMetaEnv;
+}