Jimin Huang commited on
Commit
5514460
·
1 Parent(s): c366854

Change settings

Browse files
Files changed (3) hide show
  1. Dockerfile +10 -11
  2. index.html +0 -1
  3. src/lib/supabase.js +9 -2
Dockerfile CHANGED
@@ -1,19 +1,18 @@
 
1
  FROM node:20-alpine AS deps
2
  WORKDIR /app
3
  COPY package.json package-lock.json* ./
4
  RUN npm ci --no-audit --no-fund || npm i --no-audit --no-fund
5
 
6
- FROM node:20-alpine AS build
 
7
  WORKDIR /app
8
  COPY --from=deps /app/node_modules ./node_modules
9
  COPY . .
10
- ARG VITE_SUPABASE_URL
11
- ARG VITE_SUPABASE_ANON_KEY
12
- ARG VITE_SUPABASE_SERVICE_ROLE_KEY
13
- ENV VITE_SUPABASE_URL=$VITE_SUPABASE_URL \
14
- VITE_SUPABASE_ANON_KEY=$VITE_SUPABASE_ANON_KEY \
15
- VITE_SUPABASE_SERVICE_ROLE_KEY=$VITE_SUPABASE_SERVICE_ROLE_KEY
16
- CMD sh -lc 'mkdir -p /app/dist && \
17
- printf "window.__RUNTIME_CONFIG__={VITE_SUPABASE_URL:\"%s\",VITE_SUPABASE_ANON_KEY:\"%s\"};" "$VITE_SUPABASE_URL" "$VITE_SUPABASE_ANON_KEY" > /app/dist/env.js && \
18
- npm run build && \
19
- npx vite preview --host 0.0.0.0 --port 4173'
 
1
+ # Install deps
2
  FROM node:20-alpine AS deps
3
  WORKDIR /app
4
  COPY package.json package-lock.json* ./
5
  RUN npm ci --no-audit --no-fund || npm i --no-audit --no-fund
6
 
7
+ # Final runtime image
8
+ FROM node:20-alpine
9
  WORKDIR /app
10
  COPY --from=deps /app/node_modules ./node_modules
11
  COPY . .
12
+
13
+ # Expose the port used by `vite preview`
14
+ EXPOSE 4173
15
+
16
+ # IMPORTANT: build at container start (runtime), so VITE_* from Space Variables are available
17
+ # No env.js generation needed
18
+ CMD sh -lc 'npm run build && npx vite preview --host 0.0.0.0 --port 4173'
 
 
 
index.html CHANGED
@@ -3,7 +3,6 @@
3
  <head>
4
  <meta charset="UTF-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <script src="/env.js"></script>
7
  <title>Paper Trading Agents</title>
8
  </head>
9
  <body>
 
3
  <head>
4
  <meta charset="UTF-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 
6
  <title>Paper Trading Agents</title>
7
  </head>
8
  <body>
src/lib/supabase.js CHANGED
@@ -1,7 +1,14 @@
1
  import { createClient } from '@supabase/supabase-js'
2
- import { SUPABASE_URL, SUPABASE_ANON_KEY } from './runtimeEnv';
3
 
4
- export const supabase = createClient(SUPABASE_URL!, SUPABASE_ANON_KEY!);
 
 
 
 
 
 
 
 
5
 
6
  // Helper to run GraphQL queries for features not available in REST
7
  export async function graphql(query, variables) {
 
1
  import { createClient } from '@supabase/supabase-js'
 
2
 
3
+ const url = import.meta.env.VITE_SUPABASE_URL;
4
+ const anon = import.meta.env.VITE_SUPABASE_ANON_KEY;
5
+
6
+ if (!url || !anon) {
7
+ // Fail loudly so blank pages don't hide the problem
8
+ throw new Error('Missing VITE_SUPABASE_URL or VITE_SUPABASE_ANON_KEY');
9
+ }
10
+
11
+ export const supabase = createClient(url, anon);
12
 
13
  // Helper to run GraphQL queries for features not available in REST
14
  export async function graphql(query, variables) {