FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm install --omit=dev COPY . . # Create data directory for persistent storage RUN mkdir -p /app/data/images && \ chown -R node:node /app && \ chmod -R 755 /app/data # Install avahi for mDNS support (.local hostname resolution) RUN apk add --no-cache avahi avahi-tools libc6-compat EXPOSE 3001 USER node CMD ["node", "server.js"]