mirror of
https://github.com/rybbit-io/rybbit.git
synced 2025-05-17 15:01:08 +02:00
* feat(client): Disable Sign Up page if `DISABLE_SIGNUP` is `true` * chore(docs): Add `NEXT_PUBLIC_DISABLE_SIGNUP` environment variable * chore: Add `NEXT_PUBLIC_DISABLE_SIGNUP` environment variable * fix(client): Add missed imports * chore: Set correct order for new environment variable * fix(client): Use corrent login link * chore(client): Disabling the text about the possibility to create an account if this possibility is disabled
58 lines
No EOL
1.5 KiB
Docker
58 lines
No EOL
1.5 KiB
Docker
FROM node:20-alpine AS base
|
|
|
|
# Install dependencies only when needed
|
|
FROM base AS deps
|
|
RUN apk add --no-cache libc6-compat
|
|
WORKDIR /app
|
|
|
|
# Install dependencies based on the preferred package manager
|
|
COPY package.json package-lock.json* ./
|
|
RUN npm ci --legacy-peer-deps
|
|
|
|
# Rebuild the source code only when needed
|
|
FROM base AS builder
|
|
WORKDIR /app
|
|
COPY --from=deps /app/node_modules ./node_modules
|
|
COPY . .
|
|
|
|
# Next.js collects completely anonymous telemetry data about general usage.
|
|
# Learn more here: https://nextjs.org/telemetry
|
|
ENV NEXT_TELEMETRY_DISABLED=1
|
|
ARG NEXT_PUBLIC_BACKEND_URL
|
|
ARG NEXT_PUBLIC_DISABLE_SIGNUP
|
|
ARG NEXT_PUBLIC_CLOUD
|
|
ENV NEXT_PUBLIC_BACKEND_URL=${NEXT_PUBLIC_BACKEND_URL}
|
|
ENV NEXT_PUBLIC_DISABLE_SIGNUP=${NEXT_PUBLIC_DISABLE_SIGNUP}
|
|
ENV NEXT_PUBLIC_CLOUD=${NEXT_PUBLIC_CLOUD}
|
|
|
|
RUN npm run build
|
|
|
|
# Production image, copy all the files and run next
|
|
FROM base AS runner
|
|
WORKDIR /app
|
|
|
|
ENV NODE_ENV=production
|
|
ENV NEXT_TELEMETRY_DISABLED=1
|
|
|
|
RUN addgroup --system --gid 1001 nodejs
|
|
RUN adduser --system --uid 1001 nextjs
|
|
|
|
COPY --from=builder /app/public ./public
|
|
|
|
# Set the correct permission for prerender cache
|
|
RUN mkdir .next
|
|
RUN chown nextjs:nodejs .next
|
|
|
|
# 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 3002
|
|
|
|
ENV PORT=3002
|
|
ENV HOSTNAME="0.0.0.0"
|
|
|
|
CMD ["node", "server.js"] |