homebrewery-docker/Dockerfile
Florian 74a4e5fd96
Some checks failed
Building and publishing Homebrewery as Docker Image / build (release) Failing after 9m47s
Add build arguments for version and revision in Dockerfile and update build.yaml
2025-06-24 12:54:42 +02:00

56 lines
1.8 KiB
Docker

# Base Stage for NodeJS
FROM node:22-alpine as base
ENV NODE_ENV=docker
WORKDIR /usr/src/app
# Installing dependencies with use of package-lock.json
FROM base as deps
RUN apk --no-cache add git
COPY homebrewery/package.json homebrewery/package-lock.json ./
RUN npm ci --ignore-scripts
# Build Stage
FROM base as builder
COPY --from=deps /usr/src/app/node_modules ./node_modules
COPY homebrewery/ ./
RUN npm run build
FROM base as runner
ARG VERSION
ARG REVISION
ARG CREATED_AT
LABEL org.opencontainers.image.authors=F.Weber <kosmos@morlana.net>
LABEL org.opencontainers.image.url=https://git.morlana.online/f.weber/homebrewery-docker/src/branch/main/README.md
LABEL org.opencontainers.image.documentation=https://git.morlana.online/f.weber/homebrewery-docker/src/branch/main/README.md
LABEL org.opencontainers.image.source=https://git.morlana.online/f.weber/homebrewery-docker
LABEL org.opencontainers.image.version=${VERSION}
LABEL org.opencontainers.image.revision=${REVISION}
LABEL org.opencontainers.image.licenses=MIT
LABEL org.opencontainers.image.created=${CREATED_AT}
# Defining env variables for homebrewery
ENV HB_HOST=homebrewery.local.naturalcrit.com:8000 HB_NATURALCRIT_URL=local.naturalcrit.com:8010 HB_SECRET=secret PORT=8000 HB_ENABLE_V3=true HB_ENABLE_THEMES=true HB_LOCAL_ENVIRONMENTS=docker,local HB_PUBLIC_URL=https://homebrewery.naturalcrit.com
ENV HB_IMAGES=null HB_FONTS=null
# Adding tini for clean signal handling
ENV TINI_VERSION v0.19.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
RUN chmod +x /tini
# Adding Entrypoint
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Adding executables
COPY --from=deps /usr/src/app/node_modules ./node_modules
COPY --from=deps /usr/src/app/build ./build
COPY homebrewery/ ./
EXPOSE 8000
ENTRYPOINT ["/entrypoint.sh"]