Skip to content

Commit

Permalink
test: new dockerfile
Browse files Browse the repository at this point in the history
  • Loading branch information
lotharking committed Jun 18, 2024
1 parent e5b465f commit 065bbc1
Showing 1 changed file with 58 additions and 4 deletions.
62 changes: 58 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,15 +1,69 @@
FROM node:20-alpine as base

FROM base AS builder

WORKDIR /app

COPY package.json yarn.lock ./
COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./

RUN yarn install --frozen-lockfile

COPY . .
COPY src ./src
COPY public ./public
COPY next.config.js .
COPY tsconfig.json .

ARG BACKEND_BASE_PATH
ENV BACKEND_BASE_PATH=${BACKEND_BASE_PATH}
ARG KEYCLOAK_URL
ENV KEYCLOAK_URL=${KEYCLOAK_URL}
ARG KEYCLOAK_CLIENT_ID
ENV KEYCLOAK_CLIENT_ID=${KEYCLOAK_CLIENT_ID}
ARG KEYCLOAK_REDIRECT_URI
ENV KEYCLOAK_REDIRECT_URI=${KEYCLOAK_REDIRECT_URI}
ARG KEYCLOAK_POST_LOGOUT_REDIRECT_URI
ENV KEYCLOAK_POST_LOGOUT_REDIRECT_URI=${KEYCLOAK_POST_LOGOUT_REDIRECT_URI}
ARG KEYCLOAK_PRES_REQ_CONF_ID
ENV KEYCLOAK_PRES_REQ_CONF_ID=${KEYCLOAK_PRES_REQ_CONF_ID}
ARG TEMPLATE_DIR
ENV TEMPLATE_DIR=${TEMPLATE_DIR}
ARG TEMPLATE_BRANCH
ENV TEMPLATE_BRANCH=${TEMPLATE_BRANCH}
ARG TEMPLATE_SCHEMA_DIR
ENV TEMPLATE_SCHEMA_DIR=${TEMPLATE_SCHEMA_DIR}

RUN yarn build

EXPOSE 3000
FROM base AS runner

WORKDIR /app

RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
USER nextjs

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

ARG BACKEND_BASE_PATH
ENV BACKEND_BASE_PATH=${BACKEND_BASE_PATH}
ARG KEYCLOAK_URL
ENV KEYCLOAK_URL=${KEYCLOAK_URL}
ARG KEYCLOAK_CLIENT_ID
ENV KEYCLOAK_CLIENT_ID=${KEYCLOAK_CLIENT_ID}
ARG KEYCLOAK_REDIRECT_URI
ENV KEYCLOAK_REDIRECT_URI=${KEYCLOAK_REDIRECT_URI}
ARG KEYCLOAK_POST_LOGOUT_REDIRECT_URI
ENV KEYCLOAK_POST_LOGOUT_REDIRECT_URI=${KEYCLOAK_POST_LOGOUT_REDIRECT_URI}
ARG KEYCLOAK_PRES_REQ_CONF_ID
ENV KEYCLOAK_PRES_REQ_CONF_ID=${KEYCLOAK_PRES_REQ_CONF_ID}
ARG TEMPLATE_DIR
ENV TEMPLATE_DIR=${TEMPLATE_DIR}
ARG TEMPLATE_BRANCH
ENV TEMPLATE_BRANCH=${TEMPLATE_BRANCH}
ARG TEMPLATE_SCHEMA_DIR
ENV TEMPLATE_SCHEMA_DIR=${TEMPLATE_SCHEMA_DIR}

CMD ["yarn", "start"]
CMD ["node", "server.js"]

0 comments on commit 065bbc1

Please sign in to comment.