Files
madisonlinux/Dockerfile
Cory Sanin 2e20859580
All checks were successful
App Image CI / Build app image (push) Successful in 13s
NPM Audit Check / Check NPM audit (push) Successful in -2m11s
fix build
2025-10-17 13:10:10 -05:00

50 lines
1.3 KiB
Docker

FROM node:lts-alpine AS base
FROM base AS build-env
WORKDIR /usr/src/app
RUN apk add --no-cache libwebp libwebp-tools libavif-apps
COPY package*.json ./
RUN npm install
COPY . .
RUN npx tsc && npm run-script build && \
npm ci --only=production && \
chown -R node .
FROM base AS deploy
ARG version=develop
ARG githash=REVISION
ARG created=CREATED
LABEL org.opencontainers.image.title="madisonlinux"
LABEL org.opencontainers.image.description="Website for upcoming Linux install party in Madison WI"
LABEL org.opencontainers.image.authors="Cory Sanin <corysanin@outlook.com>"
LABEL org.opencontainers.image.url="https://git.sanin.dev/corysanin/madisonlinux"
LABEL org.opencontainers.image.documentation="https://git.sanin.dev/corysanin/madisonlinux"
LABEL org.opencontainers.image.source="https://git.sanin.dev/corysanin/madisonlinux"
LABEL org.opencontainers.image.licenses="MIT"
LABEL org.opencontainers.image.version="${version}"
LABEL org.opencontainers.image.revision="${githash}"
LABEL org.opencontainers.image.created="${created}"
HEALTHCHECK --timeout=3s \
CMD curl --fail http://localhost:8080/healthcheck || exit 1
EXPOSE 8080
WORKDIR /usr/src/app
RUN apk add --no-cache curl
COPY --from=build-env /usr/src/app /usr/src/app
USER node
CMD [ "node", "distribution/index.js"]