GoGma commited on
Commit
31af3f9
verified
1 Parent(s): b95ce59

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +20 -24
Dockerfile CHANGED
@@ -1,42 +1,38 @@
1
- # Usamos la imagen de Bun pero instalamos Node manualmente para compatibilidad
2
  FROM oven/bun:latest
3
 
4
  WORKDIR /app
5
 
6
- # Instalamos Node.js, npm y dependencias de sistema necesarias
7
- RUN apt-get update && apt-get install -y \
8
- curl \
9
- gnupg \
10
- openssl \
11
- libssl-dev \
12
- && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
13
- && apt-get install -y nodejs \
14
- && rm -rf /var/lib/apt/lists/*
15
-
16
- # Copiamos archivos de configuraci贸n
17
  COPY package.json ./
18
 
19
- # Instalamos todo con Bun (incluyendo ESLint y tipos)
20
  RUN bun install
21
 
22
- # Copiamos el resto del proyecto
23
  COPY . .
24
 
25
- # Generamos el cliente de Prisma
26
- RUN bunx prisma generate
27
-
28
- # Forzamos la construcci贸n ignorando errores de ESLint si fuera necesario,
29
- # pero aqu铆 intentamos que pase normal
30
- RUN bun run build
31
-
32
- # Configuraci贸n de persistencia para Sofia
33
  RUN mkdir -p /app/data && chmod -R 777 /app/data
34
 
35
- ENV NODE_ENV=production
36
  ENV DATABASE_URL="file:/app/data/sofia.db"
 
37
  ENV PORT=7860
38
  ENV HOST=0.0.0.0
39
 
 
 
 
 
 
 
40
  EXPOSE 7860
41
 
42
- CMD ["bun", "run", "start"]
 
 
 
 
1
  FROM oven/bun:latest
2
 
3
  WORKDIR /app
4
 
5
+ # 1. Instalamos Node.js para que Next.js no d茅 errores de "npm not found"
6
+ RUN apt-get update && apt-get install -y curl gnupg && \
7
+ curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
8
+ apt-get install -y nodejs && rm -rf /var/lib/apt/lists/*
9
+
10
+ # 2. Copiamos solo los archivos de dependencias (para aprovechar la cach茅)
 
 
 
 
 
11
  COPY package.json ./
12
 
13
+ # 3. Instalamos las dependencias
14
  RUN bun install
15
 
16
+ # 4. AHORA copiamos el resto del c贸digo del proyecto
17
  COPY . .
18
 
19
+ # 5. Creamos la carpeta de datos ANTES de Prisma
 
 
 
 
 
 
 
20
  RUN mkdir -p /app/data && chmod -R 777 /app/data
21
 
22
+ # 6. Configuramos la variable de entorno de la base de datos
23
  ENV DATABASE_URL="file:/app/data/sofia.db"
24
+ ENV NODE_ENV=production
25
  ENV PORT=7860
26
  ENV HOST=0.0.0.0
27
 
28
+ # 7. Generamos el cliente de Prisma (necesita los archivos copiados en el paso 4)
29
+ RUN bunx prisma generate
30
+
31
+ # 8. Construimos la aplicaci贸n
32
+ RUN bun run build
33
+
34
  EXPOSE 7860
35
 
36
+ # 9. COMANDO FINAL: Empuja los cambios a la DB y arranca la app
37
+ # Lo hacemos aqu铆 para que se ejecute siempre que el contenedor inicie
38
+ CMD ["sh", "-c", "bunx prisma db push && bun run start"]