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"]
