| FROM node:20-alpine | |
| RUN apk add --no-cache git bash openssl libc6-compat | |
| WORKDIR /app | |
| RUN git clone https://github.com/saturndec/waoowaoo.git /app | |
| RUN if [ -f package-lock.json ]; then npm ci; else npm install; fi | |
| ENV NODE_ENV=production | |
| ENV HOSTNAME=0.0.0.0 | |
| ENV PORT=7860 | |
| ENV STORAGE_TYPE=local | |
| EXPOSE 7860 | |
| CMD sh -c '\ | |
| test -n "$DATABASE_URL" || (echo "ERROR: DATABASE_URL is missing" && exit 1); \ | |
| test -n "$NEXTAUTH_SECRET" || (echo "ERROR: NEXTAUTH_SECRET is missing" && exit 1); \ | |
| : "${NEXTAUTH_URL:=https://hellohfv-waoo.hf.space}"; \ | |
| printf "NODE_ENV=production\nHOSTNAME=0.0.0.0\nPORT=7860\nSTORAGE_TYPE=local\nDATABASE_URL=%s\nNEXTAUTH_URL=%s\nNEXTAUTH_SECRET=%s\nCRON_SECRET=%s\nINTERNAL_TASK_TOKEN=%s\nAPI_ENCRYPTION_KEY=%s\n" \ | |
| "$DATABASE_URL" "$NEXTAUTH_URL" "$NEXTAUTH_SECRET" "$CRON_SECRET" "$INTERNAL_TASK_TOKEN" "$API_ENCRYPTION_KEY" > /app/.env && \ | |
| npx prisma generate && \ | |
| npx prisma db push --skip-generate && \ | |
| npm run build && \ | |
| npx next start -H 0.0.0.0 -p 7860' |