bw-hspc-contest-env/sandbox/Dockerfile

50 lines
1.2 KiB
Docker
Raw Normal View History

2023-05-09 16:06:19 -04:00
FROM ubuntu:22.04
# Setup
RUN mkdir sandbox
WORKDIR /app/sandbox
2023-05-09 16:06:19 -04:00
RUN apt-get update
RUN apt-get install curl -y
2023-09-05 18:10:03 -04:00
RUN apt-get install -y ca-certificates curl gnupg
RUN mkdir -p /etc/apt/keyrings
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
2023-10-18 14:32:18 -04:00
ENV NODE_MAJOR=18
2023-09-05 18:10:03 -04:00
RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
RUN apt-get update
2023-05-09 16:06:19 -04:00
2024-02-17 15:01:29 -05:00
RUN apt-get install nodejs git openjdk-17-jdk-headless dotnet-sdk-7.0 build-essential cmake -y
2023-05-09 16:06:19 -04:00
2024-01-15 18:39:47 -05:00
ENV DOTNET_NOLOGO=true
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
2023-05-09 16:06:19 -04:00
2024-01-15 18:39:47 -05:00
RUN git config --global user.name "Admin"
2023-05-09 16:06:19 -04:00
RUN git config --global user.email noemail@example.com
# Prep Sandbox
WORKDIR /app/sandbox
COPY ./sandbox/package*.json ./
RUN npm install
COPY ./sandbox/ .
# Prep SubmissionRunner
2023-05-09 16:06:19 -04:00
WORKDIR /app
RUN mkdir shared
RUN mkdir shared/submissionRunner
WORKDIR /app/shared/submissionRunner
2023-05-09 16:06:19 -04:00
COPY ./shared/submissionRunner/package*.json .
2023-05-09 16:06:19 -04:00
RUN npm install
COPY ./shared/submissionRunner/ .
# Build/Run
WORKDIR /app/sandbox
2023-05-09 16:06:19 -04:00
RUN npm run build
RUN chmod +x ./docker/entry.sh
CMD ["./docker/entry.sh"]