From e6bd48bda3237c949a70a537e9e5a17c5b327eac Mon Sep 17 00:00:00 2001 From: Fayorg Date: Wed, 6 Dec 2023 00:22:05 +0100 Subject: [PATCH 1/6] fix: tsconfig leading ./ not set --- tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index bef319b..74959af 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -21,7 +21,7 @@ "paths": { "@/*": ["./*"], "@components/*": ["./components/*"], - "@lib/*": ["lib/*"], + "@lib/*": ["./lib/*"], "@styles/*": ["/styles/*"], } }, From 5be51f4147acda3146deb28232e14dc8ca7f9880 Mon Sep 17 00:00:00 2001 From: Elie Baier <100542666+Fayorg@users.noreply.github.com> Date: Wed, 6 Dec 2023 00:36:01 +0100 Subject: [PATCH 2/6] fix: database_url issue --- .github/workflows/docker-publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 8905ead..4c5cfd6 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -16,6 +16,7 @@ env: REGISTRY: ghcr.io # github.repository as / IMAGE_NAME: fayorg/calendrier-avant + DATABASE_URL: ${{ secrets.DATABASE_URL }} jobs: From 503ac599a35ebfdd91c8a03d4c56dd10f6e7acfe Mon Sep 17 00:00:00 2001 From: Fayorg Date: Wed, 6 Dec 2023 00:49:05 +0100 Subject: [PATCH 3/6] fix: copy not working --- Dockerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 010e83f..f479900 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,10 +26,6 @@ RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 nextjs COPY --from=builder /app/next.config.js ./ -COPY --from=builder /app/sentry.properties ./ -COPY --from=builder /app/.sentryclirc ./ -COPY --from=builder /app/public ./public -COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static USER nextjs From 94db891a0730b46bba7abd246b906e30db3c642b Mon Sep 17 00:00:00 2001 From: Fayorg Date: Wed, 6 Dec 2023 01:36:09 +0100 Subject: [PATCH 4/6] fix: fixing docker build issues --- .dockerignore | 2 -- Dockerfile | 37 ++++++++++++++++++++++++++----------- next.config.js | 6 ++++-- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/.dockerignore b/.dockerignore index 3c487cf..534f3d9 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1 @@ -.next/ -node_modules/ .env.example \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index f479900..d9dd4d3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,33 +1,48 @@ -FROM node:18-alpine AS deps +FROM node:18-alpine AS base + +# 1. Install dependencies only when needed +FROM base AS deps +# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. RUN apk add --no-cache libc6-compat + WORKDIR /app -COPY package.json package-lock.json* ./ + +# Install dependencies based on the preferred package manager +COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ RUN \ - if [ -f package-lock.json ]; then npm ci; \ + if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ + elif [ -f package-lock.json ]; then npm ci; \ + elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i; \ else echo "Lockfile not found." && exit 1; \ fi -FROM node:18-alpine AS builder + +# 2. Rebuild the source code only when needed +FROM base AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . -ENV NEXT_TELEMETRY_DISABLED 1 - RUN npx prisma generate RUN npm run build -FROM node:18-alpine AS runner +# 3. Production image, copy all the files and run next +FROM base AS runner WORKDIR /app -ENV NODE_ENV production +ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED 1 -RUN addgroup --system --gid 1001 nodejs -RUN adduser --system --uid 1001 nextjs +RUN addgroup -g 1001 -S nodejs +RUN adduser -S nextjs -u 1001 -COPY --from=builder /app/next.config.js ./ +# COPY --from=builder /app/public ./public + +# Automatically leverage output traces to reduce image size +# https://nextjs.org/docs/advanced-features/output-file-tracing +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static + USER nextjs EXPOSE 3000 diff --git a/next.config.js b/next.config.js index 767719f..29f15a9 100644 --- a/next.config.js +++ b/next.config.js @@ -1,4 +1,6 @@ /** @type {import('next').NextConfig} */ -const nextConfig = {} +const nextConfig = { + output: 'standalone', +}; -module.exports = nextConfig +module.exports = nextConfig; From 538358b4ee756ea86ba4e29e48ec3c5acf5b4cde Mon Sep 17 00:00:00 2001 From: timhaller <67918170+timhaller@users.noreply.github.com> Date: Sun, 10 Dec 2023 21:37:31 +0100 Subject: [PATCH 5/6] remove unused login page --- app/login/page.tsx | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 app/login/page.tsx diff --git a/app/login/page.tsx b/app/login/page.tsx deleted file mode 100644 index 6f35a33..0000000 --- a/app/login/page.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import LoginForm from "@components/custom" -export default function LoginPage() { - return ( -
-
-
-
-
-
- -
-
- ); -} From 3d2396ccb88af4a86ebc8c7307407c479d6c2b9f Mon Sep 17 00:00:00 2001 From: timhaller <67918170+timhaller@users.noreply.github.com> Date: Sun, 10 Dec 2023 21:40:16 +0100 Subject: [PATCH 6/6] fix to linting --- tsconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index 158fb26..709a6e8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -23,8 +23,8 @@ "@components/*": ["./components/*"], "@lib/*": ["./lib/*"], "@styles/*": ["/styles/*"], - "@santa/*": ["images/santa/*"], - "@images/*": ["images/*"], + "@santa/*": ["./images/santa/*"], + "@images/*": ["./images/*"], } }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],