FROM node:18

ARG DATABASE_URL
ARG NEXTAUTH_SECRET
ARG NEXTAUTH_URL
ARG GOOGLE_CLIENT_ID
ARG GOOGLE_CLIENT_SECRET
ARG OPENSEARCH_JWT_HMAC_SIGNING_KEY
ARG OPENSEARCH_DASHBOARD_URL
ARG OPENSEARCH_GOVERNANCE_URL

ENV DATABASE_URL ${DATABASE_URL}
ENV NEXTAUTH_SECRET ${NEXTAUTH_SECRET}
ENV NEXTAUTH_URL ${NEXTAUTH_URL}
ENV GOOGLE_CLIENT_ID ${GOOGLE_CLIENT_ID}
ENV GOOGLE_CLIENT_SECRET ${GOOGLE_CLIENT_SECRET}
ENV OPENSEARCH_JWT_HMAC_SIGNING_KEY ${OPENSEARCH_JWT_HMAC_SIGNING_KEY}
ENV OPENSEARCH_DASHBOARD_URL ${OPENSEARCH_DASHBOARD_URL}
ENV OPENSEARCH_GOVERNANCE_URL ${OPENSEARCH_GOVERNANCE_URL}


WORKDIR /usr/src/app

RUN apt-get update && apt-get install -y default-mysql-client && rm -rf /var/lib/apt/lists/*

COPY . .

RUN npm install

RUN npm run db:generate
RUN npm run build

EXPOSE 3000

ENTRYPOINT ["/usr/src/app/docker-entrypoint.sh"]

CMD ["npm", "start"]

