Ramrachai / indigenous-connect-frontend

To connect indigenous people of Bangladesh. Technology used Next.js, express.js, typescript, monogdb, AWS
MIT License
0 stars 1 forks source link

[Docker] create a Docker File #9

Open nabarunchakma opened 1 week ago

nabarunchakma commented 1 week ago

The following can be used as inspiration.

# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
FROM public.ecr.aws/docker/library/node:20.9.0-slim as builder
ARG AWS_ACCESS_KEY_ID
ARG AWS_SECRET_ACCESS_KEY
ARG AWS_SESSION_TOKEN
ARG AWS_REGION=ap-southeast-2

RUN apt-get update && \
    apt-get install -y python3-launchpadlib software-properties-common && \
    add-apt-repository -y ppa:deadsnakes/ppa && \
    apt-get update && \
    apt-get install -y python3 python3-pip

RUN python3 -V &&  pip3 --version && \
    pip3 install awscli --break-system-packages

WORKDIR /app
COPY . .
RUN yarn codeartifact:login
RUN yarn install --frozen-lockfile && yarn build

FROM public.ecr.aws/docker/library/node:20.9.0-slim as runner
COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.1 /lambda-adapter /opt/extensions/lambda-adapter
ENV PORT=3000 NODE_ENV=production
ENV AWS_LWA_ENABLE_COMPRESSION=true
ENV AWS_LWA_READINESS_CHECK_PROTOCOL=tcp
WORKDIR /app
COPY --from=builder /app/package.json ./package.json
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/run.sh ./run.sh
RUN ln -s /tmp/cache ./.next/cache

RUN chmod 777 ./run.sh
EXPOSE 3000
CMD exec ./run.sh

Here is the NextJS documentation for Docker. https://nextjs.org/docs/app/building-your-application/deploying#docker-image

Ramrachai commented 6 days ago

Hi @nabarunchakma , I’ve added the Dockerfile in the add-docker branch.

You can find the Dockerfile here. Let me know if any changes are required before merge.

Ramrachai commented 5 days ago

add-docker branch has been successfully merged with master branch. @nabarunchakma