FROM node:20-alpine AS client-builder WORKDIR /client COPY client/package*.json ./ RUN npm ci COPY client/ ./ RUN npm run build FROM node:20-alpine AS production WORKDIR /app LABEL org.opencontainers.image.title="Enkelbudget" \ org.opencontainers.image.description="Enkel mÄnadsbudget och lÄnehanterare" \ net.unraid.docker.webui="http://[IP]:[PORT:7842]" \ net.unraid.docker.icon="/mnt/user/noah/images/icons/enkelbudget.png" \ net.unraid.docker.managed="true" COPY server/package*.json ./ RUN npm install --omit=dev COPY server/ ./ COPY --from=client-builder /client/dist ./public RUN mkdir -p /app/data && chmod +x /app/entrypoint.sh EXPOSE 7842 CMD ["/app/entrypoint.sh"]