2023-05-09 16:06:19 -04:00
|
|
|
FROM ubuntu:22.04
|
|
|
|
|
2024-03-11 13:32:23 -04:00
|
|
|
# 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
|
2024-03-11 13:39:46 -04:00
|
|
|
ENV NODE_MAJOR=20
|
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
|
|
|
|
|
2024-03-11 13:32:23 -04:00
|
|
|
# Prep Sandbox
|
|
|
|
|
|
|
|
WORKDIR /app/sandbox
|
|
|
|
|
|
|
|
COPY ./sandbox/package*.json ./
|
|
|
|
RUN npm install
|
|
|
|
COPY ./sandbox/ .
|
|
|
|
|
2024-03-12 12:25:28 -04:00
|
|
|
# Prep Shared
|
2024-03-11 13:32:23 -04:00
|
|
|
|
2023-05-09 16:06:19 -04:00
|
|
|
WORKDIR /app
|
2024-03-11 13:32:23 -04:00
|
|
|
RUN mkdir shared
|
2024-03-12 12:25:28 -04:00
|
|
|
WORKDIR /app/shared
|
|
|
|
COPY ./shared .
|
2024-03-11 13:32:23 -04:00
|
|
|
|
|
|
|
# Build/Run
|
|
|
|
|
|
|
|
WORKDIR /app/sandbox
|
2023-05-09 16:06:19 -04:00
|
|
|
RUN npm run build
|
2024-03-11 13:32:23 -04:00
|
|
|
RUN chmod +x ./docker/entry.sh
|
|
|
|
CMD ["./docker/entry.sh"]
|