Compare commits

...

4 Commits

5 changed files with 15 additions and 5 deletions

View File

@@ -1,6 +1,5 @@
FROM node:22-alpine AS builder FROM node:22-alpine AS builder
WORKDIR /app WORKDIR /app
# Install ALL deps (including devDeps like tailwindcss, typescript)
ENV NODE_ENV=development ENV NODE_ENV=development
COPY package*.json ./ COPY package*.json ./
RUN npm ci RUN npm ci
@@ -12,9 +11,12 @@ FROM node:22-alpine AS runner
WORKDIR /app WORKDIR /app
ENV NODE_ENV=production ENV NODE_ENV=production
ENV NEXT_TELEMETRY_DISABLED=1 ENV NEXT_TELEMETRY_DISABLED=1
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static COPY --from=builder /app/package*.json ./
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/public ./public COPY --from=builder /app/public ./public
COPY --from=builder /app/node_modules ./node_modules
EXPOSE 3000 EXPOSE 3000
ENV PORT=3000 ENV PORT=3000
CMD ["node", "server.js"] CMD ["node_modules/.bin/next", "start"]

View File

@@ -1,4 +1,7 @@
"use client"; "use client";
export const dynamic = "force-dynamic";
import { useState } from "react"; import { useState } from "react";
import { useQuery } from "@tanstack/react-query"; import { useQuery } from "@tanstack/react-query";

View File

@@ -1,4 +1,7 @@
"use client"; "use client";
export const dynamic = "force-dynamic";
import { useQuery, useMutation } from "@tanstack/react-query"; import { useQuery, useMutation } from "@tanstack/react-query";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";

View File

@@ -1,4 +1,7 @@
"use client"; "use client";
export const dynamic = "force-dynamic";
import { useState } from "react"; import { useState } from "react";
import { useQuery } from "@tanstack/react-query"; import { useQuery } from "@tanstack/react-query";

View File

@@ -1,6 +1,5 @@
/** @type {import('next').NextConfig} */ /** @type {import('next').NextConfig} */
const nextConfig = { const nextConfig = {
output: 'standalone',
eslint: { ignoreDuringBuilds: true }, eslint: { ignoreDuringBuilds: true },
typescript: { ignoreBuildErrors: true }, typescript: { ignoreBuildErrors: true },
}; };