FROM node:18-alpine LABEL org.opencontainers.image.title="sofarr" LABEL org.opencontainers.image.description="Personal media download dashboard for *arr services" LABEL org.opencontainers.image.authors="Gordon Bolton" LABEL org.opencontainers.image.source="https://git.i3omb.com/Gandalf/sofarr" LABEL org.opencontainers.image.url="https://docker.i3omb.com" LABEL org.opencontainers.image.vendor="Gordon Bolton" LABEL org.opencontainers.image.licenses="MIT" LABEL custom.hardware.requirement="None - runs on any Docker-supported platform including ARM and x86_64" WORKDIR /app # Copy package files and install dependencies COPY package.json package-lock.json ./ RUN npm ci --omit=dev # Copy application source COPY server/ ./server/ COPY public/ ./public/ EXPOSE 3001 ENV NODE_ENV=production CMD ["node", "server/index.js"]