# Use the alpine image of node 16
FROM node:16-alpine

# Create a dir for the app and make it owned by a non-root user (node)
RUN mkdir /tickets && \
	chown -R 1000:1000 /tickets
WORKDIR /tickets

# Change user to node
USER node

# Install packages
COPY --chown=1000:1000 package.json pnpm-lock.yaml ./
RUN npx pnpm install --prod --frozen-lockfile --no-optional && \
	# Currently WIP since pnpm installs dev deps automatically when I don't want it to.
	# Quick fix is to add to main deps
	npx pnpm install mysql2

# Set the command
CMD ["node", "src/"]