Subir archivos a "/"
This commit is contained in:
19
Dockerfile
19
Dockerfile
@@ -3,21 +3,18 @@ FROM node:22-alpine
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# 👇 rompe cache (cambia este número si sigue cacheando)
|
# Copy manifests first for better caching
|
||||||
ARG CACHE_BUST=1
|
|
||||||
|
|
||||||
# Copiamos manifests primero
|
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
|
|
||||||
# 👇 DEBUG: que lo veamos en logs sí o sí
|
# Install prod deps (works even if package-lock is missing or minimal)
|
||||||
RUN echo "CACHE_BUST=$CACHE_BUST" \
|
|
||||||
&& ls -la \
|
|
||||||
&& echo "---- package-lock exists? ----" \
|
|
||||||
&& (test -f package-lock.json && echo "OK: package-lock.json found" || (echo "ERROR: package-lock.json NOT found" && exit 1))
|
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/root/.npm npm install --omit=dev
|
RUN --mount=type=cache,target=/root/.npm npm install --omit=dev
|
||||||
|
|
||||||
|
# Copy the rest
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
CMD ["npm","run","start"]
|
|
||||||
|
# Prisma client is generated on install, but ensure at runtime if needed:
|
||||||
|
# (Coolify/containers usually run as root in alpine; OK)
|
||||||
|
CMD ["sh","-c","node -e "console.log('API starting…')" && node src/server.js"]
|
||||||
|
|||||||
34
package-lock.json
generated
34
package-lock.json
generated
@@ -1,8 +1,26 @@
|
|||||||
rm -f package-lock.json
|
{
|
||||||
rm -rf node_modules
|
"name": "integrarepara-api",
|
||||||
npm install
|
"version": "1.0.0",
|
||||||
ls -lh package-lock.json
|
"lockfileVersion": 3,
|
||||||
node -p "require('./package-lock.json').lockfileVersion"
|
"requires": true,
|
||||||
git add package-lock.json
|
"packages": {
|
||||||
git commit -m "Regenerar package-lock.json"
|
"": {
|
||||||
git push
|
"name": "integrarepara-api",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@prisma/client": "^5.22.0",
|
||||||
|
"bcryptjs": "^2.4.3",
|
||||||
|
"cors": "^2.8.5",
|
||||||
|
"dotenv": "^16.4.5",
|
||||||
|
"express": "^4.19.2",
|
||||||
|
"helmet": "^7.1.0",
|
||||||
|
"jsonwebtoken": "^9.0.2",
|
||||||
|
"morgan": "^1.10.0",
|
||||||
|
"zod": "^3.23.8"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"prisma": "^5.22.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
17
package.json
17
package.json
@@ -1,17 +1,26 @@
|
|||||||
{
|
{
|
||||||
"name": "integrarepara-api",
|
"name": "integrarepara-api",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "server.js",
|
"main": "src/server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node server.js"
|
"start": "node src/server.js",
|
||||||
|
"dev": "node --watch src/server.js",
|
||||||
|
"prisma:generate": "prisma generate",
|
||||||
|
"prisma:migrate": "prisma migrate deploy"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@prisma/client": "^5.22.0",
|
||||||
"bcryptjs": "^2.4.3",
|
"bcryptjs": "^2.4.3",
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
|
"dotenv": "^16.4.5",
|
||||||
"express": "^4.19.2",
|
"express": "^4.19.2",
|
||||||
|
"helmet": "^7.1.0",
|
||||||
"jsonwebtoken": "^9.0.2",
|
"jsonwebtoken": "^9.0.2",
|
||||||
"pg": "^8.11.5"
|
"morgan": "^1.10.0",
|
||||||
|
"zod": "^3.23.8"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"prisma": "^5.22.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
23
schema.prisma
Normal file
23
schema.prisma
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
generator client {
|
||||||
|
provider = "prisma-client-js"
|
||||||
|
}
|
||||||
|
|
||||||
|
datasource db {
|
||||||
|
provider = "postgresql"
|
||||||
|
url = env("DATABASE_URL")
|
||||||
|
}
|
||||||
|
|
||||||
|
model User {
|
||||||
|
id String @id @default(uuid())
|
||||||
|
createdAt DateTime @default(now())
|
||||||
|
updatedAt DateTime @updatedAt
|
||||||
|
|
||||||
|
phone String @unique
|
||||||
|
passwordHash String
|
||||||
|
isVerified Boolean @default(false)
|
||||||
|
|
||||||
|
verificationCodeHash String?
|
||||||
|
verificationCodeExpiresAt DateTime?
|
||||||
|
|
||||||
|
lastLoginAt DateTime?
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user