exers 0.2.0

Library for compiling and running other code in sandboxed environment
Documentation
# This dockerfile creates a container with everything preconfigured to use this library

FROM debian:stable-slim

# Update
RUN apt update -y && apt-get autoremove --yes

# Install dependencies
RUN apt install -y  \
    curl \
    git

# RUST
# Install rust as we need it for rust compiler
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal

# Add rust to path
ENV PATH="/root/.cargo/bin:${PATH}"

# Install rust wasm target as we need it for rust -> wasm compiler
RUN rustup target add wasm32-wasi

# Install clang as we need it for c++ compiler
RUN apt install -y \
    clang

# Install wasi-sdk as we need it for c++ -> wasi compiler
RUN curl https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-linux.tar.gz -L -o wasi-sdk.tar.gz
RUN tar -xzf wasi-sdk.tar.gz
RUN mv wasi-sdk-20.0 /wasi-sdk && rm wasi-sdk.tar.gz

# Set environment variables for wasi-sdk
ENV WASI_SDK=/wasi-sdk

# Install wasmer as we need it for running the compiled wasm
# RUN curl https://get.wasmer.io -sSfL | sh

# Install python3 as we need it for python compiler
RUN apt install -y \
    python3 \
    python3-pip

# Clean apt cache
RUN rm -rf /var/lib/apt/lists/*