FROM node:18-bullseye

RUN sed -i 's/stable\/updates/stable-security\/updates/' /etc/apt/sources.list

RUN apt-get update

# Create app directory
WORKDIR /usr/src/app

# Accept build arguments
ARG NPM_TOKEN
ARG VOICE_TOKEN
ARG VOICE_TWILIO_TOKEN

COPY .npmrc_ .npmrc

# Set environment variable based on build argument
ENV VOICE_TOKEN=${VOICE_TOKEN}
ENV VOICE_TWILIO_TOKEN=${VOICE_TWILIO_TOKEN}

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./

RUN npm install --production

RUN rm -f .npmrc

# Bundle app source
COPY . .

EXPOSE 3000

CMD [ "npm", "start" ]

