woj-server/resource/runner/scripts/ubuntu-full.Dockerfile

31 lines
1.1 KiB
Docker

FROM docker.io/library/ubuntu:22.04
WORKDIR /woj
# Install dependencies & languages
RUN apt-get update && apt-get upgrade -y && apt-get install -y software-properties-common \
&& add-apt-repository ppa:pypy/ppa && apt-get update \
&& apt-get install -y \
git parallel wget curl \
gcc g++ clang make cmake autoconf m4 libtool gperf \
python3 pypy3 \
&& apt-get clean && rm -rf /var/lib/apt/lists
RUN wget https://go.dev/dl/go1.21.6.linux-amd64.tar.gz && rm -rf /usr/local/go && tar -C /usr/local -xzf go1.21.6.linux-amd64.tar.gz && rm go1.21.6.linux-amd64.tar.gz
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH=/usr/local/go/bin:/root/.cargo/bin:$PATH
# Copy source code
RUN mkdir -p /woj/framework && mkdir -p /woj/problem
COPY framework /woj/framework
# Build
RUN cd /woj/framework/template && ./setup.sh
RUN cd /woj/framework/scripts && ./setup.sh
# Environment
ENV WOJ_LAUNCHER=/woj/framework/scripts/woj_launcher
ENV WOJ_SANDBOX=/woj/framework/scripts/libwoj_sandbox.so
ENV TEMPLATE=/woj/framework/template
ENV TESTLIB=/woj/framework/template/testlib
ENV PREFIX=/woj