dimensionalpulsar commited on
Commit
0d5c434
·
verified ·
1 Parent(s): cc055fd

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +71 -0
Dockerfile ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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"]