dimensionalpulsar commited on
Commit
dbe2660
·
verified ·
1 Parent(s): 31f12a4

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +22 -59
Dockerfile CHANGED
@@ -1,71 +1,34 @@
1
- # --- ETAPA 1: Construir el Frontend de React ---
2
-
3
- FROM node:20-alpine AS builder
4
 
 
5
  WORKDIR /app
6
 
7
- COPY package.json .
 
8
 
 
9
  RUN npm install
10
 
11
-
12
-
13
- # --- AQUÍ RECIBIMOS LAS VARIABLES SECRETAS ---
14
-
15
- # Definimos que esperamos estos argumentos
16
-
17
- ARG VITE_FIREBASE_API_KEY
18
-
19
- ARG VITE_FIREBASE_AUTH_DOMAIN
20
-
21
- ARG VITE_FIREBASE_PROJECT_ID
22
-
23
- ARG VITE_FIREBASE_STORAGE_BUCKET
24
-
25
- ARG VITE_FIREBASE_MESSAGING_SENDER_ID
26
-
27
- ARG VITE_FIREBASE_APP_ID
28
-
29
-
30
-
31
- # Las convertimos en variables de entorno para el comando build
32
-
33
- ENV VITE_FIREBASE_API_KEY=$VITE_FIREBASE_API_KEY
34
-
35
- ENV VITE_FIREBASE_AUTH_DOMAIN=$VITE_FIREBASE_AUTH_DOMAIN
36
-
37
- ENV VITE_FIREBASE_PROJECT_ID=$VITE_FIREBASE_PROJECT_ID
38
-
39
- ENV VITE_FIREBASE_STORAGE_BUCKET=$VITE_FIREBASE_STORAGE_BUCKET
40
-
41
- ENV VITE_FIREBASE_MESSAGING_SENDER_ID=$VITE_FIREBASE_MESSAGING_SENDER_ID
42
-
43
- ENV VITE_FIREBASE_APP_ID=$VITE_FIREBASE_APP_ID
44
-
45
-
46
-
47
  COPY . .
48
 
 
 
 
 
 
 
 
 
 
 
 
49
  RUN npm run build
50
 
51
-
52
-
53
- # --- ETAPA 2: Servidor de Producción ---
54
-
55
- FROM node:20-alpine
56
-
57
- WORKDIR /app
58
-
59
- COPY package.json .
60
-
61
- RUN npm install --omit=dev
62
-
63
- COPY server.mjs .
64
-
65
- COPY --from=builder /app/dist ./dist
66
-
67
-
68
-
69
  EXPOSE 7860
70
 
71
- CMD ["node", "server.mjs"]
 
 
 
1
+ # Usamos una imagen ligera de Node
2
+ FROM node:20-alpine
 
3
 
4
+ # Directorio de trabajo
5
  WORKDIR /app
6
 
7
+ # Copiamos los archivos de dependencias primero
8
+ COPY package.json package-lock.json* ./
9
 
10
+ # Instalamos las dependencias
11
  RUN npm install
12
 
13
+ # Copiamos el resto del código
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  COPY . .
15
 
16
+ # --- SOLUCIÓN DEL PROBLEMA ---
17
+ # Definimos las variables AQUÍ para que Vite las vea al construir.
18
+ # (Estas claves son públicas en Firebase, es seguro ponerlas aquí)
19
+ ENV VITE_FIREBASE_API_KEY="AIzaSyDJx6_b3JxctCW1RoDE-bm4zp7rrWT9lqA"
20
+ ENV VITE_FIREBASE_AUTH_DOMAIN="cointube-f7695.firebaseapp.com"
21
+ ENV VITE_FIREBASE_PROJECT_ID="cointube-f7695"
22
+ ENV VITE_FIREBASE_STORAGE_BUCKET="cointube-f7695.firebasestorage.app"
23
+ ENV VITE_FIREBASE_MESSAGING_SENDER_ID="710177637377"
24
+ ENV VITE_FIREBASE_APP_ID="1:710177637377:web:10605b43eea6eac446ac00"
25
+
26
+ # Construimos la aplicación (ahora sí verá las claves)
27
  RUN npm run build
28
 
29
+ # Exponemos el puerto obligatorio de Hugging Face (7860)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  EXPOSE 7860
31
 
32
+ # Usamos 'serve' para servir la carpeta 'dist' estática.
33
+ # Esto es más seguro que usar server.mjs si no eres experto en Node.
34
+ CMD ["npx", "serve", "-s", "dist", "-l", "7860"]