diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..85d67530f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +FROM node:18-alpine + +# Create app directory +WORKDIR /usr/src/app + +# Set production environment +ENV NODE_ENV=production + +# Install production dependencies (use yarn.lock if present) +COPY package.json yarn.lock ./ +RUN npm install --production --no-audit --prefer-offline + +# Copy application source +COPY . . + +# Run as non-root user +RUN chown -R node:node /usr/src/app +USER node + +# Default port (matches server.js fallback) +EXPOSE 8079 + +# Start command +CMD ["npm", "start"] \ No newline at end of file