62 lines
1.3 KiB
Docker
62 lines
1.3 KiB
Docker
# Copyright Epic Games, Inc. All Rights Reserved.
|
|
FROM helix-and-node
|
|
|
|
# configure for Epic's p4 server
|
|
ENV P4PORT=perforce:1666
|
|
|
|
# set this to the robomerge account
|
|
ENV P4USER=robomerge
|
|
|
|
# BOTNAME and P4PASSWD should be set on the run (bot defaults to test just for safety)
|
|
ENV BOTNAME=test
|
|
ENV P4PASSWD=
|
|
|
|
# set the APP directory as . in the image
|
|
WORKDIR /app
|
|
|
|
# make the directory to sync branch settings to
|
|
RUN mkdir /app/data
|
|
|
|
# make the root directory for workspaces
|
|
RUN mkdir /src
|
|
|
|
# make an empty settings folder in able to run without error
|
|
RUN mkdir -p /root/.robomerge
|
|
|
|
# expose the robomerge web page
|
|
EXPOSE 8080 4433
|
|
|
|
# dump versions for easy viewing
|
|
RUN echo Node $(node -v)
|
|
RUN echo Typescript $(tsc -v)
|
|
|
|
# install dependencies
|
|
COPY ./package.json ./
|
|
COPY ./package-lock.json ./
|
|
RUN npm install
|
|
|
|
# copy and compile code
|
|
COPY ./tsconfig.json ./
|
|
COPY ./src ./src
|
|
RUN tsc
|
|
|
|
# copy configuration
|
|
COPY ./version.json ./
|
|
COPY ./config ./config
|
|
|
|
# copy web resources
|
|
COPY ./public ./public
|
|
COPY ./certs ./certs
|
|
|
|
# make public folder in advance, so npm install can put things in there
|
|
COPY ./install-graphviz.js ./
|
|
RUN node ./install-graphviz.js
|
|
|
|
# copy email templates
|
|
COPY ./email_templates ./email_templates
|
|
|
|
# Copy markdown files
|
|
COPY ./*.md ./
|
|
|
|
CMD [ "node", "--require", "source-map-support/register", "dist/robo/watchdog.js" ]
|