FROM    centos:centos7

# Install node
RUN     curl -sL https://rpm.nodesource.com/setup_16.x | bash -

# Install Yarn
RUN     curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo
RUN     rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg
RUN     yum -y install nodejs-16.19.1-1nodesource
RUN     yum -y install yarn

# Copy app and install packages
WORKDIR /var/app
COPY    .npmrc.shadow codegen.yml package.json scripts/setup.sh yarn.lock apollo.config.js tsconfig.json tsconfig.build.json ./
COPY    scripts ./scripts
COPY    src ./src
RUN     --mount=type=secret,id=tokens,uid=1000 chmod +x ./setup.sh && ./setup.sh

# Add startup script and datadog init
ADD     nodejs-start.sh /
RUN     chmod +x /nodejs-start.sh

ENV     PORT 8080

EXPOSE  8080
CMD     ["/nodejs-start.sh"]
