Skip to content

Commit

Permalink
build(site): Nouvelle image Docker mieux adaptée à la poduction (#3330)
Browse files Browse the repository at this point in the history
  • Loading branch information
farnoux authored and elisfainstein committed Oct 10, 2024
1 parent 031cca4 commit d31dc78
Showing 1 changed file with 66 additions and 66 deletions.
132 changes: 66 additions & 66 deletions packages/site/Earthfile
Original file line number Diff line number Diff line change
@@ -1,95 +1,95 @@
VERSION 0.8

build:
FROM ../../+node-alpine-with-all-deps
FROM ../../+node-alpine-with-all-deps

ARG --required ANON_KEY
ARG --required API_URL
ARG --required STRAPI_KEY
ARG --required STRAPI_URL
ARG --required AXEPTIO_ID
ARG --required PANIER_URL
ARG --required ANON_KEY
ARG --required API_URL
ARG --required STRAPI_KEY
ARG --required STRAPI_URL
ARG --required AXEPTIO_ID
ARG --required PANIER_URL

COPY . ./packages/site
COPY . ./packages/site

# Disable telemetry during build
ENV NEXT_TELEMETRY_DISABLED=1
# Disable telemetry during build
ENV NEXT_TELEMETRY_DISABLED=1

ENV NEXT_PUBLIC_STRAPI_KEY=$STRAPI_KEY
ENV NEXT_PUBLIC_STRAPI_URL=$STRAPI_URL
ENV NEXT_PUBLIC_SUPABASE_ANON_KEY=$ANON_KEY
ENV NEXT_PUBLIC_SUPABASE_URL=$API_URL
ENV NEXT_PUBLIC_POSTHOG_HOST=$POSTHOG_HOST
ENV NEXT_PUBLIC_POSTHOG_KEY=$POSTHOG_KEY
ENV NEXT_PUBLIC_AXEPTIO_ID=$AXEPTIO_ID
ENV NEXT_PUBLIC_CRISP_WEBSITE_ID=$CRISP_WEBSITE_ID
ENV NEXT_PUBLIC_PANIER_URL=$PANIER_URL
ENV NEXT_PUBLIC_STRAPI_KEY=$STRAPI_KEY
ENV NEXT_PUBLIC_STRAPI_URL=$STRAPI_URL
ENV NEXT_PUBLIC_SUPABASE_ANON_KEY=$ANON_KEY
ENV NEXT_PUBLIC_SUPABASE_URL=$API_URL
ENV NEXT_PUBLIC_POSTHOG_HOST=$POSTHOG_HOST
ENV NEXT_PUBLIC_POSTHOG_KEY=$POSTHOG_KEY
ENV NEXT_PUBLIC_AXEPTIO_ID=$AXEPTIO_ID
ENV NEXT_PUBLIC_CRISP_WEBSITE_ID=$CRISP_WEBSITE_ID
ENV NEXT_PUBLIC_PANIER_URL=$PANIER_URL

RUN pnpm build:site
RUN pnpm build:site

SAVE ARTIFACT ./packages/site/.next
SAVE ARTIFACT ./packages/site/public
SAVE ARTIFACT ./packages/site/.next
SAVE ARTIFACT ./packages/site/public

# See official Dockerfile at https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile
docker:
FROM ../../+node-alpine
FROM ../../+node-alpine

ARG --required ANON_KEY
ARG --required API_URL
ARG --required STRAPI_KEY
ARG --required STRAPI_URL
ARG --required AXEPTIO_ID
ARG --required PANIER_URL
ARG POSTHOG_HOST
ARG POSTHOG_KEY
ARG --required ANON_KEY
ARG --required API_URL
ARG --required STRAPI_KEY
ARG --required STRAPI_URL
ARG --required AXEPTIO_ID
ARG --required PANIER_URL
ARG POSTHOG_HOST
ARG POSTHOG_KEY

ENV NEXT_PUBLIC_STRAPI_KEY=$STRAPI_KEY
ENV NEXT_PUBLIC_STRAPI_URL=$STRAPI_URL
ENV NEXT_PUBLIC_SUPABASE_ANON_KEY=$ANON_KEY
ENV NEXT_PUBLIC_SUPABASE_URL=$API_URL
ENV NEXT_PUBLIC_POSTHOG_HOST=$POSTHOG_HOST
ENV NEXT_PUBLIC_POSTHOG_KEY=$POSTHOG_KEY
ENV NEXT_PUBLIC_AXEPTIO_ID=$AXEPTIO_ID
ENV NEXT_PUBLIC_CRISP_WEBSITE_ID=$CRISP_WEBSITE_ID
ENV NEXT_PUBLIC_PANIER_URL=$PANIER_URL
ENV NEXT_PUBLIC_STRAPI_KEY=$STRAPI_KEY
ENV NEXT_PUBLIC_STRAPI_URL=$STRAPI_URL
ENV NEXT_PUBLIC_SUPABASE_ANON_KEY=$ANON_KEY
ENV NEXT_PUBLIC_SUPABASE_URL=$API_URL
ENV NEXT_PUBLIC_POSTHOG_HOST=$POSTHOG_HOST
ENV NEXT_PUBLIC_POSTHOG_KEY=$POSTHOG_KEY
ENV NEXT_PUBLIC_AXEPTIO_ID=$AXEPTIO_ID
ENV NEXT_PUBLIC_CRISP_WEBSITE_ID=$CRISP_WEBSITE_ID
ENV NEXT_PUBLIC_PANIER_URL=$PANIER_URL

ARG DOCKER_IMAGE=$SITE_IMG_NAME
ARG DOCKER_IMAGE=$SITE_IMG_NAME

# ENV PUBLIC_PATH="/app/public"
# ENV PUBLIC_PATH="/app/public"

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

COPY +build/public ./public
COPY +build/public ./public

# Set the correct permission for prerender cache
RUN mkdir .next
RUN chown nextjs:nodejs .next
# Set the correct permission for prerender cache
RUN mkdir .next
RUN chown nextjs:nodejs .next

# Automatically leverage output traces to reduce docker image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --chown=nextjs:nodejs +build/.next/standalone ./
COPY --chown=nextjs:nodejs +build/.next/static ./packages/site/.next/static
# Automatically leverage output traces to reduce docker image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --chown=nextjs:nodejs +build/.next/standalone ./
COPY --chown=nextjs:nodejs +build/.next/static ./packages/site/.next/static

USER nextjs
USER nextjs


# Prepare the app for production
ENV NEXT_TELEMETRY_DISABLED=1
ENV HOSTNAME="0.0.0.0"
ENV NODE_ENV production
# Prepare the app for production
ENV NEXT_TELEMETRY_DISABLED=1
ENV HOSTNAME="0.0.0.0"
ENV NODE_ENV production

ENV PORT=3000
EXPOSE 3000
ENV PORT=3000
EXPOSE 3000

# server.js is created by next build from the standalone output
# https://nextjs.org/docs/pages/api-reference/next-config-js/output
CMD ["node", "packages/site/server.js"]
# server.js is created by next build from the standalone output
# https://nextjs.org/docs/pages/api-reference/next-config-js/output
CMD ["node", "packages/site/server.js"]

SAVE IMAGE --push $DOCKER_IMAGE
SAVE IMAGE --push $DOCKER_IMAGE

deploy:
ARG --required KOYEB_API_KEY
FROM ../../+koyeb --KOYEB_API_KEY=$KOYEB_API_KEY
RUN ./koyeb services update $ENV_NAME-site/front --docker $SITE_IMG_NAME
ARG --required KOYEB_API_KEY
FROM ../../+koyeb --KOYEB_API_KEY=$KOYEB_API_KEY
RUN ./koyeb services update $ENV_NAME-site/front --docker $SITE_IMG_NAME

0 comments on commit d31dc78

Please sign in to comment.