-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build(site): Nouvelle image Docker mieux adaptée à la poduction (#3330)
- Loading branch information
1 parent
031cca4
commit d31dc78
Showing
1 changed file
with
66 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
|